Merge branch 'master' of /repos/git/net-next-2.6
[safe/jmp/linux-2.6] / net / netfilter / Kconfig
index 316c7af..4469d45 100644 (file)
@@ -38,10 +38,11 @@ config NF_CONNTRACK
 
          To compile it as a module, choose M here.  If unsure, say N.
 
+if NF_CONNTRACK
+
 config NF_CT_ACCT
        bool "Connection tracking flow accounting"
        depends on NETFILTER_ADVANCED
-       depends on NF_CONNTRACK
        help
          If this option is enabled, the connection tracking code will
          keep per-flow packet and byte counters.
@@ -49,12 +50,20 @@ config NF_CT_ACCT
          Those counters can be used for flow-based accounting or the
          `connbytes' match.
 
+         Please note that currently this option only sets a default state.
+         You may change it at boot time with nf_conntrack.acct=0/1 kernel
+         parameter or by loading the nf_conntrack module with acct=0/1.
+
+         You may also disable/enable it on a running system with:
+          sysctl net.netfilter.nf_conntrack_acct=0/1
+
+         This option will be removed in 2.6.29.
+
          If unsure, say `N'.
 
 config NF_CONNTRACK_MARK
        bool  'Connection mark tracking support'
        depends on NETFILTER_ADVANCED
-       depends on NF_CONNTRACK
        help
          This option enables support for connection marks, used by the
          `CONNMARK' target and `connmark' match. Similar to the mark value
@@ -63,7 +72,7 @@ config NF_CONNTRACK_MARK
 
 config NF_CONNTRACK_SECMARK
        bool  'Connection tracking security mark support'
-       depends on NF_CONNTRACK && NETWORK_SECMARK
+       depends on NETWORK_SECMARK
        default m if NETFILTER_ADVANCED=n
        help
          This option enables security markings to be applied to
@@ -76,7 +85,6 @@ config NF_CONNTRACK_SECMARK
 
 config NF_CONNTRACK_EVENTS
        bool "Connection tracking events"
-       depends on NF_CONNTRACK
        depends on NETFILTER_ADVANCED
        help
          If this option is enabled, the connection tracking code will
@@ -87,7 +95,7 @@ config NF_CONNTRACK_EVENTS
 
 config NF_CT_PROTO_DCCP
        tristate 'DCCP protocol connection tracking support (EXPERIMENTAL)'
-       depends on EXPERIMENTAL && NF_CONNTRACK
+       depends on EXPERIMENTAL
        depends on NETFILTER_ADVANCED
        default IP_DCCP
        help
@@ -98,11 +106,10 @@ config NF_CT_PROTO_DCCP
 
 config NF_CT_PROTO_GRE
        tristate
-       depends on NF_CONNTRACK
 
 config NF_CT_PROTO_SCTP
        tristate 'SCTP protocol connection tracking support (EXPERIMENTAL)'
-       depends on EXPERIMENTAL && NF_CONNTRACK
+       depends on EXPERIMENTAL
        depends on NETFILTER_ADVANCED
        default IP_SCTP
        help
@@ -114,7 +121,6 @@ config NF_CT_PROTO_SCTP
 
 config NF_CT_PROTO_UDPLITE
        tristate 'UDP-Lite protocol connection tracking support'
-       depends on NF_CONNTRACK
        depends on NETFILTER_ADVANCED
        help
          With this option enabled, the layer 3 independent connection
@@ -125,7 +131,6 @@ config NF_CT_PROTO_UDPLITE
 
 config NF_CONNTRACK_AMANDA
        tristate "Amanda backup protocol support"
-       depends on NF_CONNTRACK
        depends on NETFILTER_ADVANCED
        select TEXTSEARCH
        select TEXTSEARCH_KMP
@@ -141,7 +146,6 @@ config NF_CONNTRACK_AMANDA
 
 config NF_CONNTRACK_FTP
        tristate "FTP protocol support"
