11da177e4SLinus Torvalds# 21da177e4SLinus Torvalds# IPv6 configuration 31da177e4SLinus Torvalds# 46a2e9b73SSam Ravnborg 56a2e9b73SSam Ravnborg# IPv6 as module will cause a CRASH if you try to unload it 60b18542bSJan Engelhardtmenuconfig IPV6 76a2e9b73SSam Ravnborg tristate "The IPv6 protocol" 8de551f2eSTom Herbert default y 96a2e9b73SSam Ravnborg ---help--- 10de551f2eSTom Herbert Support for IP version 6 (IPv6). 116a2e9b73SSam Ravnborg 126a2e9b73SSam Ravnborg For general information about IPv6, see 13242260fbSChristian Kujau <https://en.wikipedia.org/wiki/IPv6>. 14de551f2eSTom Herbert For specific information about IPv6 under Linux, see 15de551f2eSTom Herbert Documentation/networking/ipv6.txt and read the HOWTO at 16de551f2eSTom Herbert <http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/> 176a2e9b73SSam Ravnborg 186a2e9b73SSam Ravnborg To compile this protocol support as a module, choose M here: the 196a2e9b73SSam Ravnborg module will be called ipv6. 206a2e9b73SSam Ravnborg 210b18542bSJan Engelhardtif IPV6 220b18542bSJan Engelhardt 23ebacaaa0SYOSHIFUJI Hideakiconfig IPV6_ROUTER_PREF 24ebacaaa0SYOSHIFUJI Hideaki bool "IPv6: Router Preference (RFC 4191) support" 25ebacaaa0SYOSHIFUJI Hideaki ---help--- 26ebacaaa0SYOSHIFUJI Hideaki Router Preference is an optional extension to the Router 27692105b8SMatt LaPlante Advertisement message which improves the ability of hosts 28692105b8SMatt LaPlante to pick an appropriate router, especially when the hosts 29692105b8SMatt LaPlante are placed in a multi-homed network. 30ebacaaa0SYOSHIFUJI Hideaki 31ebacaaa0SYOSHIFUJI Hideaki If unsure, say N. 32ebacaaa0SYOSHIFUJI Hideaki 3370ceb4f5SYOSHIFUJI Hideakiconfig IPV6_ROUTE_INFO 34f9ceb16eSKees Cook bool "IPv6: Route Information (RFC 4191) support" 35f9ceb16eSKees Cook depends on IPV6_ROUTER_PREF 3670ceb4f5SYOSHIFUJI Hideaki ---help--- 37a9f71d0dSGeorg Hofmann Support of Route Information. 3870ceb4f5SYOSHIFUJI Hideaki 3970ceb4f5SYOSHIFUJI Hideaki If unsure, say N. 4070ceb4f5SYOSHIFUJI Hideaki 4195c385b4SNeil Hormanconfig IPV6_OPTIMISTIC_DAD 42f9ceb16eSKees Cook bool "IPv6: Enable RFC 4429 Optimistic DAD" 4395c385b4SNeil Horman ---help--- 44a9f71d0dSGeorg Hofmann Support for optimistic Duplicate Address Detection. It allows for 45a9f71d0dSGeorg Hofmann autoconfigured addresses to be used more quickly. 4695c385b4SNeil Horman 4795c385b4SNeil Horman If unsure, say N. 4895c385b4SNeil Horman 491da177e4SLinus Torvaldsconfig INET6_AH 501da177e4SLinus Torvalds tristate "IPv6: AH transformation" 517e152524SJan Beulich select XFRM_ALGO 521da177e4SLinus Torvalds select CRYPTO 531da177e4SLinus Torvalds select CRYPTO_HMAC 541da177e4SLinus Torvalds select CRYPTO_MD5 551da177e4SLinus Torvalds select CRYPTO_SHA1 561da177e4SLinus Torvalds ---help--- 571da177e4SLinus Torvalds Support for IPsec AH. 581da177e4SLinus Torvalds 591da177e4SLinus Torvalds If unsure, say Y. 601da177e4SLinus Torvalds 611da177e4SLinus Torvaldsconfig INET6_ESP 621da177e4SLinus Torvalds tristate "IPv6: ESP transformation" 637e152524SJan Beulich select XFRM_ALGO 641da177e4SLinus Torvalds select CRYPTO 65ed58dd41SHerbert Xu select CRYPTO_AUTHENC 661da177e4SLinus Torvalds select CRYPTO_HMAC 671da177e4SLinus Torvalds select CRYPTO_MD5 686b7326c8SHerbert Xu select CRYPTO_CBC 691da177e4SLinus Torvalds select CRYPTO_SHA1 701da177e4SLinus Torvalds select CRYPTO_DES 7132b6170cSThomas Egerer select CRYPTO_ECHAINIV 721da177e4SLinus Torvalds ---help--- 731da177e4SLinus Torvalds Support for IPsec ESP. 741da177e4SLinus Torvalds 751da177e4SLinus Torvalds If unsure, say Y. 761da177e4SLinus Torvalds 777785bba2SSteffen Klassertconfig INET6_ESP_OFFLOAD 787785bba2SSteffen Klassert tristate "IPv6: ESP transformation offload" 797785bba2SSteffen Klassert depends on INET6_ESP 807785bba2SSteffen Klassert select XFRM_OFFLOAD 817785bba2SSteffen Klassert default n 827785bba2SSteffen Klassert ---help--- 837785bba2SSteffen Klassert Support for ESP transformation offload. This makes sense 847785bba2SSteffen Klassert only if this system really does IPsec and want to do it 857785bba2SSteffen Klassert with high throughput. A typical desktop system does not 867785bba2SSteffen Klassert need it, even if it does IPsec. 877785bba2SSteffen Klassert 887785bba2SSteffen Klassert If unsure, say N. 897785bba2SSteffen Klassert 901da177e4SLinus Torvaldsconfig INET6_IPCOMP 911da177e4SLinus Torvalds tristate "IPv6: IPComp transformation" 92d2acc347SHerbert Xu select INET6_XFRM_TUNNEL 936fccab67SHerbert Xu select XFRM_IPCOMP 941da177e4SLinus Torvalds ---help--- 951da177e4SLinus Torvalds Support for IP Payload Compression Protocol (IPComp) (RFC3173), 961da177e4SLinus Torvalds typically needed for IPsec. 971da177e4SLinus Torvalds 981da177e4SLinus Torvalds If unsure, say Y. 991da177e4SLinus Torvalds 100ee538268SMasahide NAKAMURAconfig IPV6_MIP6 101f9ceb16eSKees Cook tristate "IPv6: Mobility" 102ee538268SMasahide NAKAMURA select XFRM 103ee538268SMasahide NAKAMURA ---help--- 104ee538268SMasahide NAKAMURA Support for IPv6 Mobility described in RFC 3775. 105ee538268SMasahide NAKAMURA 106ee538268SMasahide NAKAMURA If unsure, say N. 107ee538268SMasahide NAKAMURA 10865d7ab8dSTom Herbertconfig IPV6_ILA 10965d7ab8dSTom Herbert tristate "IPv6: Identifier Locator Addressing (ILA)" 1108cb964daSArnd Bergmann depends on NETFILTER 11165d7ab8dSTom Herbert select LWTUNNEL 11265d7ab8dSTom Herbert ---help--- 11365d7ab8dSTom Herbert Support for IPv6 Identifier Locator Addressing (ILA). 11465d7ab8dSTom Herbert 11565d7ab8dSTom Herbert ILA is a mechanism to do network virtualization without 11665d7ab8dSTom Herbert encapsulation. The basic concept of ILA is that we split an 11765d7ab8dSTom Herbert IPv6 address into a 64 bit locator and 64 bit identifier. The 11865d7ab8dSTom Herbert identifier is the identity of an entity in communication 11965d7ab8dSTom Herbert ("who") and the locator expresses the location of the 12065d7ab8dSTom Herbert entity ("where"). 12165d7ab8dSTom Herbert 12265d7ab8dSTom Herbert ILA can be configured using the "encap ila" option with 12365d7ab8dSTom Herbert "ip -6 route" command. ILA is described in 12465d7ab8dSTom Herbert https://tools.ietf.org/html/draft-herbert-nvo3-ila-00. 12565d7ab8dSTom Herbert 12665d7ab8dSTom Herbert If unsure, say N. 12765d7ab8dSTom Herbert 128d2acc347SHerbert Xuconfig INET6_XFRM_TUNNEL 129d2acc347SHerbert Xu tristate 130d2acc347SHerbert Xu select INET6_TUNNEL 131d2acc347SHerbert Xu default n 1321da177e4SLinus Torvalds 133d2acc347SHerbert Xuconfig INET6_TUNNEL 134d2acc347SHerbert Xu tristate 135d2acc347SHerbert Xu default n 1361da177e4SLinus Torvalds 137b59f45d0SHerbert Xuconfig INET6_XFRM_MODE_TRANSPORT 138b59f45d0SHerbert Xu tristate "IPv6: IPsec transport mode" 139b59f45d0SHerbert Xu default IPV6 140b59f45d0SHerbert Xu select XFRM 141b59f45d0SHerbert Xu ---help--- 142b59f45d0SHerbert Xu Support for IPsec transport mode. 143b59f45d0SHerbert Xu 144b59f45d0SHerbert Xu If unsure, say Y. 145b59f45d0SHerbert Xu 146b59f45d0SHerbert Xuconfig INET6_XFRM_MODE_TUNNEL 147b59f45d0SHerbert Xu tristate "IPv6: IPsec tunnel mode" 148b59f45d0SHerbert Xu default IPV6 149b59f45d0SHerbert Xu select XFRM 150b59f45d0SHerbert Xu ---help--- 151b59f45d0SHerbert Xu Support for IPsec tunnel mode. 152b59f45d0SHerbert Xu 153b59f45d0SHerbert Xu If unsure, say Y. 154b59f45d0SHerbert Xu 1550a69452cSDiego Beltramiconfig INET6_XFRM_MODE_BEET 1560a69452cSDiego Beltrami tristate "IPv6: IPsec BEET mode" 1570a69452cSDiego Beltrami default IPV6 1580a69452cSDiego Beltrami select XFRM 1590a69452cSDiego Beltrami ---help--- 1600a69452cSDiego Beltrami Support for IPsec BEET mode. 1610a69452cSDiego Beltrami 1620a69452cSDiego Beltrami If unsure, say Y. 1630a69452cSDiego Beltrami 1641d71627dSMasahide NAKAMURAconfig INET6_XFRM_MODE_ROUTEOPTIMIZATION 165f9ceb16eSKees Cook tristate "IPv6: MIPv6 route optimization mode" 1661d71627dSMasahide NAKAMURA select XFRM 1671d71627dSMasahide NAKAMURA ---help--- 1681d71627dSMasahide NAKAMURA Support for MIPv6 route optimization mode. 1691d71627dSMasahide NAKAMURA 170ed1efb2aSSteffen Klassertconfig IPV6_VTI 171ed1efb2aSSteffen Klasserttristate "Virtual (secure) IPv6: tunneling" 172ed1efb2aSSteffen Klassert select IPV6_TUNNEL 173876fc03aSSteffen Klassert select NET_IP_TUNNEL 174ed1efb2aSSteffen Klassert depends on INET6_XFRM_MODE_TUNNEL 175ed1efb2aSSteffen Klassert ---help--- 176ed1efb2aSSteffen Klassert Tunneling means encapsulating data of one protocol type within 177ed1efb2aSSteffen Klassert another protocol and sending it over a channel that understands the 178ed1efb2aSSteffen Klassert encapsulating protocol. This can be used with xfrm mode tunnel to give 179ed1efb2aSSteffen Klassert the notion of a secure tunnel for IPSEC and then use routing protocol 180ed1efb2aSSteffen Klassert on top. 181ed1efb2aSSteffen Klassert 182989e5b96SJoerg Roedelconfig IPV6_SIT 183989e5b96SJoerg Roedel tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)" 184c73cb5a2SKazunori MIYAZAWA select INET_TUNNEL 185f61dd388SPravin B Shelar select NET_IP_TUNNEL 186de357cc0SYOSHIFUJI Hideaki select IPV6_NDISC_NODETYPE 187989e5b96SJoerg Roedel default y 188989e5b96SJoerg Roedel ---help--- 189989e5b96SJoerg Roedel Tunneling means encapsulating data of one protocol type within 190989e5b96SJoerg Roedel another protocol and sending it over a channel that understands the 191989e5b96SJoerg Roedel encapsulating protocol. This driver implements encapsulation of IPv6 1925c5d6dabSDavid S. Miller into IPv4 packets. This is useful if you want to connect two IPv6 193989e5b96SJoerg Roedel networks over an IPv4-only path. 194989e5b96SJoerg Roedel 1954737f097SPavel Machek Saying M here will produce a module called sit. If unsure, say Y. 196989e5b96SJoerg Roedel 197fa857afcSYOSHIFUJI Hideaki / 吉藤英明config IPV6_SIT_6RD 198f9ceb16eSKees Cook bool "IPv6: IPv6 Rapid Deployment (6RD)" 199f9ceb16eSKees Cook depends on IPV6_SIT 200fa857afcSYOSHIFUJI Hideaki / 吉藤英明 default n 201fa857afcSYOSHIFUJI Hideaki / 吉藤英明 ---help--- 202fa857afcSYOSHIFUJI Hideaki / 吉藤英明 IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon 203fa857afcSYOSHIFUJI Hideaki / 吉藤英明 mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly 204fa857afcSYOSHIFUJI Hideaki / 吉藤英明 deploy IPv6 unicast service to IPv4 sites to which it provides 205fa857afcSYOSHIFUJI Hideaki / 吉藤英明 customer premise equipment. Like 6to4, it utilizes stateless IPv6 in 206fa857afcSYOSHIFUJI Hideaki / 吉藤英明 IPv4 encapsulation in order to transit IPv4-only network 207fa857afcSYOSHIFUJI Hideaki / 吉藤英明 infrastructure. Unlike 6to4, a 6rd service provider uses an IPv6 208fa857afcSYOSHIFUJI Hideaki / 吉藤英明 prefix of its own in place of the fixed 6to4 prefix. 209fa857afcSYOSHIFUJI Hideaki / 吉藤英明 210fa857afcSYOSHIFUJI Hideaki / 吉藤英明 With this option enabled, the SIT driver offers 6rd functionality by 211fa857afcSYOSHIFUJI Hideaki / 吉藤英明 providing additional ioctl API to configure the IPv6 Prefix for in 212fa857afcSYOSHIFUJI Hideaki / 吉藤英明 stead of static 2002::/16 for 6to4. 213fa857afcSYOSHIFUJI Hideaki / 吉藤英明 214fa857afcSYOSHIFUJI Hideaki / 吉藤英明 If unsure, say N. 215fa857afcSYOSHIFUJI Hideaki / 吉藤英明 216de357cc0SYOSHIFUJI Hideakiconfig IPV6_NDISC_NODETYPE 217de357cc0SYOSHIFUJI Hideaki bool 218de357cc0SYOSHIFUJI Hideaki 2191da177e4SLinus Torvaldsconfig IPV6_TUNNEL 22038fe999eSYOSHIFUJI Hideaki tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)" 221d2acc347SHerbert Xu select INET6_TUNNEL 222607f725fSPaolo Abeni select DST_CACHE 22397e219b7SEric Dumazet select GRO_CELLS 2241da177e4SLinus Torvalds ---help--- 22538fe999eSYOSHIFUJI Hideaki Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in 22638fe999eSYOSHIFUJI Hideaki RFC 2473. 2271da177e4SLinus Torvalds 2281da177e4SLinus Torvalds If unsure, say N. 2291da177e4SLinus Torvalds 230c12b395aSxeb@mail.ruconfig IPV6_GRE 231c12b395aSxeb@mail.ru tristate "IPv6: GRE tunnel" 232c12b395aSxeb@mail.ru select IPV6_TUNNEL 233f61dd388SPravin B Shelar select NET_IP_TUNNEL 2348bf42e9eSArnd Bergmann depends on NET_IPGRE_DEMUX 235c12b395aSxeb@mail.ru ---help--- 236c12b395aSxeb@mail.ru Tunneling means encapsulating data of one protocol type within 237c12b395aSxeb@mail.ru another protocol and sending it over a channel that understands the 238c12b395aSxeb@mail.ru encapsulating protocol. This particular tunneling driver implements 239c12b395aSxeb@mail.ru GRE (Generic Routing Encapsulation) and at this time allows 240c12b395aSxeb@mail.ru encapsulating of IPv4 or IPv6 over existing IPv6 infrastructure. 241c12b395aSxeb@mail.ru This driver is useful if the other endpoint is a Cisco router: Cisco 242c12b395aSxeb@mail.ru likes GRE much better than the other Linux tunneling driver ("IP 243c12b395aSxeb@mail.ru tunneling" above). In addition, GRE allows multicast redistribution 244c12b395aSxeb@mail.ru through the tunnel. 245c12b395aSxeb@mail.ru 246c12b395aSxeb@mail.ru Saying M here will produce a module called ip6_gre. If unsure, say N. 247c12b395aSxeb@mail.ru 248fabb13dbSArnd Bergmannconfig IPV6_FOU 249fabb13dbSArnd Bergmann tristate 250fabb13dbSArnd Bergmann default NET_FOU && IPV6 251fabb13dbSArnd Bergmann 252fabb13dbSArnd Bergmannconfig IPV6_FOU_TUNNEL 253fabb13dbSArnd Bergmann tristate 254fabb13dbSArnd Bergmann default NET_FOU_IP_TUNNELS && IPV6_FOU 25595e4daa8SArnd Bergmann select IPV6_TUNNEL 256fabb13dbSArnd Bergmann 257264e91b6SVille Nuorvalaconfig IPV6_MULTIPLE_TABLES 258264e91b6SVille Nuorvala bool "IPv6: Multiple Routing Tables" 259264e91b6SVille Nuorvala select FIB_RULES 260264e91b6SVille Nuorvala ---help--- 261264e91b6SVille Nuorvala Support multiple routing tables. 262264e91b6SVille Nuorvala 2634e96c2b4SYOSHIFUJI Hideakiconfig IPV6_SUBTREES 2644e96c2b4SYOSHIFUJI Hideaki bool "IPv6: source address based routing" 265264e91b6SVille Nuorvala depends on IPV6_MULTIPLE_TABLES 2664e96c2b4SYOSHIFUJI Hideaki ---help--- 2674e96c2b4SYOSHIFUJI Hideaki Enable routing by source address or prefix. 2684e96c2b4SYOSHIFUJI Hideaki 2694e96c2b4SYOSHIFUJI Hideaki The destination address is still the primary routing key, so mixing 2704e96c2b4SYOSHIFUJI Hideaki normal and source prefix specific routes in the same routing table 2714e96c2b4SYOSHIFUJI Hideaki may sometimes lead to unintended routing behavior. This can be 2724e96c2b4SYOSHIFUJI Hideaki avoided by defining different routing tables for the normal and 2734e96c2b4SYOSHIFUJI Hideaki source prefix specific routes. 2744e96c2b4SYOSHIFUJI Hideaki 2754e96c2b4SYOSHIFUJI Hideaki If unsure, say N. 2764e96c2b4SYOSHIFUJI Hideaki 2777bc570c8SYOSHIFUJI Hideakiconfig IPV6_MROUTE 278f9ceb16eSKees Cook bool "IPv6: multicast routing" 279f9ceb16eSKees Cook depends on IPV6 2806853f21fSYuval Mintz select IP_MROUTE_COMMON 2817bc570c8SYOSHIFUJI Hideaki ---help--- 282a9f71d0dSGeorg Hofmann Support for IPv6 multicast forwarding. 2837bc570c8SYOSHIFUJI Hideaki If unsure, say N. 2847bc570c8SYOSHIFUJI Hideaki 285d1db275dSPatrick McHardyconfig IPV6_MROUTE_MULTIPLE_TABLES 286d1db275dSPatrick McHardy bool "IPv6: multicast policy routing" 287d1db275dSPatrick McHardy depends on IPV6_MROUTE 288d1db275dSPatrick McHardy select FIB_RULES 289d1db275dSPatrick McHardy help 290d1db275dSPatrick McHardy Normally, a multicast router runs a userspace daemon and decides 291d1db275dSPatrick McHardy what to do with a multicast packet based on the source and 292d1db275dSPatrick McHardy destination addresses. If you say Y here, the multicast router 293d1db275dSPatrick McHardy will also be able to take interfaces and packet marks into 294d1db275dSPatrick McHardy account and run multiple instances of userspace daemons 295d1db275dSPatrick McHardy simultaneously, each one handling a single table. 296d1db275dSPatrick McHardy 297d1db275dSPatrick McHardy If unsure, say N. 298d1db275dSPatrick McHardy 29914fb64e1SYOSHIFUJI Hideakiconfig IPV6_PIMSM_V2 300f9ceb16eSKees Cook bool "IPv6: PIM-SM version 2 support" 30114fb64e1SYOSHIFUJI Hideaki depends on IPV6_MROUTE 30214fb64e1SYOSHIFUJI Hideaki ---help--- 30314fb64e1SYOSHIFUJI Hideaki Support for IPv6 PIM multicast routing protocol PIM-SMv2. 30414fb64e1SYOSHIFUJI Hideaki If unsure, say N. 30514fb64e1SYOSHIFUJI Hideaki 30646738b13SDavid Lebrunconfig IPV6_SEG6_LWTUNNEL 30746738b13SDavid Lebrun bool "IPv6: Segment Routing Header encapsulation support" 30846738b13SDavid Lebrun depends on IPV6 30946738b13SDavid Lebrun select LWTUNNEL 310402a5bc4SDavid Lebrun select DST_CACHE 311d7a669ddSDavid Lebrun select IPV6_MULTIPLE_TABLES 31246738b13SDavid Lebrun ---help--- 31346738b13SDavid Lebrun Support for encapsulation of packets within an outer IPv6 31446738b13SDavid Lebrun header and a Segment Routing Header using the lightweight 315d1df6fd8SDavid Lebrun tunnels mechanism. Also enable support for advanced local 316d1df6fd8SDavid Lebrun processing of SRv6 packets based on their active segment. 31746738b13SDavid Lebrun 31846738b13SDavid Lebrun If unsure, say N. 31946738b13SDavid Lebrun 320bf355b8dSDavid Lebrunconfig IPV6_SEG6_HMAC 321bf355b8dSDavid Lebrun bool "IPv6: Segment Routing HMAC support" 322bf355b8dSDavid Lebrun depends on IPV6 323bf355b8dSDavid Lebrun select CRYPTO_HMAC 324bf355b8dSDavid Lebrun select CRYPTO_SHA1 325bf355b8dSDavid Lebrun select CRYPTO_SHA256 326bf355b8dSDavid Lebrun ---help--- 327bf355b8dSDavid Lebrun Support for HMAC signature generation and verification 328bf355b8dSDavid Lebrun of SR-enabled packets. 329bf355b8dSDavid Lebrun 330bf355b8dSDavid Lebrun If unsure, say N. 331bf355b8dSDavid Lebrun 332*fe94cc29SMathieu Xhonneuxconfig IPV6_SEG6_BPF 333*fe94cc29SMathieu Xhonneux def_bool y 334*fe94cc29SMathieu Xhonneux depends on IPV6_SEG6_LWTUNNEL 335*fe94cc29SMathieu Xhonneux depends on IPV6 = y 336*fe94cc29SMathieu Xhonneux 3370b18542bSJan Engelhardtendif # IPV6 338