netfilter: xtables: use NFPROTO_ in standard targets
[safe/jmp/linux-2.6] / net / ipv6 / netfilter / Kconfig
index bb7ccfe..29d643b 100644 (file)
@@ -2,22 +2,35 @@
 # IP netfilter configuration
 #
 
-menu "IPv6: Netfilter Configuration (EXPERIMENTAL)"
-       depends on INET && IPV6 && NETFILTER && EXPERIMENTAL
+menu "IPv6: Netfilter Configuration"
+       depends on INET && IPV6 && NETFILTER
+
+config NF_CONNTRACK_IPV6
+       tristate "IPv6 connection tracking support"
+       depends on INET && IPV6 && NF_CONNTRACK
+       default m if NETFILTER_ADVANCED=n
+       ---help---
+         Connection tracking keeps a record of what packets have passed
+         through your machine, in order to figure out how they are related
+         into connections.
+
+         This is IPv6 support on Layer 3 independent connection tracking.
+         Layer 3 independent connection tracking is experimental scheme
+         which generalize ip_conntrack to support other layer 3 protocols.
+
+         To compile it as a module, choose M here.  If unsure, say N.
 
-#tristate 'Connection tracking (required for masq/NAT)' CONFIG_IP6_NF_CONNTRACK
-#if [ "$CONFIG_IP6_NF_CONNTRACK" != "n" ]; then
-#  dep_tristate '  FTP protocol support' CONFIG_IP6_NF_FTP $CONFIG_IP6_NF_CONNTRACK
-#fi
 config IP6_NF_QUEUE
        tristate "IP6 Userspace queueing via NETLINK (OBSOLETE)"
+       depends on INET && IPV6 && NETFILTER
+       depends on NETFILTER_ADVANCED
        ---help---
 
          This option adds a queue handler to the kernel for IPv6
          packets which enables users to receive the filtered packets
          with QUEUE target using libipq.
 
-         THis option enables the old IPv6-only "ip6_queue" implementation
+         This option enables the old IPv6-only "ip6_queue" implementation
          which has been obsoleted by the new "nfnetlink_queue" code (see
          CONFIG_NETFILTER_NETLINK_QUEUE).
 
@@ -30,7 +43,10 @@ config IP6_NF_QUEUE
          To compile it as a module, choose M here.  If unsure, say N.
 
 config IP6_NF_IPTABLES
-       tristate "IP6 tables support (required for filtering/masq/NAT)"
+       tristate "IP6 tables support (required for filtering)"
+       depends on INET && IPV6
+       select NETFILTER_XTABLES
+       default m if NETFILTER_ADVANCED=n
        help
          ip6tables is a general, extensible packet identification framework.
          Currently only the packet filtering and packet mangling subsystem
@@ -39,150 +55,102 @@ config IP6_NF_IPTABLES
 
          To compile it as a module, choose M here.  If unsure, say N.
 
+if IP6_NF_IPTABLES
+
 # The simple matches.
-config IP6_NF_MATCH_LIMIT
-       tristate "limit match support"
-       depends on IP6_NF_IPTABLES
+config IP6_NF_MATCH_AH
+       tristate '"ah" match support'
+       depends on NETFILTER_ADVANCED
        help