-       depends on NF_CONNTRACK
        default m if NETFILTER_ADVANCED=n
        help
          Tracking FTP connections is problematic: special helpers are
@@ -156,7 +160,7 @@ config NF_CONNTRACK_FTP
 
 config NF_CONNTRACK_H323
        tristate "H.323 protocol support"
-       depends on NF_CONNTRACK && (IPV6 || IPV6=n)
+       depends on (IPV6 || IPV6=n)
        depends on NETFILTER_ADVANCED
        help
          H.323 is a VoIP signalling protocol from ITU-T. As one of the most
@@ -176,7 +180,6 @@ config NF_CONNTRACK_H323
 
 config NF_CONNTRACK_IRC
        tristate "IRC protocol support"
-       depends on NF_CONNTRACK
        default m if NETFILTER_ADVANCED=n
        help
          There is a commonly-used extension to IRC called
@@ -192,7 +195,6 @@ config NF_CONNTRACK_IRC
 
 config NF_CONNTRACK_NETBIOS_NS
        tristate "NetBIOS name service protocol support"
-       depends on NF_CONNTRACK
        depends on NETFILTER_ADVANCED
        help
          NetBIOS name service requests are sent as broadcast messages from an
@@ -212,7 +214,6 @@ config NF_CONNTRACK_NETBIOS_NS
 
 config NF_CONNTRACK_PPTP
        tristate "PPtP protocol support"
-       depends on NF_CONNTRACK
        depends on NETFILTER_ADVANCED
        select NF_CT_PROTO_GRE
        help
@@ -232,7 +233,7 @@ config NF_CONNTRACK_PPTP
 
 config NF_CONNTRACK_SANE
        tristate "SANE protocol support (EXPERIMENTAL)"
-       depends on EXPERIMENTAL && NF_CONNTRACK
+       depends on EXPERIMENTAL
        depends on NETFILTER_ADVANCED
        help
          SANE is a protocol for remote access to scanners as implemented
@@ -246,7 +247,6 @@ config NF_CONNTRACK_SANE
 
 config NF_CONNTRACK_SIP
        tristate "SIP protocol support"
-       depends on NF_CONNTRACK
        default m if NETFILTER_ADVANCED=n
        help
          SIP is an application-layer control protocol that can establish,
@@ -259,7 +259,6 @@ config NF_CONNTRACK_SIP
 
 config NF_CONNTRACK_TFTP
        tristate "TFTP protocol support"
-       depends on NF_CONNTRACK
        depends on NETFILTER_ADVANCED
        help
          TFTP connection tracking helper, this is required depending
@@ -271,13 +270,28 @@ config NF_CONNTRACK_TFTP
 
 config NF_CT_NETLINK
        tristate 'Connection tracking netlink interface'
-       depends on NF_CONNTRACK
        select NETFILTER_NETLINK
-       depends on NF_NAT=n || NF_NAT
        default m if NETFILTER_ADVANCED=n
        help
          This option enables support for a netlink-based userspace interface
 
+endif # NF_CONNTRACK
+
+# transparent proxy support
+config NETFILTER_TPROXY
+       tristate "Transparent proxying support (EXPERIMENTAL)"
+       depends on EXPERIMENTAL
+       depends on IP_NF_MANGLE
+       depends on NETFILTER_ADVANCED
+       help
+         This option enables transparent proxying support, that is,
+         support for handling non-locally bound IPv4 TCP and UDP sockets.
+         For it to work you will have to configure certain iptables rules
+         and use policy routing. For more information on how to set it up
+         see Documentation/networking/tproxy.txt.
+
+         To compile it as a module, choose M here.  If unsure, say N.
+
 config NETFILTER_XTABLES
        tristate "Netfilter Xtables support (required for ip_tables)"
        default m if NETFILTER_ADVANCED=n
@@ -285,11 +299,12 @@ config NETFILTER_XTABLES
          This is required if you intend to use any of ip_tables,
          ip6_tables or arp_tables.
 
