tunnels: fix netns vs proto registration ordering
[safe/jmp/linux-2.6] / net / ipv6 / Kconfig
index 82f987b..a578096 100644 (file)
@@ -3,7 +3,7 @@
 #
 
 #   IPv6 as module will cause a CRASH if you try to unload it
-config IPV6
+menuconfig IPV6
        tristate "The IPv6 protocol"
        default m
        ---help---
@@ -19,19 +19,20 @@ config IPV6
          To compile this protocol support as a module, choose M here: the 
          module will be called ipv6.
 
+if IPV6
+
 config IPV6_PRIVACY
-       bool "IPv6: Privacy Extensions support"
-       depends on IPV6
+       bool "IPv6: Privacy Extensions (RFC 3041) support"
        ---help---
          Privacy Extensions for Stateless Address Autoconfiguration in IPv6
-         support.  With this option, additional periodically-alter 
-         pseudo-random global-scope unicast address(es) will assigned to
+         support.  With this option, additional periodically-altered
+         pseudo-random global-scope unicast address(es) will be assigned to
          your interface(s).
        
-         We use our standard pseudo random algorithm to generate randomized
-         interface identifier, instead of one described in RFC 3041.
+         We use our standard pseudo-random algorithm to generate the
+          randomized interface identifier, instead of one described in RFC 3041.
 
-         By default, kernel do not generate temporary addresses.
+         By default the kernel does not generate temporary addresses.
          To use temporary addresses, do
        
                echo 2 >/proc/sys/net/ipv6/conf/all/use_tempaddr 
@@ -40,12 +41,11 @@ config IPV6_PRIVACY
 
 config IPV6_ROUTER_PREF
        bool "IPv6: Router Preference (RFC 4191) support"
-       depends on IPV6
        ---help---
          Router Preference is an optional extension to the Router
-         Advertisement message to improve the ability of hosts
-         to pick more appropriate router, especially when the hosts
-         is placed in a multi-homed network.
+         Advertisement message which improves the ability of hosts
+         to pick an appropriate router, especially when the hosts
+         are placed in a multi-homed network.
 
          If unsure, say N.
 
@@ -59,7 +59,7 @@ config IPV6_ROUTE_INFO
 
 config IPV6_OPTIMISTIC_DAD
        bool "IPv6: Enable RFC 4429 Optimistic DAD (EXPERIMENTAL)"
-       depends on IPV6 && EXPERIMENTAL
+       depends on EXPERIMENTAL
        ---help---
          This is experimental support for optimistic Duplicate
          Address Detection.  It allows for autoconfigured addresses
@@ -69,7 +69,6 @@ config IPV6_OPTIMISTIC_DAD
 
 config INET6_AH
        tristate "IPv6: AH transformation"
-       depends on IPV6
        select XFRM
        select CRYPTO
        select CRYPTO_HMAC
@@ -82,7 +81,6 @@ config INET6_AH
 
 config INET6_ESP
        tristate "IPv6: ESP transformation"
-       depends on IPV6
        select XFRM
        select CRYPTO
        select CRYPTO_AUTHENC
@@ -98,11 +96,8 @@ config INET6_ESP
 
 config INET6_IPCOMP
        tristate "IPv6: IPComp transformation"
-       depends on IPV6
-       select XFRM
        select INET6_XFRM_TUNNEL
-       select CRYPTO
-       select CRYPTO_DEFLATE
+       select XFRM_IPCOMP
        ---help---
          Support for IP Payload Compression Protocol (IPComp) (RFC3173),
          typically needed for IPsec.
@@ -111,7 +106,7 @@ config INET6_IPCOMP
 
 config IPV6_MIP6
        tristate "IPv6: Mobility (EXPERIMENTAL)"
-       depends on IPV6 && EXPERIMENTAL
+       depends on EXPERIMENTAL
        select XFRM
        ---help---
          Support for IPv6 Mobility described in RFC 3775.
@@ -129,7 +124,6 @@ config INET6_TUNNEL
 
 config INET6_XFRM_MODE_TRANSPORT
        tristate "IPv6: IPsec transport mode"
-       depends on IPV6
        default IPV6
        select XFRM
        ---help---
@@ -139,7 +133,6 @@ config INET6_XFRM_MODE_TRANSPORT
 
 config INET6_XFRM_MODE_TUNNEL
        tristate "IPv6: IPsec tunnel mode"
-       depends on IPV6
        default IPV6
        select XFRM
        ---help---
@@ -149,7 +142,6 @@ config INET6_XFRM_MODE_TUNNEL
 
 config INET6_XFRM_MODE_BEET
        tristate "IPv6: IPsec BEET mode"
-       depends on IPV6
        default IPV6
        select XFRM
        ---help---
@@ -159,15 +151,15 @@ config INET6_XFRM_MODE_BEET
 
 config INET6_XFRM_MODE_ROUTEOPTIMIZATION
        tristate "IPv6: MIPv6 route optimization mode (EXPERIMENTAL)"
-       depends on IPV6 && EXPERIMENTAL
+       depends on EXPERIMENTAL
        select XFRM
        ---help---
          Support for MIPv6 route optimization mode.
 
 config IPV6_SIT
        tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)"
-       depends on IPV6
        select INET_TUNNEL
+       select IPV6_NDISC_NODETYPE
        default y
        ---help---
          Tunneling means encapsulating data of one protocol type within
@@ -176,12 +168,33 @@ config IPV6_SIT
          into IPv4 packets. This is useful if you want to connect two IPv6
          networks over an IPv4-only path.
 
-         Saying M here will produce a module called sit.ko. If unsure, say Y.
+         Saying M here will produce a module called sit. If unsure, say Y.
+
+config IPV6_SIT_6RD
+       bool "IPv6: IPv6 Rapid Deployment (6RD) (EXPERIMENTAL)"
+       depends on IPV6_SIT && EXPERIMENTAL
+       default n
+       ---help---
+         IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon
+         mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly
+         deploy IPv6 unicast service to IPv4 sites to which it provides
+         customer premise equipment.  Like 6to4, it utilizes stateless IPv6 in
+         IPv4 encapsulation in order to transit IPv4-only network
+         infrastructure.  Unlike 6to4, a 6rd service provider uses an IPv6
+         prefix of its own in place of the fixed 6to4 prefix.
+
+         With this option enabled, the SIT driver offers 6rd functionality by
+         providing additional ioctl API to configure the IPv6 Prefix for in
+         stead of static 2002::/16 for 6to4.
+
+         If unsure, say N.
+
+config IPV6_NDISC_NODETYPE
+       bool
 
 config IPV6_TUNNEL
        tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)"
        select INET6_TUNNEL
-       depends on IPV6
        ---help---
          Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
          RFC 2473.
@@ -190,7 +203,7 @@ config IPV6_TUNNEL
 
 config IPV6_MULTIPLE_TABLES
        bool "IPv6: Multiple Routing Tables"
-       depends on IPV6 && EXPERIMENTAL
+       depends on EXPERIMENTAL
        select FIB_RULES
        ---help---
          Support multiple routing tables.
@@ -223,3 +236,4 @@ config IPV6_PIMSM_V2
          Support for IPv6 PIM multicast routing protocol PIM-SMv2.
          If unsure, say N.
 
+endif # IPV6