Linux 4.3
[linux/fpc-iii.git] / net / ipv6 / Kconfig
blob983bb999738c4dbe1c6b084f5cc75da7d14b1543
2 # IPv6 configuration
5 #   IPv6 as module will cause a CRASH if you try to unload it
6 menuconfig IPV6
7         tristate "The IPv6 protocol"
8         default y
9         ---help---
10           Support for IP version 6 (IPv6).
12           For general information about IPv6, see
13           <https://en.wikipedia.org/wiki/IPv6>.
14           For specific information about IPv6 under Linux, see
15           Documentation/networking/ipv6.txt and read the HOWTO at
16           <http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/>
18           To compile this protocol support as a module, choose M here: the 
19           module will be called ipv6.
21 if IPV6
23 config IPV6_ROUTER_PREF
24         bool "IPv6: Router Preference (RFC 4191) support"
25         ---help---
26           Router Preference is an optional extension to the Router
27           Advertisement message which improves the ability of hosts
28           to pick an appropriate router, especially when the hosts
29           are placed in a multi-homed network.
31           If unsure, say N.
33 config IPV6_ROUTE_INFO
34         bool "IPv6: Route Information (RFC 4191) support"
35         depends on IPV6_ROUTER_PREF
36         ---help---
37           This is experimental support of Route Information.
39           If unsure, say N.
41 config IPV6_OPTIMISTIC_DAD
42         bool "IPv6: Enable RFC 4429 Optimistic DAD"
43         ---help---
44           This is experimental support for optimistic Duplicate
45           Address Detection.  It allows for autoconfigured addresses
46           to be used more quickly.
48           If unsure, say N.
50 config INET6_AH
51         tristate "IPv6: AH transformation"
52         select XFRM_ALGO
53         select CRYPTO
54         select CRYPTO_HMAC
55         select CRYPTO_MD5
56         select CRYPTO_SHA1
57         ---help---
58           Support for IPsec AH.
60           If unsure, say Y.
62 config INET6_ESP
63         tristate "IPv6: ESP transformation"
64         select XFRM_ALGO
65         select CRYPTO
66         select CRYPTO_AUTHENC
67         select CRYPTO_HMAC
68         select CRYPTO_MD5
69         select CRYPTO_CBC
70         select CRYPTO_SHA1
71         select CRYPTO_DES
72         ---help---
73           Support for IPsec ESP.
75           If unsure, say Y.
77 config INET6_IPCOMP
78         tristate "IPv6: IPComp transformation"
79         select INET6_XFRM_TUNNEL
80         select XFRM_IPCOMP
81         ---help---
82           Support for IP Payload Compression Protocol (IPComp) (RFC3173),
83           typically needed for IPsec.
85           If unsure, say Y.
87 config IPV6_MIP6
88         tristate "IPv6: Mobility"
89         select XFRM
90         ---help---
91           Support for IPv6 Mobility described in RFC 3775.
93           If unsure, say N.
95 config IPV6_ILA
96         tristate "IPv6: Identifier Locator Addressing (ILA)"
97         select LWTUNNEL
98         ---help---
99           Support for IPv6 Identifier Locator Addressing (ILA).
101           ILA is a mechanism to do network virtualization without
102           encapsulation. The basic concept of ILA is that we split an
103           IPv6 address into a 64 bit locator and 64 bit identifier. The
104           identifier is the identity of an entity in communication
105           ("who") and the locator expresses the location of the
106           entity ("where").
108           ILA can be configured using the "encap ila" option with
109           "ip -6 route" command. ILA is described in
110           https://tools.ietf.org/html/draft-herbert-nvo3-ila-00.
112           If unsure, say N.
114 config INET6_XFRM_TUNNEL
115         tristate
116         select INET6_TUNNEL
117         default n
119 config INET6_TUNNEL
120         tristate
121         default n
123 config INET6_XFRM_MODE_TRANSPORT
124         tristate "IPv6: IPsec transport mode"
125         default IPV6
126         select XFRM
127         ---help---
128           Support for IPsec transport mode.
130           If unsure, say Y.
132 config INET6_XFRM_MODE_TUNNEL
133         tristate "IPv6: IPsec tunnel mode"
134         default IPV6
135         select XFRM
136         ---help---
137           Support for IPsec tunnel mode.
139           If unsure, say Y.
141 config INET6_XFRM_MODE_BEET
142         tristate "IPv6: IPsec BEET mode"
143         default IPV6
144         select XFRM
145         ---help---
146           Support for IPsec BEET mode.
148           If unsure, say Y.
150 config INET6_XFRM_MODE_ROUTEOPTIMIZATION
151         tristate "IPv6: MIPv6 route optimization mode"
152         select XFRM
153         ---help---
154           Support for MIPv6 route optimization mode.
156 config IPV6_VTI
157 tristate "Virtual (secure) IPv6: tunneling"
158         select IPV6_TUNNEL
159         select NET_IP_TUNNEL
160         depends on INET6_XFRM_MODE_TUNNEL
161         ---help---
162         Tunneling means encapsulating data of one protocol type within
163         another protocol and sending it over a channel that understands the
164         encapsulating protocol. This can be used with xfrm mode tunnel to give
165         the notion of a secure tunnel for IPSEC and then use routing protocol
166         on top.
168 config IPV6_SIT
169         tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)"
170         select INET_TUNNEL
171         select NET_IP_TUNNEL
172         select IPV6_NDISC_NODETYPE
173         default y
174         ---help---
175           Tunneling means encapsulating data of one protocol type within
176           another protocol and sending it over a channel that understands the
177           encapsulating protocol. This driver implements encapsulation of IPv6
178           into IPv4 packets. This is useful if you want to connect two IPv6
179           networks over an IPv4-only path.
181           Saying M here will produce a module called sit. If unsure, say Y.
183 config IPV6_SIT_6RD
184         bool "IPv6: IPv6 Rapid Deployment (6RD)"
185         depends on IPV6_SIT
186         default n
187         ---help---
188           IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon
189           mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly
190           deploy IPv6 unicast service to IPv4 sites to which it provides
191           customer premise equipment.  Like 6to4, it utilizes stateless IPv6 in
192           IPv4 encapsulation in order to transit IPv4-only network
193           infrastructure.  Unlike 6to4, a 6rd service provider uses an IPv6
194           prefix of its own in place of the fixed 6to4 prefix.
196           With this option enabled, the SIT driver offers 6rd functionality by
197           providing additional ioctl API to configure the IPv6 Prefix for in
198           stead of static 2002::/16 for 6to4.
200           If unsure, say N.
202 config IPV6_NDISC_NODETYPE
203         bool
205 config IPV6_TUNNEL
206         tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)"
207         select INET6_TUNNEL
208         ---help---
209           Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
210           RFC 2473.
212           If unsure, say N.
214 config IPV6_GRE
215         tristate "IPv6: GRE tunnel"
216         select IPV6_TUNNEL
217         select NET_IP_TUNNEL
218         ---help---
219           Tunneling means encapsulating data of one protocol type within
220           another protocol and sending it over a channel that understands the
221           encapsulating protocol. This particular tunneling driver implements
222           GRE (Generic Routing Encapsulation) and at this time allows
223           encapsulating of IPv4 or IPv6 over existing IPv6 infrastructure.
224           This driver is useful if the other endpoint is a Cisco router: Cisco
225           likes GRE much better than the other Linux tunneling driver ("IP
226           tunneling" above). In addition, GRE allows multicast redistribution
227           through the tunnel.
229           Saying M here will produce a module called ip6_gre. If unsure, say N.
231 config IPV6_MULTIPLE_TABLES
232         bool "IPv6: Multiple Routing Tables"
233         select FIB_RULES
234         ---help---
235           Support multiple routing tables.
237 config IPV6_SUBTREES
238         bool "IPv6: source address based routing"
239         depends on IPV6_MULTIPLE_TABLES
240         ---help---
241           Enable routing by source address or prefix.
243           The destination address is still the primary routing key, so mixing
244           normal and source prefix specific routes in the same routing table
245           may sometimes lead to unintended routing behavior.  This can be
246           avoided by defining different routing tables for the normal and
247           source prefix specific routes.
249           If unsure, say N.
251 config IPV6_MROUTE
252         bool "IPv6: multicast routing"
253         depends on IPV6
254         ---help---
255           Experimental support for IPv6 multicast forwarding.
256           If unsure, say N.
258 config IPV6_MROUTE_MULTIPLE_TABLES
259         bool "IPv6: multicast policy routing"
260         depends on IPV6_MROUTE
261         select FIB_RULES
262         help
263           Normally, a multicast router runs a userspace daemon and decides
264           what to do with a multicast packet based on the source and
265           destination addresses. If you say Y here, the multicast router
266           will also be able to take interfaces and packet marks into
267           account and run multiple instances of userspace daemons
268           simultaneously, each one handling a single table.
270           If unsure, say N.
272 config IPV6_PIMSM_V2
273         bool "IPv6: PIM-SM version 2 support"
274         depends on IPV6_MROUTE
275         ---help---
276           Support for IPv6 PIM multicast routing protocol PIM-SMv2.
277           If unsure, say N.
279 endif # IPV6