+if NETFILTER_XTABLES
+
 # alphabetically ordered list of targets
 
 config NETFILTER_XT_TARGET_CLASSIFY
        tristate '"CLASSIFY" target support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        help
          This option adds a `CLASSIFY' target, which enables the user to set
@@ -302,8 +317,6 @@ config NETFILTER_XT_TARGET_CLASSIFY
 
 config NETFILTER_XT_TARGET_CONNMARK
        tristate  '"CONNMARK" target support'
-       depends on NETFILTER_XTABLES
-       depends on IP_NF_MANGLE || IP6_NF_MANGLE
        depends on NF_CONNTRACK
        depends on NETFILTER_ADVANCED
        select NF_CONNTRACK_MARK
@@ -314,11 +327,34 @@ config NETFILTER_XT_TARGET_CONNMARK
 
          If you want to compile it as a module, say M here and read
          <file:Documentation/kbuild/modules.txt>.  The module will be called
-         ipt_CONNMARK.ko.  If unsure, say `N'.
+         ipt_CONNMARK.  If unsure, say `N'.
+
+config NETFILTER_XT_TARGET_CONNSECMARK
+       tristate '"CONNSECMARK" target support'
+       depends on NF_CONNTRACK && NF_CONNTRACK_SECMARK
+       default m if NETFILTER_ADVANCED=n
+       help
+         The CONNSECMARK target copies security markings from packets
+         to connections, and restores security markings from connections
+         to packets (if the packets are not already marked).  This would
+         normally be used in conjunction with the SECMARK target.
+
+         To compile it as a module, choose M here.  If unsure, say N.
+
+config NETFILTER_XT_TARGET_CT
+       tristate '"CT" target support'
+       depends on NF_CONNTRACK
+       depends on IP_NF_RAW || IP6_NF_RAW
+       depends on NETFILTER_ADVANCED
+       help
+         This options adds a `CT' target, which allows to specify initial
+         connection tracking parameters like events to be delivered and
+         the helper to be used.
+
+         To compile it as a module, choose M here.  If unsure, say N.
 
 config NETFILTER_XT_TARGET_DSCP
        tristate '"DSCP" and "TOS" target support'
-       depends on NETFILTER_XTABLES
        depends on IP_NF_MANGLE || IP6_NF_MANGLE
        depends on NETFILTER_ADVANCED
        help
@@ -333,9 +369,47 @@ config NETFILTER_XT_TARGET_DSCP
 
          To compile it as a module, choose M here.  If unsure, say N.
 
+config NETFILTER_XT_TARGET_HL
+       tristate '"HL" hoplimit target support'
+       depends on IP_NF_MANGLE || IP6_NF_MANGLE
+       depends on NETFILTER_ADVANCED
+       ---help---
+       This option adds the "HL" (for IPv6) and "TTL" (for IPv4)
+       targets, which enable the user to change the
+       hoplimit/time-to-live value of the IP header.
+
+       While it is safe to decrement the hoplimit/TTL value, the
+       modules also allow to increment and set the hoplimit value of
+       the header to arbitrary values. This is EXTREMELY DANGEROUS
+       since you can easily create immortal packets that loop
+       forever on the network.
+
+config NETFILTER_XT_TARGET_LED
+       tristate '"LED" target support'
+       depends on LEDS_CLASS && LEDS_TRIGGERS
+       depends on NETFILTER_ADVANCED
+       help
+         This option adds a `LED' target, which allows you to blink LEDs in
+         response to particular packets passing through your machine.
+
+         This can be used to turn a spare LED into a network activity LED,
+         which only flashes in response to FTP transfers, for example.  Or
+         you could have an LED which lights up for a minute or two every time
+         somebody connects to your machine via SSH.
+
+         You will need support for the "led" class to make this work.
+
+         To create an LED trigger for incoming SSH traffic:
+           iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000
+
+         Then attach the new trigger to an LED on your system:
+           echo netfilter-ssh > /sys/class/leds/<ledname>/trigger
+
+         For more information on the LEDs available on your system, see
+         Documentation/leds-class.txt
+
 config NETFILTER_XT_TARGET_MARK
        tristate '"MARK" target support'
-       depends on NETFILTER_XTABLES
        default m if NETFILTER_ADVANCED=n
        help
          This option adds a `MARK' target, which allows you to create rules
