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--- 3770ceb4f5SYOSHIFUJI Hideaki This is experimental 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--- 4495c385b4SNeil Horman This is experimental support for optimistic Duplicate 4595c385b4SNeil Horman Address Detection. It allows for autoconfigured addresses 4695c385b4SNeil Horman 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" 527e152524SJan Beulich select XFRM_ALGO 531da177e4SLinus Torvalds select CRYPTO 541da177e4SLinus Torvalds select CRYPTO_HMAC 551da177e4SLinus Torvalds select CRYPTO_MD5 561da177e4SLinus Torvalds select CRYPTO_SHA1 571da177e4SLinus Torvalds ---help--- 581da177e4SLinus Torvalds Support for IPsec AH. 591da177e4SLinus Torvalds 601da177e4SLinus Torvalds If unsure, say Y. 611da177e4SLinus Torvalds 621da177e4SLinus Torvaldsconfig INET6_ESP 631da177e4SLinus Torvalds tristate "IPv6: ESP transformation" 647e152524SJan Beulich select XFRM_ALGO 651da177e4SLinus Torvalds select CRYPTO 66ed58dd41SHerbert Xu select CRYPTO_AUTHENC 671da177e4SLinus Torvalds select CRYPTO_HMAC 681da177e4SLinus Torvalds select CRYPTO_MD5 696b7326c8SHerbert Xu select CRYPTO_CBC 701da177e4SLinus Torvalds select CRYPTO_SHA1 711da177e4SLinus Torvalds select CRYPTO_DES 7232b6170cSThomas Egerer select CRYPTO_ECHAINIV 731da177e4SLinus Torvalds ---help--- 741da177e4SLinus Torvalds Support for IPsec ESP. 751da177e4SLinus Torvalds 761da177e4SLinus Torvalds If unsure, say Y. 771da177e4SLinus Torvalds 781da177e4SLinus Torvaldsconfig INET6_IPCOMP 791da177e4SLinus Torvalds tristate "IPv6: IPComp transformation" 80d2acc347SHerbert Xu select INET6_XFRM_TUNNEL 816fccab67SHerbert Xu select XFRM_IPCOMP 821da177e4SLinus Torvalds ---help--- 831da177e4SLinus Torvalds Support for IP Payload Compression Protocol (IPComp) (RFC3173), 841da177e4SLinus Torvalds typically needed for IPsec. 851da177e4SLinus Torvalds 861da177e4SLinus Torvalds If unsure, say Y. 871da177e4SLinus Torvalds 88ee538268SMasahide NAKAMURAconfig IPV6_MIP6 89f9ceb16eSKees Cook tristate "IPv6: Mobility" 90ee538268SMasahide NAKAMURA select XFRM 91ee538268SMasahide NAKAMURA ---help--- 92ee538268SMasahide NAKAMURA Support for IPv6 Mobility described in RFC 3775. 93ee538268SMasahide NAKAMURA 94ee538268SMasahide NAKAMURA If unsure, say N. 95ee538268SMasahide NAKAMURA 9665d7ab8dSTom Herbertconfig IPV6_ILA 9765d7ab8dSTom Herbert tristate "IPv6: Identifier Locator Addressing (ILA)" 988cb964daSArnd Bergmann depends on NETFILTER 9965d7ab8dSTom Herbert select LWTUNNEL 10065d7ab8dSTom Herbert ---help--- 10165d7ab8dSTom Herbert Support for IPv6 Identifier Locator Addressing (ILA). 10265d7ab8dSTom Herbert 10365d7ab8dSTom Herbert ILA is a mechanism to do network virtualization without 10465d7ab8dSTom Herbert encapsulation. The basic concept of ILA is that we split an 10565d7ab8dSTom Herbert IPv6 address into a 64 bit locator and 64 bit identifier. The 10665d7ab8dSTom Herbert identifier is the identity of an entity in communication 10765d7ab8dSTom Herbert ("who") and the locator expresses the location of the 10865d7ab8dSTom Herbert entity ("where"). 10965d7ab8dSTom Herbert 11065d7ab8dSTom Herbert ILA can be configured using the "encap ila" option with 11165d7ab8dSTom Herbert "ip -6 route" command. ILA is described in 11265d7ab8dSTom Herbert https://tools.ietf.org/html/draft-herbert-nvo3-ila-00. 11365d7ab8dSTom Herbert 11465d7ab8dSTom Herbert If unsure, say N. 11565d7ab8dSTom Herbert 116d2acc347SHerbert Xuconfig INET6_XFRM_TUNNEL 117d2acc347SHerbert Xu tristate 118d2acc347SHerbert Xu select INET6_TUNNEL 119d2acc347SHerbert Xu default n 1201da177e4SLinus Torvalds 121d2acc347SHerbert Xuconfig INET6_TUNNEL 122d2acc347SHerbert Xu tristate 123d2acc347SHerbert Xu default n 1241da177e4SLinus Torvalds 125b59f45d0SHerbert Xuconfig INET6_XFRM_MODE_TRANSPORT 126b59f45d0SHerbert Xu tristate "IPv6: IPsec transport mode" 127b59f45d0SHerbert Xu default IPV6 128b59f45d0SHerbert Xu select XFRM 129b59f45d0SHerbert Xu ---help--- 130b59f45d0SHerbert Xu Support for IPsec transport mode. 131b59f45d0SHerbert Xu 132b59f45d0SHerbert Xu If unsure, say Y. 133b59f45d0SHerbert Xu 134b59f45d0SHerbert Xuconfig INET6_XFRM_MODE_TUNNEL 135b59f45d0SHerbert Xu tristate "IPv6: IPsec tunnel mode" 136b59f45d0SHerbert Xu default IPV6 137b59f45d0SHerbert Xu select XFRM 138b59f45d0SHerbert Xu ---help--- 139b59f45d0SHerbert Xu Support for IPsec tunnel mode. 140b59f45d0SHerbert Xu 141b59f45d0SHerbert Xu If unsure, say Y. 142b59f45d0SHerbert Xu 1430a69452cSDiego Beltramiconfig INET6_XFRM_MODE_BEET 1440a69452cSDiego Beltrami tristate "IPv6: IPsec BEET mode" 1450a69452cSDiego Beltrami default IPV6 1460a69452cSDiego Beltrami select XFRM 1470a69452cSDiego Beltrami ---help--- 1480a69452cSDiego Beltrami Support for IPsec BEET mode. 1490a69452cSDiego Beltrami 1500a69452cSDiego Beltrami If unsure, say Y. 1510a69452cSDiego Beltrami 1521d71627dSMasahide NAKAMURAconfig INET6_XFRM_MODE_ROUTEOPTIMIZATION 153f9ceb16eSKees Cook tristate "IPv6: MIPv6 route optimization mode" 1541d71627dSMasahide NAKAMURA select XFRM 1551d71627dSMasahide NAKAMURA ---help--- 1561d71627dSMasahide NAKAMURA Support for MIPv6 route optimization mode. 1571d71627dSMasahide NAKAMURA 158ed1efb2aSSteffen Klassertconfig IPV6_VTI 159ed1efb2aSSteffen Klasserttristate "Virtual (secure) IPv6: tunneling" 160ed1efb2aSSteffen Klassert select IPV6_TUNNEL 161876fc03aSSteffen Klassert select NET_IP_TUNNEL 162ed1efb2aSSteffen Klassert depends on INET6_XFRM_MODE_TUNNEL 163ed1efb2aSSteffen Klassert ---help--- 164ed1efb2aSSteffen Klassert Tunneling means encapsulating data of one protocol type within 165ed1efb2aSSteffen Klassert another protocol and sending it over a channel that understands the 166ed1efb2aSSteffen Klassert encapsulating protocol. This can be used with xfrm mode tunnel to give 167ed1efb2aSSteffen Klassert the notion of a secure tunnel for IPSEC and then use routing protocol 168ed1efb2aSSteffen Klassert on top. 169ed1efb2aSSteffen Klassert 170989e5b96SJoerg Roedelconfig IPV6_SIT 171989e5b96SJoerg Roedel tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)" 172c73cb5a2SKazunori MIYAZAWA select INET_TUNNEL 173f61dd388SPravin B Shelar select NET_IP_TUNNEL 174de357cc0SYOSHIFUJI Hideaki select IPV6_NDISC_NODETYPE 175989e5b96SJoerg Roedel default y 176989e5b96SJoerg Roedel ---help--- 177989e5b96SJoerg Roedel Tunneling means encapsulating data of one protocol type within 178989e5b96SJoerg Roedel another protocol and sending it over a channel that understands the 179989e5b96SJoerg Roedel encapsulating protocol. This driver implements encapsulation of IPv6 1805c5d6dabSDavid S. Miller into IPv4 packets. This is useful if you want to connect two IPv6 181989e5b96SJoerg Roedel networks over an IPv4-only path. 182989e5b96SJoerg Roedel 1834737f097SPavel Machek Saying M here will produce a module called sit. If unsure, say Y. 184989e5b96SJoerg Roedel 185fa857afcSYOSHIFUJI Hideaki / 吉藤英明config IPV6_SIT_6RD 186f9ceb16eSKees Cook bool "IPv6: IPv6 Rapid Deployment (6RD)" 187f9ceb16eSKees Cook depends on IPV6_SIT 188fa857afcSYOSHIFUJI Hideaki / 吉藤英明 default n 189fa857afcSYOSHIFUJI Hideaki / 吉藤英明 ---help--- 190fa857afcSYOSHIFUJI Hideaki / 吉藤英明 IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon 191fa857afcSYOSHIFUJI Hideaki / 吉藤英明 mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly 192fa857afcSYOSHIFUJI Hideaki / 吉藤英明 deploy IPv6 unicast service to IPv4 sites to which it provides 193fa857afcSYOSHIFUJI Hideaki / 吉藤英明 customer premise equipment. Like 6to4, it utilizes stateless IPv6 in 194fa857afcSYOSHIFUJI Hideaki / 吉藤英明 IPv4 encapsulation in order to transit IPv4-only network 195fa857afcSYOSHIFUJI Hideaki / 吉藤英明 infrastructure. Unlike 6to4, a 6rd service provider uses an IPv6 196fa857afcSYOSHIFUJI Hideaki / 吉藤英明 prefix of its own in place of the fixed 6to4 prefix. 197fa857afcSYOSHIFUJI Hideaki / 吉藤英明 198fa857afcSYOSHIFUJI Hideaki / 吉藤英明 With this option enabled, the SIT driver offers 6rd functionality by 199fa857afcSYOSHIFUJI Hideaki / 吉藤英明 providing additional ioctl API to configure the IPv6 Prefix for in 200fa857afcSYOSHIFUJI Hideaki / 吉藤英明 stead of static 2002::/16 for 6to4. 201fa857afcSYOSHIFUJI Hideaki / 吉藤英明 202fa857afcSYOSHIFUJI Hideaki / 吉藤英明 If unsure, say N. 203fa857afcSYOSHIFUJI Hideaki / 吉藤英明 204de357cc0SYOSHIFUJI Hideakiconfig IPV6_NDISC_NODETYPE 205de357cc0SYOSHIFUJI Hideaki bool 206de357cc0SYOSHIFUJI Hideaki 2071da177e4SLinus Torvaldsconfig IPV6_TUNNEL 20838fe999eSYOSHIFUJI Hideaki tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)" 209d2acc347SHerbert Xu select INET6_TUNNEL 210607f725fSPaolo Abeni select DST_CACHE 2111da177e4SLinus Torvalds ---help--- 21238fe999eSYOSHIFUJI Hideaki Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in 21338fe999eSYOSHIFUJI Hideaki RFC 2473. 2141da177e4SLinus Torvalds 2151da177e4SLinus Torvalds If unsure, say N. 2161da177e4SLinus Torvalds 217c12b395aSxeb@mail.ruconfig IPV6_GRE 218c12b395aSxeb@mail.ru tristate "IPv6: GRE tunnel" 219c12b395aSxeb@mail.ru select IPV6_TUNNEL 220f61dd388SPravin B Shelar select NET_IP_TUNNEL 2218bf42e9eSArnd Bergmann depends on NET_IPGRE_DEMUX 222c12b395aSxeb@mail.ru ---help--- 223c12b395aSxeb@mail.ru Tunneling means encapsulating data of one protocol type within 224c12b395aSxeb@mail.ru another protocol and sending it over a channel that understands the 225c12b395aSxeb@mail.ru encapsulating protocol. This particular tunneling driver implements 226c12b395aSxeb@mail.ru GRE (Generic Routing Encapsulation) and at this time allows 227c12b395aSxeb@mail.ru encapsulating of IPv4 or IPv6 over existing IPv6 infrastructure. 228c12b395aSxeb@mail.ru This driver is useful if the other endpoint is a Cisco router: Cisco 229c12b395aSxeb@mail.ru likes GRE much better than the other Linux tunneling driver ("IP 230c12b395aSxeb@mail.ru tunneling" above). In addition, GRE allows multicast redistribution 231c12b395aSxeb@mail.ru through the tunnel. 232c12b395aSxeb@mail.ru 233c12b395aSxeb@mail.ru Saying M here will produce a module called ip6_gre. If unsure, say N. 234c12b395aSxeb@mail.ru 235fabb13dbSArnd Bergmannconfig IPV6_FOU 236fabb13dbSArnd Bergmann tristate 237fabb13dbSArnd Bergmann default NET_FOU && IPV6 238fabb13dbSArnd Bergmann 239fabb13dbSArnd Bergmannconfig IPV6_FOU_TUNNEL 240fabb13dbSArnd Bergmann tristate 241fabb13dbSArnd Bergmann default NET_FOU_IP_TUNNELS && IPV6_FOU 24295e4daa8SArnd Bergmann select IPV6_TUNNEL 243fabb13dbSArnd Bergmann 244264e91b6SVille Nuorvalaconfig IPV6_MULTIPLE_TABLES 245264e91b6SVille Nuorvala bool "IPv6: Multiple Routing Tables" 246264e91b6SVille Nuorvala select FIB_RULES 247264e91b6SVille Nuorvala ---help--- 248264e91b6SVille Nuorvala Support multiple routing tables. 249264e91b6SVille Nuorvala 2504e96c2b4SYOSHIFUJI Hideakiconfig IPV6_SUBTREES 2514e96c2b4SYOSHIFUJI Hideaki bool "IPv6: source address based routing" 252264e91b6SVille Nuorvala depends on IPV6_MULTIPLE_TABLES 2534e96c2b4SYOSHIFUJI Hideaki ---help--- 2544e96c2b4SYOSHIFUJI Hideaki Enable routing by source address or prefix. 2554e96c2b4SYOSHIFUJI Hideaki 2564e96c2b4SYOSHIFUJI Hideaki The destination address is still the primary routing key, so mixing 2574e96c2b4SYOSHIFUJI Hideaki normal and source prefix specific routes in the same routing table 2584e96c2b4SYOSHIFUJI Hideaki may sometimes lead to unintended routing behavior. This can be 2594e96c2b4SYOSHIFUJI Hideaki avoided by defining different routing tables for the normal and 2604e96c2b4SYOSHIFUJI Hideaki source prefix specific routes. 2614e96c2b4SYOSHIFUJI Hideaki 2624e96c2b4SYOSHIFUJI Hideaki If unsure, say N. 2634e96c2b4SYOSHIFUJI Hideaki 2647bc570c8SYOSHIFUJI Hideakiconfig IPV6_MROUTE 265f9ceb16eSKees Cook bool "IPv6: multicast routing" 266f9ceb16eSKees Cook depends on IPV6 2677bc570c8SYOSHIFUJI Hideaki ---help--- 2687bc570c8SYOSHIFUJI Hideaki Experimental support for IPv6 multicast forwarding. 2697bc570c8SYOSHIFUJI Hideaki If unsure, say N. 2707bc570c8SYOSHIFUJI Hideaki 271d1db275dSPatrick McHardyconfig IPV6_MROUTE_MULTIPLE_TABLES 272d1db275dSPatrick McHardy bool "IPv6: multicast policy routing" 273d1db275dSPatrick McHardy depends on IPV6_MROUTE 274d1db275dSPatrick McHardy select FIB_RULES 275d1db275dSPatrick McHardy help 276d1db275dSPatrick McHardy Normally, a multicast router runs a userspace daemon and decides 277d1db275dSPatrick McHardy what to do with a multicast packet based on the source and 278d1db275dSPatrick McHardy destination addresses. If you say Y here, the multicast router 279d1db275dSPatrick McHardy will also be able to take interfaces and packet marks into 280d1db275dSPatrick McHardy account and run multiple instances of userspace daemons 281d1db275dSPatrick McHardy simultaneously, each one handling a single table. 282d1db275dSPatrick McHardy 283d1db275dSPatrick McHardy If unsure, say N. 284d1db275dSPatrick McHardy 28514fb64e1SYOSHIFUJI Hideakiconfig IPV6_PIMSM_V2 286f9ceb16eSKees Cook bool "IPv6: PIM-SM version 2 support" 28714fb64e1SYOSHIFUJI Hideaki depends on IPV6_MROUTE 28814fb64e1SYOSHIFUJI Hideaki ---help--- 28914fb64e1SYOSHIFUJI Hideaki Support for IPv6 PIM multicast routing protocol PIM-SMv2. 29014fb64e1SYOSHIFUJI Hideaki If unsure, say N. 29114fb64e1SYOSHIFUJI Hideaki 292*46738b13SDavid Lebrunconfig IPV6_SEG6_LWTUNNEL 293*46738b13SDavid Lebrun bool "IPv6: Segment Routing Header encapsulation support" 294*46738b13SDavid Lebrun depends on IPV6 295*46738b13SDavid Lebrun select LWTUNNEL 296*46738b13SDavid Lebrun ---help--- 297*46738b13SDavid Lebrun Support for encapsulation of packets within an outer IPv6 298*46738b13SDavid Lebrun header and a Segment Routing Header using the lightweight 299*46738b13SDavid Lebrun tunnels mechanism. 300*46738b13SDavid Lebrun 301*46738b13SDavid Lebrun If unsure, say N. 302*46738b13SDavid Lebrun 3036c8702c6SDavid Lebrunconfig IPV6_SEG6_INLINE 3046c8702c6SDavid Lebrun bool "IPv6: direct Segment Routing Header insertion " 305*46738b13SDavid Lebrun depends on IPV6_SEG6_LWTUNNEL 3066c8702c6SDavid Lebrun ---help--- 3076c8702c6SDavid Lebrun Support for direct insertion of the Segment Routing Header, 3086c8702c6SDavid Lebrun also known as inline mode. Be aware that direct insertion of 3096c8702c6SDavid Lebrun extension headers (as opposed to encapsulation) may break 3106c8702c6SDavid Lebrun multiple mechanisms such as PMTUD or IPSec AH. Use this feature 3116c8702c6SDavid Lebrun only if you know exactly what you are doing. 3126c8702c6SDavid Lebrun 3136c8702c6SDavid Lebrun If unsure, say N. 3146c8702c6SDavid Lebrun 315bf355b8dSDavid Lebrunconfig IPV6_SEG6_HMAC 316bf355b8dSDavid Lebrun bool "IPv6: Segment Routing HMAC support" 317bf355b8dSDavid Lebrun depends on IPV6 318bf355b8dSDavid Lebrun select CRYPTO_HMAC 319bf355b8dSDavid Lebrun select CRYPTO_SHA1 320bf355b8dSDavid Lebrun select CRYPTO_SHA256 321bf355b8dSDavid Lebrun ---help--- 322bf355b8dSDavid Lebrun Support for HMAC signature generation and verification 323bf355b8dSDavid Lebrun of SR-enabled packets. 324bf355b8dSDavid Lebrun 325bf355b8dSDavid Lebrun If unsure, say N. 326bf355b8dSDavid Lebrun 3270b18542bSJan Engelhardtendif # IPV6 328