[IPSEC]: Disallow combinations of RO and AH/ESP/IPCOMP
[linux-2.6] / net / ipv6 / Kconfig
1 #
2 # IPv6 configuration
3 #
4
5 #   IPv6 as module will cause a CRASH if you try to unload it
6 config IPV6
7         tristate "The IPv6 protocol"
8         default m
9         ---help---
10           This is complemental support for the IP version 6.
11           You will still be able to do traditional IPv4 networking as well.
12
13           For general information about IPv6, see
14           <http://playground.sun.com/pub/ipng/html/ipng-main.html>.
15           For Linux IPv6 development information, see <http://www.linux-ipv6.org>.
16           For specific information about IPv6 under Linux, read the HOWTO at
17           <http://www.bieringer.de/linux/IPv6/>.
18
19           To compile this protocol support as a module, choose M here: the 
20           module will be called ipv6.
21
22 config IPV6_PRIVACY
23         bool "IPv6: Privacy Extensions support"
24         depends on IPV6
25         ---help---
26           Privacy Extensions for Stateless Address Autoconfiguration in IPv6
27           support.  With this option, additional periodically-alter 
28           pseudo-random global-scope unicast address(es) will assigned to
29           your interface(s).
30         
31           We use our standard pseudo random algorithm to generate randomized
32           interface identifier, instead of one described in RFC 3041.
33
34           By default, kernel do not generate temporary addresses.
35           To use temporary addresses, do
36         
37                 echo 2 >/proc/sys/net/ipv6/conf/all/use_tempaddr 
38
39           See <file:Documentation/networking/ip-sysctl.txt> for details.
40
41 config IPV6_ROUTER_PREF
42         bool "IPv6: Router Preference (RFC 4191) support"
43         depends on IPV6
44         ---help---
45           Router Preference is an optional extension to the Router
46           Advertisement message to improve the ability of hosts
47           to pick more appropriate router, especially when the hosts
48           is placed in a multi-homed network.
49
50           If unsure, say N.
51
52 config IPV6_ROUTE_INFO
53         bool "IPv6: Route Information (RFC 4191) support (EXPERIMENTAL)"
54         depends on IPV6_ROUTER_PREF && EXPERIMENTAL
55         ---help---
56           This is experimental support of Route Information.
57
58           If unsure, say N.
59
60 config IPV6_OPTIMISTIC_DAD
61         bool "IPv6: Enable RFC 4429 Optimistic DAD (EXPERIMENTAL)"
62         depends on IPV6 && EXPERIMENTAL
63         ---help---
64           This is experimental support for optimistic Duplicate
65           Address Detection.  It allows for autoconfigured addresses
66           to be used more quickly.
67
68           If unsure, say N.
69
70 config INET6_AH
71         tristate "IPv6: AH transformation"
72         depends on IPV6
73         select XFRM
74         select CRYPTO
75         select CRYPTO_HMAC
76         select CRYPTO_MD5
77         select CRYPTO_SHA1
78         ---help---
79           Support for IPsec AH.
80
81           If unsure, say Y.
82
83 config INET6_ESP
84         tristate "IPv6: ESP transformation"
85         depends on IPV6
86         select XFRM
87         select CRYPTO
88         select CRYPTO_HMAC
89         select CRYPTO_MD5
90         select CRYPTO_CBC
91         select CRYPTO_SHA1
92         select CRYPTO_DES
93         ---help---
94           Support for IPsec ESP.
95
96           If unsure, say Y.
97
98 config INET6_IPCOMP
99         tristate "IPv6: IPComp transformation"
100         depends on IPV6
101         select XFRM
102         select INET6_XFRM_TUNNEL
103         select CRYPTO
104         select CRYPTO_DEFLATE
105         ---help---
106           Support for IP Payload Compression Protocol (IPComp) (RFC3173),
107           typically needed for IPsec.
108
109           If unsure, say Y.
110
111 config IPV6_MIP6
112         tristate "IPv6: Mobility (EXPERIMENTAL)"
113         depends on IPV6 && EXPERIMENTAL
114         select XFRM
115         ---help---
116           Support for IPv6 Mobility described in RFC 3775.
117
118           If unsure, say N.
119
120 config INET6_XFRM_TUNNEL
121         tristate
122         select INET6_TUNNEL
123         default n
124
125 config INET6_TUNNEL
126         tristate
127         default n
128
129 config INET6_XFRM_MODE_TRANSPORT
130         tristate "IPv6: IPsec transport mode"
131         depends on IPV6
132         default IPV6
133         select XFRM
134         ---help---
135           Support for IPsec transport mode.
136
137           If unsure, say Y.
138
139 config INET6_XFRM_MODE_TUNNEL
140         tristate "IPv6: IPsec tunnel mode"
141         depends on IPV6
142         default IPV6
143         select XFRM
144         ---help---
145           Support for IPsec tunnel mode.
146
147           If unsure, say Y.
148
149 config INET6_XFRM_MODE_BEET
150         tristate "IPv6: IPsec BEET mode"
151         depends on IPV6
152         default IPV6
153         select XFRM
154         ---help---
155           Support for IPsec BEET mode.
156
157           If unsure, say Y.
158
159 config INET6_XFRM_MODE_ROUTEOPTIMIZATION
160         tristate "IPv6: MIPv6 route optimization mode (EXPERIMENTAL)"
161         depends on IPV6 && EXPERIMENTAL
162         select XFRM
163         ---help---
164           Support for MIPv6 route optimization mode.
165
166 config IPV6_SIT
167         tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)"
168         depends on IPV6
169         select INET_TUNNEL
170         default y
171         ---help---
172           Tunneling means encapsulating data of one protocol type within
173           another protocol and sending it over a channel that understands the
174           encapsulating protocol. This driver implements encapsulation of IPv6
175           into IPv4 packets. This is useful if you want to connect two IPv6
176           networks over an IPv4-only path.
177
178           Saying M here will produce a module called sit.ko. If unsure, say Y.
179
180 config IPV6_TUNNEL
181         tristate "IPv6: IPv6-in-IPv6 tunnel"
182         select INET6_TUNNEL
183         depends on IPV6
184         ---help---
185           Support for IPv6-in-IPv6 tunnels described in RFC 2473.
186
187           If unsure, say N.
188
189 config IPV6_MULTIPLE_TABLES
190         bool "IPv6: Multiple Routing Tables"
191         depends on IPV6 && EXPERIMENTAL
192         select FIB_RULES
193         ---help---
194           Support multiple routing tables.
195
196 config IPV6_SUBTREES
197         bool "IPv6: source address based routing"
198         depends on IPV6_MULTIPLE_TABLES
199         ---help---
200           Enable routing by source address or prefix.
201
202           The destination address is still the primary routing key, so mixing
203           normal and source prefix specific routes in the same routing table
204           may sometimes lead to unintended routing behavior.  This can be
205           avoided by defining different routing tables for the normal and
206           source prefix specific routes.
207
208           If unsure, say N.
209