@@ -347,9 +421,18 @@ config NETFILTER_XT_TARGET_MARK
 
          To compile it as a module, choose M here.  If unsure, say N.
 
+config NETFILTER_XT_TARGET_NFLOG
+       tristate '"NFLOG" target support'
+       default m if NETFILTER_ADVANCED=n
+       select NETFILTER_NETLINK_LOG
+       help
+         This option enables the NFLOG target, which allows to LOG
+         messages through nfnetlink_log.
+
+         To compile it as a module, choose M here.  If unsure, say N.
+
 config NETFILTER_XT_TARGET_NFQUEUE
        tristate '"NFQUEUE" target Support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        help
          This target replaced the old obsolete QUEUE target.
@@ -359,21 +442,8 @@ config NETFILTER_XT_TARGET_NFQUEUE
 
          To compile it as a module, choose M here.  If unsure, say N.
 
-config NETFILTER_XT_TARGET_NFLOG
-       tristate '"NFLOG" target support'
-       depends on NETFILTER_XTABLES
-       default m if NETFILTER_ADVANCED=n
-       help
-         This option enables the NFLOG target, which allows to LOG
-         messages through the netfilter logging API, which can use
-         either the old LOG target, the old ULOG target or nfnetlink_log
-         as backend.
-
-         To compile it as a module, choose M here.  If unsure, say N.
-
 config NETFILTER_XT_TARGET_NOTRACK
        tristate  '"NOTRACK" target support'
-       depends on NETFILTER_XTABLES
        depends on IP_NF_RAW || IP6_NF_RAW
        depends on NF_CONNTRACK
        depends on NETFILTER_ADVANCED
@@ -388,7 +458,6 @@ config NETFILTER_XT_TARGET_NOTRACK
 
 config NETFILTER_XT_TARGET_RATEEST
        tristate '"RATEEST" target support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        help
          This option adds a `RATEEST' target, which allows to measure
@@ -397,9 +466,23 @@ config NETFILTER_XT_TARGET_RATEEST
 
          To compile it as a module, choose M here.  If unsure, say N.
 
+config NETFILTER_XT_TARGET_TPROXY
+       tristate '"TPROXY" target support (EXPERIMENTAL)'
+       depends on EXPERIMENTAL
+       depends on NETFILTER_TPROXY
+       depends on NETFILTER_XTABLES
+       depends on NETFILTER_ADVANCED
+       select NF_DEFRAG_IPV4
+       help
+         This option adds a `TPROXY' target, which is somewhat similar to
+         REDIRECT.  It can only be used in the mangle table and is useful
+         to redirect traffic to a transparent proxy.  It does _not_ depend
+         on Netfilter connection tracking and NAT, unlike REDIRECT.
+
+         To compile it as a module, choose M here.  If unsure, say N.
+
 config NETFILTER_XT_TARGET_TRACE
        tristate  '"TRACE" target support'
-       depends on NETFILTER_XTABLES
        depends on IP_NF_RAW || IP6_NF_RAW
        depends on NETFILTER_ADVANCED
        help
@@ -412,7 +495,7 @@ config NETFILTER_XT_TARGET_TRACE
 
 config NETFILTER_XT_TARGET_SECMARK
        tristate '"SECMARK" target support'
-       depends on NETFILTER_XTABLES && NETWORK_SECMARK
+       depends on NETWORK_SECMARK
        default m if NETFILTER_ADVANCED=n
        help
          The SECMARK target allows security marking of network
