5 # IPv6 as module will cause a CRASH if you try to unload it
7 tristate "The IPv6 protocol"
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.
23 config IPV6_ROUTER_PREF
24 bool "IPv6: Router Preference (RFC 4191) support"
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.
33 config IPV6_ROUTE_INFO
34 bool "IPv6: Route Information (RFC 4191) support"
35 depends on IPV6_ROUTER_PREF
37 Support of Route Information.
41 config IPV6_OPTIMISTIC_DAD
42 bool "IPv6: Enable RFC 4429 Optimistic DAD"
44 Support for optimistic Duplicate Address Detection. It allows for
45 autoconfigured addresses to be used more quickly.
50 tristate "IPv6: AH transformation"
62 tristate "IPv6: ESP transformation"
71 select CRYPTO_ECHAINIV
73 Support for IPsec ESP.
77 config INET6_ESP_OFFLOAD
78 tristate "IPv6: ESP transformation offload"
83 Support for ESP transformation offload. This makes sense
84 only if this system really does IPsec and want to do it
85 with high throughput. A typical desktop system does not
86 need it, even if it does IPsec.
91 tristate "IPv6: IPComp transformation"
92 select INET6_XFRM_TUNNEL
95 Support for IP Payload Compression Protocol (IPComp) (RFC3173),
96 typically needed for IPsec.
101 tristate "IPv6: Mobility"
104 Support for IPv6 Mobility described in RFC 3775.
109 tristate "IPv6: Identifier Locator Addressing (ILA)"
113 Support for IPv6 Identifier Locator Addressing (ILA).
115 ILA is a mechanism to do network virtualization without
116 encapsulation. The basic concept of ILA is that we split an
117 IPv6 address into a 64 bit locator and 64 bit identifier. The
118 identifier is the identity of an entity in communication
119 ("who") and the locator expresses the location of the
122 ILA can be configured using the "encap ila" option with
123 "ip -6 route" command. ILA is described in
124 https://tools.ietf.org/html/draft-herbert-nvo3-ila-00.
128 config INET6_XFRM_TUNNEL
137 config INET6_XFRM_MODE_TRANSPORT
138 tristate "IPv6: IPsec transport mode"
142 Support for IPsec transport mode.
146 config INET6_XFRM_MODE_TUNNEL
147 tristate "IPv6: IPsec tunnel mode"
151 Support for IPsec tunnel mode.
155 config INET6_XFRM_MODE_BEET
156 tristate "IPv6: IPsec BEET mode"
160 Support for IPsec BEET mode.
164 config INET6_XFRM_MODE_ROUTEOPTIMIZATION
165 tristate "IPv6: MIPv6 route optimization mode"
168 Support for MIPv6 route optimization mode.
171 tristate "Virtual (secure) IPv6: tunneling"
174 depends on INET6_XFRM_MODE_TUNNEL
176 Tunneling means encapsulating data of one protocol type within
177 another protocol and sending it over a channel that understands the
178 encapsulating protocol. This can be used with xfrm mode tunnel to give
179 the notion of a secure tunnel for IPSEC and then use routing protocol
183 tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)"
186 select IPV6_NDISC_NODETYPE
189 Tunneling means encapsulating data of one protocol type within
190 another protocol and sending it over a channel that understands the
191 encapsulating protocol. This driver implements encapsulation of IPv6
192 into IPv4 packets. This is useful if you want to connect two IPv6
193 networks over an IPv4-only path.
195 Saying M here will produce a module called sit. If unsure, say Y.
198 bool "IPv6: IPv6 Rapid Deployment (6RD)"
202 IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon
203 mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly
204 deploy IPv6 unicast service to IPv4 sites to which it provides
205 customer premise equipment. Like 6to4, it utilizes stateless IPv6 in
206 IPv4 encapsulation in order to transit IPv4-only network
207 infrastructure. Unlike 6to4, a 6rd service provider uses an IPv6
208 prefix of its own in place of the fixed 6to4 prefix.
210 With this option enabled, the SIT driver offers 6rd functionality by
211 providing additional ioctl API to configure the IPv6 Prefix for in
212 stead of static 2002::/16 for 6to4.
216 config IPV6_NDISC_NODETYPE
220 tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)"
225 Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
231 tristate "IPv6: GRE tunnel"
234 depends on NET_IPGRE_DEMUX
236 Tunneling means encapsulating data of one protocol type within
237 another protocol and sending it over a channel that understands the
238 encapsulating protocol. This particular tunneling driver implements
239 GRE (Generic Routing Encapsulation) and at this time allows
240 encapsulating of IPv4 or IPv6 over existing IPv6 infrastructure.
241 This driver is useful if the other endpoint is a Cisco router: Cisco
242 likes GRE much better than the other Linux tunneling driver ("IP
243 tunneling" above). In addition, GRE allows multicast redistribution
246 Saying M here will produce a module called ip6_gre. If unsure, say N.
250 default NET_FOU && IPV6
252 config IPV6_FOU_TUNNEL
254 default NET_FOU_IP_TUNNELS && IPV6_FOU
257 config IPV6_MULTIPLE_TABLES
258 bool "IPv6: Multiple Routing Tables"
261 Support multiple routing tables.
264 bool "IPv6: source address based routing"
265 depends on IPV6_MULTIPLE_TABLES
267 Enable routing by source address or prefix.
269 The destination address is still the primary routing key, so mixing
270 normal and source prefix specific routes in the same routing table
271 may sometimes lead to unintended routing behavior. This can be
272 avoided by defining different routing tables for the normal and
273 source prefix specific routes.
278 bool "IPv6: multicast routing"
280 select IP_MROUTE_COMMON
282 Support for IPv6 multicast forwarding.
285 config IPV6_MROUTE_MULTIPLE_TABLES
286 bool "IPv6: multicast policy routing"
287 depends on IPV6_MROUTE
290 Normally, a multicast router runs a userspace daemon and decides
291 what to do with a multicast packet based on the source and
292 destination addresses. If you say Y here, the multicast router
293 will also be able to take interfaces and packet marks into
294 account and run multiple instances of userspace daemons
295 simultaneously, each one handling a single table.
300 bool "IPv6: PIM-SM version 2 support"
301 depends on IPV6_MROUTE
303 Support for IPv6 PIM multicast routing protocol PIM-SMv2.
306 config IPV6_SEG6_LWTUNNEL
307 bool "IPv6: Segment Routing Header encapsulation support"
311 select IPV6_MULTIPLE_TABLES
313 Support for encapsulation of packets within an outer IPv6
314 header and a Segment Routing Header using the lightweight
315 tunnels mechanism. Also enable support for advanced local
316 processing of SRv6 packets based on their active segment.
320 config IPV6_SEG6_HMAC
321 bool "IPv6: Segment Routing HMAC support"
327 Support for HMAC signature generation and verification
328 of SR-enabled packets.