xref: /openbmc/linux/net/ipv6/Kconfig (revision 876fc03a)
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"
86a2e9b73SSam Ravnborg	default m
96a2e9b73SSam Ravnborg	---help---
106a2e9b73SSam Ravnborg	  This is complemental support for the IP version 6.
116a2e9b73SSam Ravnborg	  You will still be able to do traditional IPv4 networking as well.
126a2e9b73SSam Ravnborg
136a2e9b73SSam Ravnborg	  For general information about IPv6, see
14242260fbSChristian Kujau	  <https://en.wikipedia.org/wiki/IPv6>.
156a2e9b73SSam Ravnborg	  For Linux IPv6 development information, see <http://www.linux-ipv6.org>.
166a2e9b73SSam Ravnborg	  For specific information about IPv6 under Linux, read the HOWTO at
176a2e9b73SSam Ravnborg	  <http://www.bieringer.de/linux/IPv6/>.
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---
3870ceb4f5SYOSHIFUJI Hideaki	  This is experimental 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---
4595c385b4SNeil Horman	  This is experimental support for optimistic Duplicate
4695c385b4SNeil Horman	  Address Detection.  It allows for autoconfigured addresses
4795c385b4SNeil Horman	  to be used more quickly.
4895c385b4SNeil Horman
4995c385b4SNeil Horman	  If unsure, say N.
5095c385b4SNeil Horman
511da177e4SLinus Torvaldsconfig INET6_AH
521da177e4SLinus Torvalds	tristate "IPv6: AH transformation"
537e152524SJan Beulich	select XFRM_ALGO
541da177e4SLinus Torvalds	select CRYPTO
551da177e4SLinus Torvalds	select CRYPTO_HMAC
561da177e4SLinus Torvalds	select CRYPTO_MD5
571da177e4SLinus Torvalds	select CRYPTO_SHA1
581da177e4SLinus Torvalds	---help---
591da177e4SLinus Torvalds	  Support for IPsec AH.
601da177e4SLinus Torvalds
611da177e4SLinus Torvalds	  If unsure, say Y.
621da177e4SLinus Torvalds
631da177e4SLinus Torvaldsconfig INET6_ESP
641da177e4SLinus Torvalds	tristate "IPv6: ESP transformation"
657e152524SJan Beulich	select XFRM_ALGO
661da177e4SLinus Torvalds	select CRYPTO
67ed58dd41SHerbert Xu	select CRYPTO_AUTHENC
681da177e4SLinus Torvalds	select CRYPTO_HMAC
691da177e4SLinus Torvalds	select CRYPTO_MD5
706b7326c8SHerbert Xu	select CRYPTO_CBC
711da177e4SLinus Torvalds	select CRYPTO_SHA1
721da177e4SLinus Torvalds	select CRYPTO_DES
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
96d2acc347SHerbert Xuconfig INET6_XFRM_TUNNEL
97d2acc347SHerbert Xu	tristate
98d2acc347SHerbert Xu	select INET6_TUNNEL
99d2acc347SHerbert Xu	default n
1001da177e4SLinus Torvalds
101d2acc347SHerbert Xuconfig INET6_TUNNEL
102d2acc347SHerbert Xu	tristate
103d2acc347SHerbert Xu	default n
1041da177e4SLinus Torvalds
105b59f45d0SHerbert Xuconfig INET6_XFRM_MODE_TRANSPORT
106b59f45d0SHerbert Xu	tristate "IPv6: IPsec transport mode"
107b59f45d0SHerbert Xu	default IPV6
108b59f45d0SHerbert Xu	select XFRM
109b59f45d0SHerbert Xu	---help---
110b59f45d0SHerbert Xu	  Support for IPsec transport mode.
111b59f45d0SHerbert Xu
112b59f45d0SHerbert Xu	  If unsure, say Y.
113b59f45d0SHerbert Xu
114b59f45d0SHerbert Xuconfig INET6_XFRM_MODE_TUNNEL
115b59f45d0SHerbert Xu	tristate "IPv6: IPsec tunnel mode"
116b59f45d0SHerbert Xu	default IPV6
117b59f45d0SHerbert Xu	select XFRM
118b59f45d0SHerbert Xu	---help---
119b59f45d0SHerbert Xu	  Support for IPsec tunnel mode.
120b59f45d0SHerbert Xu
121b59f45d0SHerbert Xu	  If unsure, say Y.
122b59f45d0SHerbert Xu
1230a69452cSDiego Beltramiconfig INET6_XFRM_MODE_BEET
1240a69452cSDiego Beltrami	tristate "IPv6: IPsec BEET mode"
1250a69452cSDiego Beltrami	default IPV6
1260a69452cSDiego Beltrami	select XFRM
1270a69452cSDiego Beltrami	---help---
1280a69452cSDiego Beltrami	  Support for IPsec BEET mode.
1290a69452cSDiego Beltrami
1300a69452cSDiego Beltrami	  If unsure, say Y.
1310a69452cSDiego Beltrami
1321d71627dSMasahide NAKAMURAconfig INET6_XFRM_MODE_ROUTEOPTIMIZATION
133f9ceb16eSKees Cook	tristate "IPv6: MIPv6 route optimization mode"
1341d71627dSMasahide NAKAMURA	select XFRM
1351d71627dSMasahide NAKAMURA	---help---
1361d71627dSMasahide NAKAMURA	  Support for MIPv6 route optimization mode.
1371d71627dSMasahide NAKAMURA
138ed1efb2aSSteffen Klassertconfig IPV6_VTI
139ed1efb2aSSteffen Klasserttristate "Virtual (secure) IPv6: tunneling"
140ed1efb2aSSteffen Klassert	select IPV6_TUNNEL
141876fc03aSSteffen Klassert	select NET_IP_TUNNEL
142ed1efb2aSSteffen Klassert	depends on INET6_XFRM_MODE_TUNNEL
143ed1efb2aSSteffen Klassert	---help---
144ed1efb2aSSteffen Klassert	Tunneling means encapsulating data of one protocol type within
145ed1efb2aSSteffen Klassert	another protocol and sending it over a channel that understands the
146ed1efb2aSSteffen Klassert	encapsulating protocol. This can be used with xfrm mode tunnel to give
147ed1efb2aSSteffen Klassert	the notion of a secure tunnel for IPSEC and then use routing protocol
148ed1efb2aSSteffen Klassert	on top.
149ed1efb2aSSteffen Klassert
150989e5b96SJoerg Roedelconfig IPV6_SIT
151989e5b96SJoerg Roedel	tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)"
152c73cb5a2SKazunori MIYAZAWA	select INET_TUNNEL
153f61dd388SPravin B Shelar	select NET_IP_TUNNEL
154de357cc0SYOSHIFUJI Hideaki	select IPV6_NDISC_NODETYPE
155989e5b96SJoerg Roedel	default y
156989e5b96SJoerg Roedel	---help---
157989e5b96SJoerg Roedel	  Tunneling means encapsulating data of one protocol type within
158989e5b96SJoerg Roedel	  another protocol and sending it over a channel that understands the
159989e5b96SJoerg Roedel	  encapsulating protocol. This driver implements encapsulation of IPv6
1605c5d6dabSDavid S. Miller	  into IPv4 packets. This is useful if you want to connect two IPv6
161989e5b96SJoerg Roedel	  networks over an IPv4-only path.
162989e5b96SJoerg Roedel
1634737f097SPavel Machek	  Saying M here will produce a module called sit. If unsure, say Y.
164989e5b96SJoerg Roedel
165fa857afcSYOSHIFUJI Hideaki / 吉藤英明config IPV6_SIT_6RD
166f9ceb16eSKees Cook	bool "IPv6: IPv6 Rapid Deployment (6RD)"
167f9ceb16eSKees Cook	depends on IPV6_SIT
168fa857afcSYOSHIFUJI Hideaki / 吉藤英明	default n
169fa857afcSYOSHIFUJI Hideaki / 吉藤英明	---help---
170fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon
171fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly
172fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  deploy IPv6 unicast service to IPv4 sites to which it provides
173fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  customer premise equipment.  Like 6to4, it utilizes stateless IPv6 in
174fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  IPv4 encapsulation in order to transit IPv4-only network
175fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  infrastructure.  Unlike 6to4, a 6rd service provider uses an IPv6
176fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  prefix of its own in place of the fixed 6to4 prefix.
177fa857afcSYOSHIFUJI Hideaki / 吉藤英明
178fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  With this option enabled, the SIT driver offers 6rd functionality by
179fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  providing additional ioctl API to configure the IPv6 Prefix for in
180fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  stead of static 2002::/16 for 6to4.
181fa857afcSYOSHIFUJI Hideaki / 吉藤英明
182fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  If unsure, say N.
183fa857afcSYOSHIFUJI Hideaki / 吉藤英明
184de357cc0SYOSHIFUJI Hideakiconfig IPV6_NDISC_NODETYPE
185de357cc0SYOSHIFUJI Hideaki	bool
186de357cc0SYOSHIFUJI Hideaki
1871da177e4SLinus Torvaldsconfig IPV6_TUNNEL
18838fe999eSYOSHIFUJI Hideaki	tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)"
189d2acc347SHerbert Xu	select INET6_TUNNEL
1901da177e4SLinus Torvalds	---help---
19138fe999eSYOSHIFUJI Hideaki	  Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
19238fe999eSYOSHIFUJI Hideaki	  RFC 2473.
1931da177e4SLinus Torvalds
1941da177e4SLinus Torvalds	  If unsure, say N.
1951da177e4SLinus Torvalds
196c12b395aSxeb@mail.ruconfig IPV6_GRE
197c12b395aSxeb@mail.ru	tristate "IPv6: GRE tunnel"
198c12b395aSxeb@mail.ru	select IPV6_TUNNEL
199f61dd388SPravin B Shelar	select NET_IP_TUNNEL
200c12b395aSxeb@mail.ru	---help---
201c12b395aSxeb@mail.ru	  Tunneling means encapsulating data of one protocol type within
202c12b395aSxeb@mail.ru	  another protocol and sending it over a channel that understands the
203c12b395aSxeb@mail.ru	  encapsulating protocol. This particular tunneling driver implements
204c12b395aSxeb@mail.ru	  GRE (Generic Routing Encapsulation) and at this time allows
205c12b395aSxeb@mail.ru	  encapsulating of IPv4 or IPv6 over existing IPv6 infrastructure.
206c12b395aSxeb@mail.ru	  This driver is useful if the other endpoint is a Cisco router: Cisco
207c12b395aSxeb@mail.ru	  likes GRE much better than the other Linux tunneling driver ("IP
208c12b395aSxeb@mail.ru	  tunneling" above). In addition, GRE allows multicast redistribution
209c12b395aSxeb@mail.ru	  through the tunnel.
210c12b395aSxeb@mail.ru
211c12b395aSxeb@mail.ru	  Saying M here will produce a module called ip6_gre. If unsure, say N.
212c12b395aSxeb@mail.ru
213264e91b6SVille Nuorvalaconfig IPV6_MULTIPLE_TABLES
214264e91b6SVille Nuorvala	bool "IPv6: Multiple Routing Tables"
215264e91b6SVille Nuorvala	select FIB_RULES
216264e91b6SVille Nuorvala	---help---
217264e91b6SVille Nuorvala	  Support multiple routing tables.
218264e91b6SVille Nuorvala
2194e96c2b4SYOSHIFUJI Hideakiconfig IPV6_SUBTREES
2204e96c2b4SYOSHIFUJI Hideaki	bool "IPv6: source address based routing"
221264e91b6SVille Nuorvala	depends on IPV6_MULTIPLE_TABLES
2224e96c2b4SYOSHIFUJI Hideaki	---help---
2234e96c2b4SYOSHIFUJI Hideaki	  Enable routing by source address or prefix.
2244e96c2b4SYOSHIFUJI Hideaki
2254e96c2b4SYOSHIFUJI Hideaki	  The destination address is still the primary routing key, so mixing
2264e96c2b4SYOSHIFUJI Hideaki	  normal and source prefix specific routes in the same routing table
2274e96c2b4SYOSHIFUJI Hideaki	  may sometimes lead to unintended routing behavior.  This can be
2284e96c2b4SYOSHIFUJI Hideaki	  avoided by defining different routing tables for the normal and
2294e96c2b4SYOSHIFUJI Hideaki	  source prefix specific routes.
2304e96c2b4SYOSHIFUJI Hideaki
2314e96c2b4SYOSHIFUJI Hideaki	  If unsure, say N.
2324e96c2b4SYOSHIFUJI Hideaki
2337bc570c8SYOSHIFUJI Hideakiconfig IPV6_MROUTE
234f9ceb16eSKees Cook	bool "IPv6: multicast routing"
235f9ceb16eSKees Cook	depends on IPV6
2367bc570c8SYOSHIFUJI Hideaki	---help---
2377bc570c8SYOSHIFUJI Hideaki	  Experimental support for IPv6 multicast forwarding.
2387bc570c8SYOSHIFUJI Hideaki	  If unsure, say N.
2397bc570c8SYOSHIFUJI Hideaki
240d1db275dSPatrick McHardyconfig IPV6_MROUTE_MULTIPLE_TABLES
241d1db275dSPatrick McHardy	bool "IPv6: multicast policy routing"
242d1db275dSPatrick McHardy	depends on IPV6_MROUTE
243d1db275dSPatrick McHardy	select FIB_RULES
244d1db275dSPatrick McHardy	help
245d1db275dSPatrick McHardy	  Normally, a multicast router runs a userspace daemon and decides
246d1db275dSPatrick McHardy	  what to do with a multicast packet based on the source and
247d1db275dSPatrick McHardy	  destination addresses. If you say Y here, the multicast router
248d1db275dSPatrick McHardy	  will also be able to take interfaces and packet marks into
249d1db275dSPatrick McHardy	  account and run multiple instances of userspace daemons
250d1db275dSPatrick McHardy	  simultaneously, each one handling a single table.
251d1db275dSPatrick McHardy
252d1db275dSPatrick McHardy	  If unsure, say N.
253d1db275dSPatrick McHardy
25414fb64e1SYOSHIFUJI Hideakiconfig IPV6_PIMSM_V2
255f9ceb16eSKees Cook	bool "IPv6: PIM-SM version 2 support"
25614fb64e1SYOSHIFUJI Hideaki	depends on IPV6_MROUTE
25714fb64e1SYOSHIFUJI Hideaki	---help---
25814fb64e1SYOSHIFUJI Hideaki	  Support for IPv6 PIM multicast routing protocol PIM-SMv2.
25914fb64e1SYOSHIFUJI Hideaki	  If unsure, say N.
26014fb64e1SYOSHIFUJI Hideaki
2610b18542bSJan Engelhardtendif # IPV6
262