@@ -420,21 +503,9 @@ config NETFILTER_XT_TARGET_SECMARK
 
          To compile it as a module, choose M here.  If unsure, say N.
 
-config NETFILTER_XT_TARGET_CONNSECMARK
-       tristate '"CONNSECMARK" target support'
-       depends on NETFILTER_XTABLES && NF_CONNTRACK && NF_CONNTRACK_SECMARK
-       default m if NETFILTER_ADVANCED=n
-       help
-         The CONNSECMARK target copies security markings from packets
-         to connections, and restores security markings from connections
-         to packets (if the packets are not already marked).  This would
-         normally be used in conjunction with the SECMARK target.
-
-         To compile it as a module, choose M here.  If unsure, say N.
-
 config NETFILTER_XT_TARGET_TCPMSS
        tristate '"TCPMSS" target support'
-       depends on NETFILTER_XTABLES && (IPV6 || IPV6=n)
+       depends on (IPV6 || IPV6=n)
        default m if NETFILTER_ADVANCED=n
        ---help---
          This option adds a `TCPMSS' target, which allows you to alter the
@@ -461,16 +532,31 @@ config NETFILTER_XT_TARGET_TCPMSS
 
 config NETFILTER_XT_TARGET_TCPOPTSTRIP
        tristate '"TCPOPTSTRIP" target support (EXPERIMENTAL)'
-       depends on EXPERIMENTAL && NETFILTER_XTABLES
+       depends on EXPERIMENTAL
        depends on IP_NF_MANGLE || IP6_NF_MANGLE
        depends on NETFILTER_ADVANCED
        help
          This option adds a "TCPOPTSTRIP" target, which allows you to strip
          TCP options from TCP packets.
 
+config NETFILTER_XT_MATCH_CLUSTER
+       tristate '"cluster" match support'
+       depends on NF_CONNTRACK
+       depends on NETFILTER_ADVANCED
+       ---help---
+         This option allows you to build work-load-sharing clusters of
+         network servers/stateful firewalls without having a dedicated
+         load-balancing router/server/switch. Basically, this match returns
+         true when the packet must be handled by this cluster node. Thus,
+         all nodes see all packets and this match decides which node handles
+         what packets. The work-load sharing algorithm is based on source
+         address hashing.
+
+         If you say Y or M here, try `iptables -m cluster --help` for
+         more information.
+
 config NETFILTER_XT_MATCH_COMMENT
        tristate  '"comment" match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        help
          This option adds a `comment' dummy-match, which allows you to put
@@ -481,7 +567,6 @@ config NETFILTER_XT_MATCH_COMMENT
 
 config NETFILTER_XT_MATCH_CONNBYTES
        tristate  '"connbytes" per-connection counter match support'
-       depends on NETFILTER_XTABLES
        depends on NF_CONNTRACK
        depends on NETFILTER_ADVANCED
        select NF_CT_ACCT
@@ -494,7 +579,6 @@ config NETFILTER_XT_MATCH_CONNBYTES
 
 config NETFILTER_XT_MATCH_CONNLIMIT
        tristate '"connlimit" match support"'
-       depends on NETFILTER_XTABLES
        depends on NF_CONNTRACK
        depends on NETFILTER_ADVANCED
        ---help---
@@ -503,7 +587,6 @@ config NETFILTER_XT_MATCH_CONNLIMIT
 
 config NETFILTER_XT_MATCH_CONNMARK
        tristate  '"connmark" connection mark match support'
-       depends on NETFILTER_XTABLES
        depends on NF_CONNTRACK
        depends on NETFILTER_ADVANCED
        select NF_CONNTRACK_MARK
@@ -513,11 +596,10 @@ config NETFILTER_XT_MATCH_CONNMARK
 
          If you want to compile it as a module, say M here and read
          <file:Documentation/kbuild/modules.txt>.  The module will be called
