1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvalds# 31da177e4SLinus Torvalds# IPv6 configuration 41da177e4SLinus Torvalds# 56a2e9b73SSam Ravnborg 66a2e9b73SSam Ravnborg# IPv6 as module will cause a CRASH if you try to unload it 70b18542bSJan Engelhardtmenuconfig IPV6 86a2e9b73SSam Ravnborg tristate "The IPv6 protocol" 9de551f2eSTom Herbert default y 106a2e9b73SSam Ravnborg ---help--- 11de551f2eSTom Herbert Support for IP version 6 (IPv6). 126a2e9b73SSam Ravnborg 136a2e9b73SSam Ravnborg For general information about IPv6, see 14242260fbSChristian Kujau <https://en.wikipedia.org/wiki/IPv6>. 15de551f2eSTom Herbert For specific information about IPv6 under Linux, see 1619093313SMauro Carvalho Chehab Documentation/networking/ipv6.rst and read the HOWTO at 17de551f2eSTom Herbert <http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/> 186a2e9b73SSam Ravnborg 196a2e9b73SSam Ravnborg To compile this protocol support as a module, choose M here: the 206a2e9b73SSam Ravnborg module will be called ipv6. 216a2e9b73SSam Ravnborg 220b18542bSJan Engelhardtif IPV6 230b18542bSJan Engelhardt 24ebacaaa0SYOSHIFUJI Hideakiconfig IPV6_ROUTER_PREF 25ebacaaa0SYOSHIFUJI Hideaki bool "IPv6: Router Preference (RFC 4191) support" 26ebacaaa0SYOSHIFUJI Hideaki ---help--- 27ebacaaa0SYOSHIFUJI Hideaki Router Preference is an optional extension to the Router 28692105b8SMatt LaPlante Advertisement message which improves the ability of hosts 29692105b8SMatt LaPlante to pick an appropriate router, especially when the hosts 30692105b8SMatt LaPlante are placed in a multi-homed network. 31ebacaaa0SYOSHIFUJI Hideaki 32ebacaaa0SYOSHIFUJI Hideaki If unsure, say N. 33ebacaaa0SYOSHIFUJI Hideaki 3470ceb4f5SYOSHIFUJI Hideakiconfig IPV6_ROUTE_INFO 35f9ceb16eSKees Cook bool "IPv6: Route Information (RFC 4191) support" 36f9ceb16eSKees Cook depends on IPV6_ROUTER_PREF 3770ceb4f5SYOSHIFUJI Hideaki ---help--- 38a9f71d0dSGeorg Hofmann Support of Route Information. 3970ceb4f5SYOSHIFUJI Hideaki 4070ceb4f5SYOSHIFUJI Hideaki If unsure, say N. 4170ceb4f5SYOSHIFUJI Hideaki 4295c385b4SNeil Hormanconfig IPV6_OPTIMISTIC_DAD 43f9ceb16eSKees Cook bool "IPv6: Enable RFC 4429 Optimistic DAD" 4495c385b4SNeil Horman ---help--- 45a9f71d0dSGeorg Hofmann Support for optimistic Duplicate Address Detection. It allows for 46a9f71d0dSGeorg Hofmann autoconfigured addresses to be used more quickly. 4795c385b4SNeil Horman 4895c385b4SNeil Horman If unsure, say N. 4995c385b4SNeil Horman 501da177e4SLinus Torvaldsconfig INET6_AH 511da177e4SLinus Torvalds tristate "IPv6: AH transformation" 52*7d4e3919SEric Biggers select XFRM_AH 531da177e4SLinus Torvalds ---help--- 541da177e4SLinus Torvalds Support for IPsec AH. 551da177e4SLinus Torvalds 561da177e4SLinus Torvalds If unsure, say Y. 571da177e4SLinus Torvalds 581da177e4SLinus Torvaldsconfig INET6_ESP 591da177e4SLinus Torvalds tristate "IPv6: ESP transformation" 60*7d4e3919SEric Biggers select XFRM_ESP 611da177e4SLinus Torvalds ---help--- 621da177e4SLinus Torvalds Support for IPsec ESP. 631da177e4SLinus Torvalds 641da177e4SLinus Torvalds If unsure, say Y. 651da177e4SLinus Torvalds 667785bba2SSteffen Klassertconfig INET6_ESP_OFFLOAD 677785bba2SSteffen Klassert tristate "IPv6: ESP transformation offload" 687785bba2SSteffen Klassert depends on INET6_ESP 697785bba2SSteffen Klassert select XFRM_OFFLOAD 707785bba2SSteffen Klassert default n 717785bba2SSteffen Klassert ---help--- 727785bba2SSteffen Klassert Support for ESP transformation offload. This makes sense 737785bba2SSteffen Klassert only if this system really does IPsec and want to do it 747785bba2SSteffen Klassert with high throughput. A typical desktop system does not 757785bba2SSteffen Klassert need it, even if it does IPsec. 767785bba2SSteffen Klassert 777785bba2SSteffen Klassert If unsure, say N. 787785bba2SSteffen Klassert 7926333c37SSabrina Dubrocaconfig INET6_ESPINTCP 8026333c37SSabrina Dubroca bool "IPv6: ESP in TCP encapsulation (RFC 8229)" 8126333c37SSabrina Dubroca depends on XFRM && INET6_ESP 8226333c37SSabrina Dubroca select STREAM_PARSER 8326333c37SSabrina Dubroca select NET_SOCK_MSG 8426333c37SSabrina Dubroca select XFRM_ESPINTCP 8526333c37SSabrina Dubroca help 8626333c37SSabrina Dubroca Support for RFC 8229 encapsulation of ESP and IKE over 8726333c37SSabrina Dubroca TCP/IPv6 sockets. 8826333c37SSabrina Dubroca 8926333c37SSabrina Dubroca If unsure, say N. 9026333c37SSabrina Dubroca 911da177e4SLinus Torvaldsconfig INET6_IPCOMP 921da177e4SLinus Torvalds tristate "IPv6: IPComp transformation" 93d2acc347SHerbert Xu select INET6_XFRM_TUNNEL 946fccab67SHerbert Xu select XFRM_IPCOMP 951da177e4SLinus Torvalds ---help--- 961da177e4SLinus Torvalds Support for IP Payload Compression Protocol (IPComp) (RFC3173), 971da177e4SLinus Torvalds typically needed for IPsec. 981da177e4SLinus Torvalds 991da177e4SLinus Torvalds If unsure, say Y. 1001da177e4SLinus Torvalds 101ee538268SMasahide NAKAMURAconfig IPV6_MIP6 102f9ceb16eSKees Cook tristate "IPv6: Mobility" 103ee538268SMasahide NAKAMURA select XFRM 104ee538268SMasahide NAKAMURA ---help--- 105ee538268SMasahide NAKAMURA Support for IPv6 Mobility described in RFC 3775. 106ee538268SMasahide NAKAMURA 107ee538268SMasahide NAKAMURA If unsure, say N. 108ee538268SMasahide NAKAMURA 10965d7ab8dSTom Herbertconfig IPV6_ILA 11065d7ab8dSTom Herbert tristate "IPv6: Identifier Locator Addressing (ILA)" 1118cb964daSArnd Bergmann depends on NETFILTER 11283ed7d1fSArnd Bergmann select DST_CACHE 11365d7ab8dSTom Herbert select LWTUNNEL 11465d7ab8dSTom Herbert ---help--- 11565d7ab8dSTom Herbert Support for IPv6 Identifier Locator Addressing (ILA). 11665d7ab8dSTom Herbert 11765d7ab8dSTom Herbert ILA is a mechanism to do network virtualization without 11865d7ab8dSTom Herbert encapsulation. The basic concept of ILA is that we split an 11965d7ab8dSTom Herbert IPv6 address into a 64 bit locator and 64 bit identifier. The 12065d7ab8dSTom Herbert identifier is the identity of an entity in communication 12165d7ab8dSTom Herbert ("who") and the locator expresses the location of the 12265d7ab8dSTom Herbert entity ("where"). 12365d7ab8dSTom Herbert 12465d7ab8dSTom Herbert ILA can be configured using the "encap ila" option with 12565d7ab8dSTom Herbert "ip -6 route" command. ILA is described in 12665d7ab8dSTom Herbert https://tools.ietf.org/html/draft-herbert-nvo3-ila-00. 12765d7ab8dSTom Herbert 12865d7ab8dSTom Herbert If unsure, say N. 12965d7ab8dSTom Herbert 130d2acc347SHerbert Xuconfig INET6_XFRM_TUNNEL 131d2acc347SHerbert Xu tristate 132d2acc347SHerbert Xu select INET6_TUNNEL 133d2acc347SHerbert Xu default n 1341da177e4SLinus Torvalds 135d2acc347SHerbert Xuconfig INET6_TUNNEL 136d2acc347SHerbert Xu tristate 137d2acc347SHerbert Xu default n 1381da177e4SLinus Torvalds 139ed1efb2aSSteffen Klassertconfig IPV6_VTI 140ed1efb2aSSteffen Klasserttristate "Virtual (secure) IPv6: tunneling" 141ed1efb2aSSteffen Klassert select IPV6_TUNNEL 142876fc03aSSteffen Klassert select NET_IP_TUNNEL 1434c145dceSFlorian Westphal select XFRM 144ed1efb2aSSteffen Klassert ---help--- 145ed1efb2aSSteffen Klassert Tunneling means encapsulating data of one protocol type within 146ed1efb2aSSteffen Klassert another protocol and sending it over a channel that understands the 147ed1efb2aSSteffen Klassert encapsulating protocol. This can be used with xfrm mode tunnel to give 148ed1efb2aSSteffen Klassert the notion of a secure tunnel for IPSEC and then use routing protocol 149ed1efb2aSSteffen Klassert on top. 150ed1efb2aSSteffen Klassert 151989e5b96SJoerg Roedelconfig IPV6_SIT 152989e5b96SJoerg Roedel tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)" 153c73cb5a2SKazunori MIYAZAWA select INET_TUNNEL 154f61dd388SPravin B Shelar select NET_IP_TUNNEL 155de357cc0SYOSHIFUJI Hideaki select IPV6_NDISC_NODETYPE 156989e5b96SJoerg Roedel default y 157989e5b96SJoerg Roedel ---help--- 158989e5b96SJoerg Roedel Tunneling means encapsulating data of one protocol type within 159989e5b96SJoerg Roedel another protocol and sending it over a channel that understands the 160989e5b96SJoerg Roedel encapsulating protocol. This driver implements encapsulation of IPv6 1615c5d6dabSDavid S. Miller into IPv4 packets. This is useful if you want to connect two IPv6 162989e5b96SJoerg Roedel networks over an IPv4-only path. 163989e5b96SJoerg Roedel 1644737f097SPavel Machek Saying M here will produce a module called sit. If unsure, say Y. 165989e5b96SJoerg Roedel 166fa857afcSYOSHIFUJI Hideaki / 吉藤英明config IPV6_SIT_6RD 167f9ceb16eSKees Cook bool "IPv6: IPv6 Rapid Deployment (6RD)" 168f9ceb16eSKees Cook depends on IPV6_SIT 169fa857afcSYOSHIFUJI Hideaki / 吉藤英明 default n 170fa857afcSYOSHIFUJI Hideaki / 吉藤英明 ---help--- 171fa857afcSYOSHIFUJI Hideaki / 吉藤英明 IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon 172fa857afcSYOSHIFUJI Hideaki / 吉藤英明 mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly 173fa857afcSYOSHIFUJI Hideaki / 吉藤英明 deploy IPv6 unicast service to IPv4 sites to which it provides 174fa857afcSYOSHIFUJI Hideaki / 吉藤英明 customer premise equipment. Like 6to4, it utilizes stateless IPv6 in 175fa857afcSYOSHIFUJI Hideaki / 吉藤英明 IPv4 encapsulation in order to transit IPv4-only network 176fa857afcSYOSHIFUJI Hideaki / 吉藤英明 infrastructure. Unlike 6to4, a 6rd service provider uses an IPv6 177fa857afcSYOSHIFUJI Hideaki / 吉藤英明 prefix of its own in place of the fixed 6to4 prefix. 178fa857afcSYOSHIFUJI Hideaki / 吉藤英明 179fa857afcSYOSHIFUJI Hideaki / 吉藤英明 With this option enabled, the SIT driver offers 6rd functionality by 180fa857afcSYOSHIFUJI Hideaki / 吉藤英明 providing additional ioctl API to configure the IPv6 Prefix for in 181fa857afcSYOSHIFUJI Hideaki / 吉藤英明 stead of static 2002::/16 for 6to4. 182fa857afcSYOSHIFUJI Hideaki / 吉藤英明 183fa857afcSYOSHIFUJI Hideaki / 吉藤英明 If unsure, say N. 184fa857afcSYOSHIFUJI Hideaki / 吉藤英明 185de357cc0SYOSHIFUJI Hideakiconfig IPV6_NDISC_NODETYPE 186de357cc0SYOSHIFUJI Hideaki bool 187de357cc0SYOSHIFUJI Hideaki 1881da177e4SLinus Torvaldsconfig IPV6_TUNNEL 18938fe999eSYOSHIFUJI Hideaki tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)" 190d2acc347SHerbert Xu select INET6_TUNNEL 191607f725fSPaolo Abeni select DST_CACHE 19297e219b7SEric Dumazet select GRO_CELLS 1931da177e4SLinus Torvalds ---help--- 19438fe999eSYOSHIFUJI Hideaki Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in 19538fe999eSYOSHIFUJI Hideaki RFC 2473. 1961da177e4SLinus Torvalds 1971da177e4SLinus Torvalds If unsure, say N. 1981da177e4SLinus Torvalds 199c12b395aSxeb@mail.ruconfig IPV6_GRE 200c12b395aSxeb@mail.ru tristate "IPv6: GRE tunnel" 201c12b395aSxeb@mail.ru select IPV6_TUNNEL 202f61dd388SPravin B Shelar select NET_IP_TUNNEL 2038bf42e9eSArnd Bergmann depends on NET_IPGRE_DEMUX 204c12b395aSxeb@mail.ru ---help--- 205c12b395aSxeb@mail.ru Tunneling means encapsulating data of one protocol type within 206c12b395aSxeb@mail.ru another protocol and sending it over a channel that understands the 207c12b395aSxeb@mail.ru encapsulating protocol. This particular tunneling driver implements 208c12b395aSxeb@mail.ru GRE (Generic Routing Encapsulation) and at this time allows 209c12b395aSxeb@mail.ru encapsulating of IPv4 or IPv6 over existing IPv6 infrastructure. 210c12b395aSxeb@mail.ru This driver is useful if the other endpoint is a Cisco router: Cisco 211c12b395aSxeb@mail.ru likes GRE much better than the other Linux tunneling driver ("IP 212c12b395aSxeb@mail.ru tunneling" above). In addition, GRE allows multicast redistribution 213c12b395aSxeb@mail.ru through the tunnel. 214c12b395aSxeb@mail.ru 215c12b395aSxeb@mail.ru Saying M here will produce a module called ip6_gre. If unsure, say N. 216c12b395aSxeb@mail.ru 217fabb13dbSArnd Bergmannconfig IPV6_FOU 218fabb13dbSArnd Bergmann tristate 219fabb13dbSArnd Bergmann default NET_FOU && IPV6 220fabb13dbSArnd Bergmann 221fabb13dbSArnd Bergmannconfig IPV6_FOU_TUNNEL 222fabb13dbSArnd Bergmann tristate 223fabb13dbSArnd Bergmann default NET_FOU_IP_TUNNELS && IPV6_FOU 22495e4daa8SArnd Bergmann select IPV6_TUNNEL 225fabb13dbSArnd Bergmann 226264e91b6SVille Nuorvalaconfig IPV6_MULTIPLE_TABLES 227264e91b6SVille Nuorvala bool "IPv6: Multiple Routing Tables" 228264e91b6SVille Nuorvala select FIB_RULES 229264e91b6SVille Nuorvala ---help--- 230264e91b6SVille Nuorvala Support multiple routing tables. 231264e91b6SVille Nuorvala 2324e96c2b4SYOSHIFUJI Hideakiconfig IPV6_SUBTREES 2334e96c2b4SYOSHIFUJI Hideaki bool "IPv6: source address based routing" 234264e91b6SVille Nuorvala depends on IPV6_MULTIPLE_TABLES 2354e96c2b4SYOSHIFUJI Hideaki ---help--- 2364e96c2b4SYOSHIFUJI Hideaki Enable routing by source address or prefix. 2374e96c2b4SYOSHIFUJI Hideaki 2384e96c2b4SYOSHIFUJI Hideaki The destination address is still the primary routing key, so mixing 2394e96c2b4SYOSHIFUJI Hideaki normal and source prefix specific routes in the same routing table 2404e96c2b4SYOSHIFUJI Hideaki may sometimes lead to unintended routing behavior. This can be 2414e96c2b4SYOSHIFUJI Hideaki avoided by defining different routing tables for the normal and 2424e96c2b4SYOSHIFUJI Hideaki source prefix specific routes. 2434e96c2b4SYOSHIFUJI Hideaki 2444e96c2b4SYOSHIFUJI Hideaki If unsure, say N. 2454e96c2b4SYOSHIFUJI Hideaki 2467bc570c8SYOSHIFUJI Hideakiconfig IPV6_MROUTE 247f9ceb16eSKees Cook bool "IPv6: multicast routing" 248f9ceb16eSKees Cook depends on IPV6 2496853f21fSYuval Mintz select IP_MROUTE_COMMON 2507bc570c8SYOSHIFUJI Hideaki ---help--- 251a9f71d0dSGeorg Hofmann Support for IPv6 multicast forwarding. 2527bc570c8SYOSHIFUJI Hideaki If unsure, say N. 2537bc570c8SYOSHIFUJI Hideaki 254d1db275dSPatrick McHardyconfig IPV6_MROUTE_MULTIPLE_TABLES 255d1db275dSPatrick McHardy bool "IPv6: multicast policy routing" 256d1db275dSPatrick McHardy depends on IPV6_MROUTE 257d1db275dSPatrick McHardy select FIB_RULES 258d1db275dSPatrick McHardy help 259d1db275dSPatrick McHardy Normally, a multicast router runs a userspace daemon and decides 260d1db275dSPatrick McHardy what to do with a multicast packet based on the source and 261d1db275dSPatrick McHardy destination addresses. If you say Y here, the multicast router 262d1db275dSPatrick McHardy will also be able to take interfaces and packet marks into 263d1db275dSPatrick McHardy account and run multiple instances of userspace daemons 264d1db275dSPatrick McHardy simultaneously, each one handling a single table. 265d1db275dSPatrick McHardy 266d1db275dSPatrick McHardy If unsure, say N. 267d1db275dSPatrick McHardy 26814fb64e1SYOSHIFUJI Hideakiconfig IPV6_PIMSM_V2 269f9ceb16eSKees Cook bool "IPv6: PIM-SM version 2 support" 27014fb64e1SYOSHIFUJI Hideaki depends on IPV6_MROUTE 27114fb64e1SYOSHIFUJI Hideaki ---help--- 27214fb64e1SYOSHIFUJI Hideaki Support for IPv6 PIM multicast routing protocol PIM-SMv2. 27314fb64e1SYOSHIFUJI Hideaki If unsure, say N. 27414fb64e1SYOSHIFUJI Hideaki 27546738b13SDavid Lebrunconfig IPV6_SEG6_LWTUNNEL 27646738b13SDavid Lebrun bool "IPv6: Segment Routing Header encapsulation support" 27746738b13SDavid Lebrun depends on IPV6 27846738b13SDavid Lebrun select LWTUNNEL 279402a5bc4SDavid Lebrun select DST_CACHE 280d7a669ddSDavid Lebrun select IPV6_MULTIPLE_TABLES 28146738b13SDavid Lebrun ---help--- 28246738b13SDavid Lebrun Support for encapsulation of packets within an outer IPv6 28346738b13SDavid Lebrun header and a Segment Routing Header using the lightweight 284d1df6fd8SDavid Lebrun tunnels mechanism. Also enable support for advanced local 285d1df6fd8SDavid Lebrun processing of SRv6 packets based on their active segment. 28646738b13SDavid Lebrun 28746738b13SDavid Lebrun If unsure, say N. 28846738b13SDavid Lebrun 289bf355b8dSDavid Lebrunconfig IPV6_SEG6_HMAC 290bf355b8dSDavid Lebrun bool "IPv6: Segment Routing HMAC support" 291bf355b8dSDavid Lebrun depends on IPV6 292bf355b8dSDavid Lebrun select CRYPTO_HMAC 293bf355b8dSDavid Lebrun select CRYPTO_SHA1 294bf355b8dSDavid Lebrun select CRYPTO_SHA256 295bf355b8dSDavid Lebrun ---help--- 296bf355b8dSDavid Lebrun Support for HMAC signature generation and verification 297bf355b8dSDavid Lebrun of SR-enabled packets. 298bf355b8dSDavid Lebrun 299bf355b8dSDavid Lebrun If unsure, say N. 300bf355b8dSDavid Lebrun 301fe94cc29SMathieu Xhonneuxconfig IPV6_SEG6_BPF 302fe94cc29SMathieu Xhonneux def_bool y 303fe94cc29SMathieu Xhonneux depends on IPV6_SEG6_LWTUNNEL 304fe94cc29SMathieu Xhonneux depends on IPV6 = y 305fe94cc29SMathieu Xhonneux 306a7a29f9cSAlexander Aringconfig IPV6_RPL_LWTUNNEL 307a7a29f9cSAlexander Aring bool "IPv6: RPL Source Routing Header support" 308a7a29f9cSAlexander Aring depends on IPV6 309a7a29f9cSAlexander Aring select LWTUNNEL 310a7a29f9cSAlexander Aring ---help--- 311a7a29f9cSAlexander Aring Support for RFC6554 RPL Source Routing Header using the lightweight 312a7a29f9cSAlexander Aring tunnels mechanism. 313a7a29f9cSAlexander Aring 314a7a29f9cSAlexander Aring If unsure, say N. 315a7a29f9cSAlexander Aring 3160b18542bSJan Engelhardtendif # IPV6 317