-         limit matching allows you to control the rate at which a rule can be
-         matched: mainly useful in combination with the LOG target ("LOG
-         target support", below) and to avoid some Denial of Service attacks.
+         This module allows one to match AH packets.
 
          To compile it as a module, choose M here.  If unsure, say N.
 
-config IP6_NF_MATCH_MAC
-       tristate "MAC address match support"
-       depends on IP6_NF_IPTABLES
+config IP6_NF_MATCH_EUI64
+       tristate '"eui64" address check'
+       depends on NETFILTER_ADVANCED
        help
-         mac matching allows you to match packets based on the source
-         Ethernet address of the packet.
+         This module performs checking on the IPv6 source address
+         Compares the last 64 bits with the EUI64 (delivered
+         from the MAC address) address
 
          To compile it as a module, choose M here.  If unsure, say N.
 
-config IP6_NF_MATCH_RT
-       tristate "Routing header match support"
-       depends on IP6_NF_IPTABLES
+config IP6_NF_MATCH_FRAG
+       tristate '"frag" Fragmentation header match support'
+       depends on NETFILTER_ADVANCED
        help
-         rt matching allows you to match packets based on the routing
+         frag matching allows you to match packets based on the fragmentation
          header of the packet.
 
          To compile it as a module, choose M here.  If unsure, say N.
 
 config IP6_NF_MATCH_OPTS
-       tristate "Hop-by-hop and Dst opts header match support"
-       depends on IP6_NF_IPTABLES
+       tristate '"hbh" hop-by-hop and "dst" opts header match support'
+       depends on NETFILTER_ADVANCED
        help
          This allows one to match packets based on the hop-by-hop
          and destination options headers of a packet.
 
          To compile it as a module, choose M here.  If unsure, say N.
 
-config IP6_NF_MATCH_FRAG
-       tristate "Fragmentation header match support"
-       depends on IP6_NF_IPTABLES
-       help
-         frag matching allows you to match packets based on the fragmentation
-         header of the packet.
-
-         To compile it as a module, choose M here.  If unsure, say N.
-
 config IP6_NF_MATCH_HL
-       tristate "HL match support"
-       depends on IP6_NF_IPTABLES
-       help
-         HL matching allows you to match packets based on the hop
-         limit of the packet.
-
-         To compile it as a module, choose M here.  If unsure, say N.
-
-config IP6_NF_MATCH_MULTIPORT
-       tristate "Multiple port match support"
-       depends on IP6_NF_IPTABLES
-       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 IP6_NF_MATCH_OWNER
-       tristate "Owner match support"
-       depends on IP6_NF_IPTABLES
-       help
-         Packet owner matching allows you to match locally-generated packets
-         based on who created them: the user, group, process or session.
-
-         To compile it as a module, choose M here.  If unsure, say N.
-
-#  dep_tristate '  MAC address match support' CONFIG_IP6_NF_MATCH_MAC $CONFIG_IP6_NF_IPTABLES
-config IP6_NF_MATCH_MARK
-       tristate "netfilter MARK match support"
-       depends on IP6_NF_IPTABLES
-       help
-         Netfilter mark matching allows you to match packets based on the
-         `nfmark' value in the packet.  This can be set by the MARK target
-         (see below).
-
-         To compile it as a module, choose M here.  If unsure, say N.
+       tristate '"hl" hoplimit match support'
+       depends on NETFILTER_ADVANCED
+       select NETFILTER_XT_MATCH_HL
+       ---help---
+       This is a backwards-compat option for the user's convenience
+       (e.g. when running oldconfig). It selects
+       CONFIG_NETFILTER_XT_MATCH_HL.
 
 config IP6_NF_MATCH_IPV6HEADER
-       tristate "IPv6 Extension Headers Match"
-       depends on IP6_NF_IPTABLES
+       tristate '"ipv6header" IPv6 Extension Headers Match'
+       default m if NETFILTER_ADVANCED=n
        help
          This module allows one to match packets based upon
          the ipv6 extension headers.
 
          To compile it as a module, choose M here.  If unsure, say N.
 
-config IP6_NF_MATCH_AHESP
-       tristate "AH/ESP match support"
-       depends on IP6_NF_IPTABLES
+config IP6_NF_MATCH_MH
+       tristate '"mh" match support'
+       depends on NETFILTER_ADVANCED
        help
-         This module allows one to match AH and ESP packets.
+         This module allows one to match MH packets.
 
          To compile it as a module, choose M here.  If unsure, say N.
 
-config IP6_NF_MATCH_LENGTH
-       tristate "Packet Length match support"
-       depends on IP6_NF_IPTABLES
+config IP6_NF_MATCH_RT
+       tristate '"rt" Routing header match support'
+       depends on NETFILTER_ADVANCED
        help
-         This option allows you to match the length of a packet against a
-         specific value or range of values.
+         rt matching allows you to match packets based on the routing
+         header of the packet.
 
          To compile it as a module, choose M here.  If unsure, say N.
 
-config IP6_NF_MATCH_EUI64
-       tristate "EUI64 address check"
-       depends on IP6_NF_IPTABLES
-       help
-         This module performs checking on the IPv6 source address
-         Compares the last 64 bits with the EUI64 (delivered
-         from the MAC address) address
-
-         To compile it as a module, choose M here.  If unsure, say N.
+# The targets
+config IP6_NF_TARGET_HL
+       tristate '"HL" hoplimit target support'
+       depends on NETFILTER_ADVANCED
+       select NETFILTER_XT_TARGET_HL
+       ---help---
+       This is a backwards-compat option for the user's convenience
+       (e.g. when running oldconfig). It selects
+       CONFIG_NETFILTER_XT_TARGET_HL.
 
-config IP6_NF_MATCH_PHYSDEV
-       tristate "Physdev match support"
-       depends on IP6_NF_IPTABLES && BRIDGE_NETFILTER
+config IP6_NF_TARGET_LOG
+       tristate "LOG target support"
+       default m if NETFILTER_ADVANCED=n
        help
-         Physdev packet matching matches against the physical bridge ports
-         the IP packet arrived on or will leave by.
+         This option adds a `LOG' target, which allows you to create rules in
+         any iptables table which records the packet header to the syslog.
 
          To compile it as a module, choose M here.  If unsure, say N.
 
-#  dep_tristate '  Multiple port match support' CONFIG_IP6_NF_MATCH_MULTIPORT $CONFIG_IP6_NF_IPTABLES
-#  dep_tristate '  TOS match support' CONFIG_IP6_NF_MATCH_TOS $CONFIG_IP6_NF_IPTABLES
-#  if [ "$CONFIG_IP6_NF_CONNTRACK" != "n" ]; then
-#    dep_tristate '  Connection state match support' CONFIG_IP6_NF_MATCH_STATE $CONFIG_IP6_NF_CONNTRACK $CONFIG_IP6_NF_IPTABLES 
-#  fi
-#  if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-#    dep_tristate '  Unclean match support (EXPERIMENTAL)' CONFIG_IP6_NF_MATCH_UNCLEAN $CONFIG_IP6_NF_IPTABLES
-#    dep_tristate '  Owner match support (EXPERIMENTAL)' CONFIG_IP6_NF_MATCH_OWNER $CONFIG_IP6_NF_IPTABLES
-#  fi
-# The targets
 config IP6_NF_FILTER
        tristate "Packet filtering"
-       depends on IP6_NF_IPTABLES
+       default m if NETFILTER_ADVANCED=n
        help
          Packet filtering defines a table `filter', which has a series of
          rules for simple packet filtering at local input, forwarding and
@@ -190,18 +158,10 @@ config IP6_NF_FILTER
 
          To compile it as a module, choose M here.  If unsure, say N.
 
-config IP6_NF_TARGET_LOG
-       tristate "LOG target support"
-       depends on IP6_NF_FILTER
-       help
-         This option adds a `LOG' target, which allows you to create rules in
-         any iptables table which records the packet header to the syslog.
-
-         To compile it as a module, choose M here.  If unsure, say N.
-
 config IP6_NF_TARGET_REJECT
        tristate "REJECT target support"
        depends on IP6_NF_FILTER
+       default m if NETFILTER_ADVANCED=n
        help
          The REJECT target allows a filtering rule to specify that an ICMPv6
          error should be issued in response to an incoming packet, rather
@@ -209,26 +169,9 @@ config IP6_NF_TARGET_REJECT
 
          To compile it as a module, choose M here.  If unsure, say N.
 
-config IP6_NF_TARGET_NFQUEUE
-       tristate "NFQUEUE Target Support"
-       depends on IP_NF_IPTABLES
-       help
-         This Target replaced the old obsolete QUEUE target.
-
-         As opposed to QUEUE, it supports 65535 different queues,
-         not just one.
-
-         To compile it as a module, choose M here.  If unsure, say N.
-
-#  if [ "$CONFIG_IP6_NF_FILTER" != "n" ]; then
-#    dep_tristate '    REJECT target support' CONFIG_IP6_NF_TARGET_REJECT $CONFIG_IP6_NF_FILTER
-#    if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-#      dep_tristate '    MIRROR target support (EXPERIMENTAL)' CONFIG_IP6_NF_TARGET_MIRROR $CONFIG_IP6_NF_FILTER
-#    fi
-#  fi
 config IP6_NF_MANGLE
        tristate "Packet mangling"
-       depends on IP6_NF_IPTABLES
+       default m if NETFILTER_ADVANCED=n
        help
          This option adds a `mangle' table to iptables: see the man page for
          iptables(8).  This table is used for various packet alterations
@@ -236,47 +179,29 @@ config IP6_NF_MANGLE
 
          To compile it as a module, choose M here.  If unsure, say N.
 
-#    dep_tristate '    TOS target support' CONFIG_IP6_NF_TARGET_TOS $CONFIG_IP_NF_MANGLE
-config IP6_NF_TARGET_MARK
-       tristate "MARK target support"
-       depends on IP6_NF_MANGLE
-       help
-         This option adds a `MARK' target, which allows you to create rules
-         in the `mangle' table which alter the netfilter mark (nfmark) field
-         associated with the packet packet prior to routing. This can change
-         the routing method (see `Use netfilter MARK value as routing
-         key') and can also be used by other subsystems to change their
-         behavior.
-
-         To compile it as a module, choose M here.  If unsure, say N.
-
-config IP6_NF_TARGET_HL
-       tristate  'HL (hoplimit) target support'
-       depends on IP6_NF_MANGLE
-       help
-         This option adds a `HL' target, which enables the user to decrement
-         the hoplimit value of the IPv6 header or set it to a given (lower)
-         value.
-       
-         While it is safe to decrement the hoplimit value, this option also
-         enables functionality to increment and set the hoplimit value of the
-         IPv6 header to arbitrary values.  This is EXTREMELY DANGEROUS since
-         you can easily create immortal packets that loop forever on the
-         network.  
-
-         To compile it as a module, choose M here.  If unsure, say N.
-
-#dep_tristate '  LOG target support' CONFIG_IP6_NF_TARGET_LOG $CONFIG_IP6_NF_IPTABLES
 config IP6_NF_RAW
        tristate  'raw table support (required for TRACE)'
-       depends on IP6_NF_IPTABLES
+       depends on NETFILTER_ADVANCED
        help
          This option adds a `raw' table to ip6tables. This table is the very
          first in the netfilter framework and hooks in at the PREROUTING
          and OUTPUT chains.
-       
+
          If you want to compile it as a module, say M here and read
-         <file:Documentation/modules.txt>.  If unsure, say `N'.
+         <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
+
+# security table for MAC policy
+config IP6_NF_SECURITY
+       tristate "Security table"
+       depends on SECURITY
+       depends on NETFILTER_ADVANCED
+       help
+         This option adds a `security' table to iptables, for use
+         with Mandatory Access Control (MAC) policy.
+        
+         If unsure, say N.
+
+endif # IP6_NF_IPTABLES
 
 endmenu