-         ipt_connmark.ko.  If unsure, say `N'.
+         ipt_connmark.  If unsure, say `N'.
 
 config NETFILTER_XT_MATCH_CONNTRACK
        tristate '"conntrack" connection tracking match support'
-       depends on NETFILTER_XTABLES
        depends on NF_CONNTRACK
        default m if NETFILTER_ADVANCED=n
        help
@@ -531,7 +613,6 @@ config NETFILTER_XT_MATCH_CONNTRACK
 
 config NETFILTER_XT_MATCH_DCCP
        tristate '"dccp" protocol match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        default IP_DCCP
        help
@@ -544,7 +625,6 @@ config NETFILTER_XT_MATCH_DCCP
 
 config NETFILTER_XT_MATCH_DSCP
        tristate '"dscp" and "tos" match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        help
          This option adds a `DSCP' match, which allows you to match against
@@ -560,7 +640,6 @@ config NETFILTER_XT_MATCH_DSCP
 
 config NETFILTER_XT_MATCH_ESP
        tristate '"esp" match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        help
          This match extension allows you to match a range of SPIs
@@ -568,9 +647,23 @@ config NETFILTER_XT_MATCH_ESP
 
          To compile it as a module, choose M here.  If unsure, say N.
 
+config NETFILTER_XT_MATCH_HASHLIMIT
+       tristate '"hashlimit" match support'
+       depends on (IP6_NF_IPTABLES || IP6_NF_IPTABLES=n)
+       depends on NETFILTER_ADVANCED
+       help
+         This option adds a `hashlimit' match.
+
+         As opposed to `limit', this match dynamically creates a hash table
+         of limit buckets, based on your selection of source/destination
+         addresses and/or ports.
+
+         It enables you to express policies like `10kpps for any given
+         destination address' or `500pps from any given source address'
+         with a single rule.
+
 config NETFILTER_XT_MATCH_HELPER
        tristate '"helper" match support'
-       depends on NETFILTER_XTABLES
        depends on NF_CONNTRACK
        depends on NETFILTER_ADVANCED
        help
@@ -579,9 +672,16 @@ config NETFILTER_XT_MATCH_HELPER
 
          To compile it as a module, choose M here.  If unsure, say Y.
 
+config NETFILTER_XT_MATCH_HL
+       tristate '"hl" hoplimit/TTL match support'
+       depends on NETFILTER_ADVANCED
+       ---help---
+       HL matching allows you to match packets based on the hoplimit
+       in the IPv6 header, or the time-to-live field in the IPv4
+       header of the packet.
+
 config NETFILTER_XT_MATCH_IPRANGE
        tristate '"iprange" address range match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        ---help---
        This option adds a "iprange" match, which allows you to match based on
@@ -592,7 +692,6 @@ config NETFILTER_XT_MATCH_IPRANGE
 
 config NETFILTER_XT_MATCH_LENGTH
        tristate '"length" match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        help
          This option allows you to match the length of a packet against a
@@ -602,7 +701,6 @@ config NETFILTER_XT_MATCH_LENGTH
 
 config NETFILTER_XT_MATCH_LIMIT
        tristate '"limit" match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        help
          limit matching allows you to control the rate at which a rule can be
@@ -613,7 +711,6 @@ config NETFILTER_XT_MATCH_LIMIT
 
 config NETFILTER_XT_MATCH_MAC
        tristate '"mac" address match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        help
          MAC matching allows you to match packets based on the source
@@ -623,7 +720,6 @@ config NETFILTER_XT_MATCH_MAC
 
 config NETFILTER_XT_MATCH_MARK
        tristate '"mark" match support'
-       depends on NETFILTER_XTABLES
        default m if NETFILTER_ADVANCED=n
        help
          Netfilter mark matching allows you to match packets based on the
@@ -632,9 +728,18 @@ config NETFILTER_XT_MATCH_MARK
 
          To compile it as a module, choose M here.  If unsure, say N.
 
