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