xref: /openbmc/linux/net/ipv6/Kconfig (revision 46738b13)
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