+config NETFILTER_XT_MATCH_MULTIPORT
+       tristate '"multiport" Multiple port match support'
+       depends on NETFILTER_ADVANCED
+       help
+         Multiport matching allows you to match TCP or UDP packets based on
+         a series of source or destination ports: normally a rule can only
+         match a single range of ports.
+
+         To compile it as a module, choose M here.  If unsure, say N.
+
 config NETFILTER_XT_MATCH_OWNER
        tristate '"owner" match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        ---help---
        Socket owner matching allows you to match locally-generated packets
@@ -643,7 +748,7 @@ config NETFILTER_XT_MATCH_OWNER
 
 config NETFILTER_XT_MATCH_POLICY
        tristate 'IPsec "policy" match support'
-       depends on NETFILTER_XTABLES && XFRM
+       depends on XFRM
        default m if NETFILTER_ADVANCED=n
        help
          Policy matching allows you to match packets based on the
@@ -652,20 +757,9 @@ config NETFILTER_XT_MATCH_POLICY
 
          To compile it as a module, choose M here.  If unsure, say N.
 
-config NETFILTER_XT_MATCH_MULTIPORT
-       tristate '"multiport" Multiple port match support'
-       depends on NETFILTER_XTABLES
-       depends on NETFILTER_ADVANCED
-       help
-         Multiport matching allows you to match TCP or UDP packets based on
-         a series of source or destination ports: normally a rule can only
-         match a single range of ports.
-
-         To compile it as a module, choose M here.  If unsure, say N.
-
 config NETFILTER_XT_MATCH_PHYSDEV
        tristate '"physdev" match support'
-       depends on NETFILTER_XTABLES && BRIDGE && BRIDGE_NETFILTER
+       depends on BRIDGE && BRIDGE_NETFILTER
        depends on NETFILTER_ADVANCED
        help
          Physdev packet matching matches against the physical bridge ports
@@ -675,7 +769,6 @@ config NETFILTER_XT_MATCH_PHYSDEV
 
 config NETFILTER_XT_MATCH_PKTTYPE
        tristate '"pkttype" packet type match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        help
          Packet type matching allows you to match a packet by
@@ -688,7 +781,6 @@ config NETFILTER_XT_MATCH_PKTTYPE
 
 config NETFILTER_XT_MATCH_QUOTA
        tristate '"quota" match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        help
          This option adds a `quota' match, which allows to match on a
@@ -699,7 +791,6 @@ config NETFILTER_XT_MATCH_QUOTA
 
 config NETFILTER_XT_MATCH_RATEEST
        tristate '"rateest" match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        select NETFILTER_XT_TARGET_RATEEST
        help
@@ -710,7 +801,6 @@ config NETFILTER_XT_MATCH_RATEEST
 
 config NETFILTER_XT_MATCH_REALM
        tristate  '"realm" match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        select NET_CLS_ROUTE
        help
@@ -723,9 +813,26 @@ config NETFILTER_XT_MATCH_REALM
          If you want to compile it as a module, say M here and read
          <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
 
+config NETFILTER_XT_MATCH_RECENT
+       tristate '"recent" match support'
+       depends on NETFILTER_ADVANCED
+       ---help---
+       This match is used for creating one or many lists of recently
+       used addresses and then matching against that/those list(s).
+
+       Short options are available by using 'iptables -m recent -h'
+       Official Website: <http://snowman.net/projects/ipt_recent/>
+
+config NETFILTER_XT_MATCH_RECENT_PROC_COMPAT
+       bool 'Enable obsolete /proc/net/ipt_recent'
+       depends on NETFILTER_XT_MATCH_RECENT && PROC_FS
+       ---help---
+       This option enables the old /proc/net/ipt_recent interface,
+       which has been obsoleted by /proc/net/xt_recent.
+
 config NETFILTER_XT_MATCH_SCTP
        tristate  '"sctp" protocol match support (EXPERIMENTAL)'
-       depends on NETFILTER_XTABLES && EXPERIMENTAL
+       depends on EXPERIMENTAL
        depends on NETFILTER_ADVANCED
        default IP_SCTP
        help
@@ -736,9 +843,24 @@ config NETFILTER_XT_MATCH_SCTP
          If you want to compile it as a module, say M here and read
          <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
 
+config NETFILTER_XT_MATCH_SOCKET
+       tristate '"socket" match support (EXPERIMENTAL)'
+       depends on EXPERIMENTAL
+       depends on NETFILTER_TPROXY
+       depends on NETFILTER_XTABLES
+       depends on NETFILTER_ADVANCED
+       depends on !NF_CONNTRACK || NF_CONNTRACK
+       select NF_DEFRAG_IPV4
+       help
+         This option adds a `socket' match, which can be used to match
+         packets for which a TCP or UDP socket lookup finds a valid socket.
+         It can be used in combination with the MARK target and policy
+         routing to implement full featured non-locally bound sockets.
+
+         To compile it as a module, choose M here.  If unsure, say N.
+
 config NETFILTER_XT_MATCH_STATE
        tristate '"state" match support'
