xref: /openbmc/linux/net/ipv6/Kconfig (revision de551f2e)
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
721da177e4SLinus Torvalds	---help---
731da177e4SLinus Torvalds	  Support for IPsec ESP.
741da177e4SLinus Torvalds
751da177e4SLinus Torvalds	  If unsure, say Y.
761da177e4SLinus Torvalds
771da177e4SLinus Torvaldsconfig INET6_IPCOMP
781da177e4SLinus Torvalds	tristate "IPv6: IPComp transformation"
79d2acc347SHerbert Xu	select INET6_XFRM_TUNNEL
806fccab67SHerbert Xu	select XFRM_IPCOMP
811da177e4SLinus Torvalds	---help---
821da177e4SLinus Torvalds	  Support for IP Payload Compression Protocol (IPComp) (RFC3173),
831da177e4SLinus Torvalds	  typically needed for IPsec.
841da177e4SLinus Torvalds
851da177e4SLinus Torvalds	  If unsure, say Y.
861da177e4SLinus Torvalds
87ee538268SMasahide NAKAMURAconfig IPV6_MIP6
88f9ceb16eSKees Cook	tristate "IPv6: Mobility"
89ee538268SMasahide NAKAMURA	select XFRM
90ee538268SMasahide NAKAMURA	---help---
91ee538268SMasahide NAKAMURA	  Support for IPv6 Mobility described in RFC 3775.
92ee538268SMasahide NAKAMURA
93ee538268SMasahide NAKAMURA	  If unsure, say N.
94ee538268SMasahide NAKAMURA
95d2acc347SHerbert Xuconfig INET6_XFRM_TUNNEL
96d2acc347SHerbert Xu	tristate
97d2acc347SHerbert Xu	select INET6_TUNNEL
98d2acc347SHerbert Xu	default n
991da177e4SLinus Torvalds
100d2acc347SHerbert Xuconfig INET6_TUNNEL
101d2acc347SHerbert Xu	tristate
102d2acc347SHerbert Xu	default n
1031da177e4SLinus Torvalds
104b59f45d0SHerbert Xuconfig INET6_XFRM_MODE_TRANSPORT
105b59f45d0SHerbert Xu	tristate "IPv6: IPsec transport mode"
106b59f45d0SHerbert Xu	default IPV6
107b59f45d0SHerbert Xu	select XFRM
108b59f45d0SHerbert Xu	---help---
109b59f45d0SHerbert Xu	  Support for IPsec transport mode.
110b59f45d0SHerbert Xu
111b59f45d0SHerbert Xu	  If unsure, say Y.
112b59f45d0SHerbert Xu
113b59f45d0SHerbert Xuconfig INET6_XFRM_MODE_TUNNEL
114b59f45d0SHerbert Xu	tristate "IPv6: IPsec tunnel mode"
115b59f45d0SHerbert Xu	default IPV6
116b59f45d0SHerbert Xu	select XFRM
117b59f45d0SHerbert Xu	---help---
118b59f45d0SHerbert Xu	  Support for IPsec tunnel mode.
119b59f45d0SHerbert Xu
120b59f45d0SHerbert Xu	  If unsure, say Y.
121b59f45d0SHerbert Xu
1220a69452cSDiego Beltramiconfig INET6_XFRM_MODE_BEET
1230a69452cSDiego Beltrami	tristate "IPv6: IPsec BEET mode"
1240a69452cSDiego Beltrami	default IPV6
1250a69452cSDiego Beltrami	select XFRM
1260a69452cSDiego Beltrami	---help---
1270a69452cSDiego Beltrami	  Support for IPsec BEET mode.
1280a69452cSDiego Beltrami
1290a69452cSDiego Beltrami	  If unsure, say Y.
1300a69452cSDiego Beltrami
1311d71627dSMasahide NAKAMURAconfig INET6_XFRM_MODE_ROUTEOPTIMIZATION
132f9ceb16eSKees Cook	tristate "IPv6: MIPv6 route optimization mode"
1331d71627dSMasahide NAKAMURA	select XFRM
1341d71627dSMasahide NAKAMURA	---help---
1351d71627dSMasahide NAKAMURA	  Support for MIPv6 route optimization mode.
1361d71627dSMasahide NAKAMURA
137ed1efb2aSSteffen Klassertconfig IPV6_VTI
138ed1efb2aSSteffen Klasserttristate "Virtual (secure) IPv6: tunneling"
139ed1efb2aSSteffen Klassert	select IPV6_TUNNEL
140876fc03aSSteffen Klassert	select NET_IP_TUNNEL
141ed1efb2aSSteffen Klassert	depends on INET6_XFRM_MODE_TUNNEL
142ed1efb2aSSteffen Klassert	---help---
143ed1efb2aSSteffen Klassert	Tunneling means encapsulating data of one protocol type within
144ed1efb2aSSteffen Klassert	another protocol and sending it over a channel that understands the
145ed1efb2aSSteffen Klassert	encapsulating protocol. This can be used with xfrm mode tunnel to give
146ed1efb2aSSteffen Klassert	the notion of a secure tunnel for IPSEC and then use routing protocol
147ed1efb2aSSteffen Klassert	on top.
148ed1efb2aSSteffen Klassert
149989e5b96SJoerg Roedelconfig IPV6_SIT
150989e5b96SJoerg Roedel	tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)"
151c73cb5a2SKazunori MIYAZAWA	select INET_TUNNEL
152f61dd388SPravin B Shelar	select NET_IP_TUNNEL
153de357cc0SYOSHIFUJI Hideaki	select IPV6_NDISC_NODETYPE
154989e5b96SJoerg Roedel	default y
155989e5b96SJoerg Roedel	---help---
156989e5b96SJoerg Roedel	  Tunneling means encapsulating data of one protocol type within
157989e5b96SJoerg Roedel	  another protocol and sending it over a channel that understands the
158989e5b96SJoerg Roedel	  encapsulating protocol. This driver implements encapsulation of IPv6
1595c5d6dabSDavid S. Miller	  into IPv4 packets. This is useful if you want to connect two IPv6
160989e5b96SJoerg Roedel	  networks over an IPv4-only path.
161989e5b96SJoerg Roedel
1624737f097SPavel Machek	  Saying M here will produce a module called sit. If unsure, say Y.
163989e5b96SJoerg Roedel
164fa857afcSYOSHIFUJI Hideaki / 吉藤英明config IPV6_SIT_6RD
165f9ceb16eSKees Cook	bool "IPv6: IPv6 Rapid Deployment (6RD)"
166f9ceb16eSKees Cook	depends on IPV6_SIT
167fa857afcSYOSHIFUJI Hideaki / 吉藤英明	default n
168fa857afcSYOSHIFUJI Hideaki / 吉藤英明	---help---
169fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon
170fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly
171fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  deploy IPv6 unicast service to IPv4 sites to which it provides
172fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  customer premise equipment.  Like 6to4, it utilizes stateless IPv6 in
173fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  IPv4 encapsulation in order to transit IPv4-only network
174fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  infrastructure.  Unlike 6to4, a 6rd service provider uses an IPv6
175fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  prefix of its own in place of the fixed 6to4 prefix.
176fa857afcSYOSHIFUJI Hideaki / 吉藤英明
177fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  With this option enabled, the SIT driver offers 6rd functionality by
178fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  providing additional ioctl API to configure the IPv6 Prefix for in
179fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  stead of static 2002::/16 for 6to4.
180fa857afcSYOSHIFUJI Hideaki / 吉藤英明
181fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  If unsure, say N.
182fa857afcSYOSHIFUJI Hideaki / 吉藤英明
183de357cc0SYOSHIFUJI Hideakiconfig IPV6_NDISC_NODETYPE
184de357cc0SYOSHIFUJI Hideaki	bool
185de357cc0SYOSHIFUJI Hideaki
1861da177e4SLinus Torvaldsconfig IPV6_TUNNEL
18738fe999eSYOSHIFUJI Hideaki	tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)"
188d2acc347SHerbert Xu	select INET6_TUNNEL
1891da177e4SLinus Torvalds	---help---
19038fe999eSYOSHIFUJI Hideaki	  Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
19138fe999eSYOSHIFUJI Hideaki	  RFC 2473.
1921da177e4SLinus Torvalds
1931da177e4SLinus Torvalds	  If unsure, say N.
1941da177e4SLinus Torvalds
195c12b395aSxeb@mail.ruconfig IPV6_GRE
196c12b395aSxeb@mail.ru	tristate "IPv6: GRE tunnel"
197c12b395aSxeb@mail.ru	select IPV6_TUNNEL
198f61dd388SPravin B Shelar	select NET_IP_TUNNEL
199c12b395aSxeb@mail.ru	---help---
200c12b395aSxeb@mail.ru	  Tunneling means encapsulating data of one protocol type within
201c12b395aSxeb@mail.ru	  another protocol and sending it over a channel that understands the
202c12b395aSxeb@mail.ru	  encapsulating protocol. This particular tunneling driver implements
203c12b395aSxeb@mail.ru	  GRE (Generic Routing Encapsulation) and at this time allows
204c12b395aSxeb@mail.ru	  encapsulating of IPv4 or IPv6 over existing IPv6 infrastructure.
205c12b395aSxeb@mail.ru	  This driver is useful if the other endpoint is a Cisco router: Cisco
206c12b395aSxeb@mail.ru	  likes GRE much better than the other Linux tunneling driver ("IP
207c12b395aSxeb@mail.ru	  tunneling" above). In addition, GRE allows multicast redistribution
208c12b395aSxeb@mail.ru	  through the tunnel.
209c12b395aSxeb@mail.ru
210c12b395aSxeb@mail.ru	  Saying M here will produce a module called ip6_gre. If unsure, say N.
211c12b395aSxeb@mail.ru
212264e91b6SVille Nuorvalaconfig IPV6_MULTIPLE_TABLES
213264e91b6SVille Nuorvala	bool "IPv6: Multiple Routing Tables"
214264e91b6SVille Nuorvala	select FIB_RULES
215264e91b6SVille Nuorvala	---help---
216264e91b6SVille Nuorvala	  Support multiple routing tables.
217264e91b6SVille Nuorvala
2184e96c2b4SYOSHIFUJI Hideakiconfig IPV6_SUBTREES
2194e96c2b4SYOSHIFUJI Hideaki	bool "IPv6: source address based routing"
220264e91b6SVille Nuorvala	depends on IPV6_MULTIPLE_TABLES
2214e96c2b4SYOSHIFUJI Hideaki	---help---
2224e96c2b4SYOSHIFUJI Hideaki	  Enable routing by source address or prefix.
2234e96c2b4SYOSHIFUJI Hideaki
2244e96c2b4SYOSHIFUJI Hideaki	  The destination address is still the primary routing key, so mixing
2254e96c2b4SYOSHIFUJI Hideaki	  normal and source prefix specific routes in the same routing table
2264e96c2b4SYOSHIFUJI Hideaki	  may sometimes lead to unintended routing behavior.  This can be
2274e96c2b4SYOSHIFUJI Hideaki	  avoided by defining different routing tables for the normal and
2284e96c2b4SYOSHIFUJI Hideaki	  source prefix specific routes.
2294e96c2b4SYOSHIFUJI Hideaki
2304e96c2b4SYOSHIFUJI Hideaki	  If unsure, say N.
2314e96c2b4SYOSHIFUJI Hideaki
2327bc570c8SYOSHIFUJI Hideakiconfig IPV6_MROUTE
233f9ceb16eSKees Cook	bool "IPv6: multicast routing"
234f9ceb16eSKees Cook	depends on IPV6
2357bc570c8SYOSHIFUJI Hideaki	---help---
2367bc570c8SYOSHIFUJI Hideaki	  Experimental support for IPv6 multicast forwarding.
2377bc570c8SYOSHIFUJI Hideaki	  If unsure, say N.
2387bc570c8SYOSHIFUJI Hideaki
239d1db275dSPatrick McHardyconfig IPV6_MROUTE_MULTIPLE_TABLES
240d1db275dSPatrick McHardy	bool "IPv6: multicast policy routing"
241d1db275dSPatrick McHardy	depends on IPV6_MROUTE
242d1db275dSPatrick McHardy	select FIB_RULES
243d1db275dSPatrick McHardy	help
244d1db275dSPatrick McHardy	  Normally, a multicast router runs a userspace daemon and decides
245d1db275dSPatrick McHardy	  what to do with a multicast packet based on the source and
246d1db275dSPatrick McHardy	  destination addresses. If you say Y here, the multicast router
247d1db275dSPatrick McHardy	  will also be able to take interfaces and packet marks into
248d1db275dSPatrick McHardy	  account and run multiple instances of userspace daemons
249d1db275dSPatrick McHardy	  simultaneously, each one handling a single table.
250d1db275dSPatrick McHardy
251d1db275dSPatrick McHardy	  If unsure, say N.
252d1db275dSPatrick McHardy
25314fb64e1SYOSHIFUJI Hideakiconfig IPV6_PIMSM_V2
254f9ceb16eSKees Cook	bool "IPv6: PIM-SM version 2 support"
25514fb64e1SYOSHIFUJI Hideaki	depends on IPV6_MROUTE
25614fb64e1SYOSHIFUJI Hideaki	---help---
25714fb64e1SYOSHIFUJI Hideaki	  Support for IPv6 PIM multicast routing protocol PIM-SMv2.
25814fb64e1SYOSHIFUJI Hideaki	  If unsure, say N.
25914fb64e1SYOSHIFUJI Hideaki
2600b18542bSJan Engelhardtendif # IPV6
261