-       depends on NETFILTER_XTABLES
        depends on NF_CONNTRACK
        default m if NETFILTER_ADVANCED=n
        help
@@ -750,7 +872,6 @@ config NETFILTER_XT_MATCH_STATE
 
 config NETFILTER_XT_MATCH_STATISTIC
        tristate '"statistic" match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        help
          This option adds a `statistic' match, which allows you to match
@@ -760,7 +881,6 @@ config NETFILTER_XT_MATCH_STATISTIC
 
 config NETFILTER_XT_MATCH_STRING
        tristate  '"string" match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        select TEXTSEARCH
        select TEXTSEARCH_KMP
@@ -774,7 +894,6 @@ config NETFILTER_XT_MATCH_STRING
 
 config NETFILTER_XT_MATCH_TCPMSS
        tristate '"tcpmss" match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        help
          This option adds a `tcpmss' match, which allows you to examine the
@@ -785,7 +904,6 @@ config NETFILTER_XT_MATCH_TCPMSS
 
 config NETFILTER_XT_MATCH_TIME
        tristate '"time" match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        ---help---
          This option adds a "time" match, which allows you to match based on
@@ -800,7 +918,6 @@ config NETFILTER_XT_MATCH_TIME
 
 config NETFILTER_XT_MATCH_U32
        tristate '"u32" match support'
-       depends on NETFILTER_XTABLES
        depends on NETFILTER_ADVANCED
        ---help---
          u32 allows you to extract quantities of up to 4 bytes from a packet,
@@ -812,20 +929,21 @@ config NETFILTER_XT_MATCH_U32
 
          Details and examples are in the kernel module source.
 
-config NETFILTER_XT_MATCH_HASHLIMIT
-       tristate '"hashlimit" match support'
-       depends on NETFILTER_XTABLES && (IP6_NF_IPTABLES || IP6_NF_IPTABLES=n)
-       depends on NETFILTER_ADVANCED
+config NETFILTER_XT_MATCH_OSF
+       tristate '"osf" Passive OS fingerprint match'
+       depends on NETFILTER_ADVANCED && NETFILTER_NETLINK
        help
-         This option adds a `hashlimit' match.
+         This option selects the Passive OS Fingerprinting match module
+         that allows to passively match the remote operating system by
+         analyzing incoming TCP SYN packets.
 
-         As opposed to `limit', this match dynamically creates a hash table
-         of limit buckets, based on your selection of source/destination
-         addresses and/or ports.
+         Rules and loading software can be downloaded from
+         http://www.ioremap.net/projects/osf
 
-         It enables you to express policies like `10kpps for any given
-         destination address' or `500pps from any given source address'
-         with a single rule.
+         To compile it as a module, choose M here.  If unsure, say N.
+
+endif # NETFILTER_XTABLES
 
 endmenu
 
+source "net/netfilter/ipvs/Kconfig"