xref: /openbmc/linux/net/ipv6/Kconfig (revision 242260fb)
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
14*242260fbSChristian 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
241da177e4SLinus Torvaldsconfig IPV6_PRIVACY
25692105b8SMatt LaPlante	bool "IPv6: Privacy Extensions (RFC 3041) support"
261da177e4SLinus Torvalds	---help---
271da177e4SLinus Torvalds	  Privacy Extensions for Stateless Address Autoconfiguration in IPv6
28692105b8SMatt LaPlante	  support.  With this option, additional periodically-altered
29692105b8SMatt LaPlante	  pseudo-random global-scope unicast address(es) will be assigned to
301da177e4SLinus Torvalds	  your interface(s).
311da177e4SLinus Torvalds
32692105b8SMatt LaPlante	  We use our standard pseudo-random algorithm to generate the
33692105b8SMatt LaPlante          randomized interface identifier, instead of one described in RFC 3041.
34955189efSYOSHIFUJI Hideaki
35692105b8SMatt LaPlante	  By default the kernel does not generate temporary addresses.
361da177e4SLinus Torvalds	  To use temporary addresses, do
371da177e4SLinus Torvalds
381da177e4SLinus Torvalds	        echo 2 >/proc/sys/net/ipv6/conf/all/use_tempaddr
391da177e4SLinus Torvalds
401da177e4SLinus Torvalds	  See <file:Documentation/networking/ip-sysctl.txt> for details.
411da177e4SLinus Torvalds
42ebacaaa0SYOSHIFUJI Hideakiconfig IPV6_ROUTER_PREF
43ebacaaa0SYOSHIFUJI Hideaki	bool "IPv6: Router Preference (RFC 4191) support"
44ebacaaa0SYOSHIFUJI Hideaki	---help---
45ebacaaa0SYOSHIFUJI Hideaki	  Router Preference is an optional extension to the Router
46692105b8SMatt LaPlante	  Advertisement message which improves the ability of hosts
47692105b8SMatt LaPlante	  to pick an appropriate router, especially when the hosts
48692105b8SMatt LaPlante	  are placed in a multi-homed network.
49ebacaaa0SYOSHIFUJI Hideaki
50ebacaaa0SYOSHIFUJI Hideaki	  If unsure, say N.
51ebacaaa0SYOSHIFUJI Hideaki
5270ceb4f5SYOSHIFUJI Hideakiconfig IPV6_ROUTE_INFO
5370ceb4f5SYOSHIFUJI Hideaki	bool "IPv6: Route Information (RFC 4191) support (EXPERIMENTAL)"
5470ceb4f5SYOSHIFUJI Hideaki	depends on IPV6_ROUTER_PREF && EXPERIMENTAL
5570ceb4f5SYOSHIFUJI Hideaki	---help---
5670ceb4f5SYOSHIFUJI Hideaki	  This is experimental support of Route Information.
5770ceb4f5SYOSHIFUJI Hideaki
5870ceb4f5SYOSHIFUJI Hideaki	  If unsure, say N.
5970ceb4f5SYOSHIFUJI Hideaki
6095c385b4SNeil Hormanconfig IPV6_OPTIMISTIC_DAD
6195c385b4SNeil Horman	bool "IPv6: Enable RFC 4429 Optimistic DAD (EXPERIMENTAL)"
620b18542bSJan Engelhardt	depends on EXPERIMENTAL
6395c385b4SNeil Horman	---help---
6495c385b4SNeil Horman	  This is experimental support for optimistic Duplicate
6595c385b4SNeil Horman	  Address Detection.  It allows for autoconfigured addresses
6695c385b4SNeil Horman	  to be used more quickly.
6795c385b4SNeil Horman
6895c385b4SNeil Horman	  If unsure, say N.
6995c385b4SNeil Horman
701da177e4SLinus Torvaldsconfig INET6_AH
711da177e4SLinus Torvalds	tristate "IPv6: AH transformation"
727e152524SJan Beulich	select XFRM_ALGO
731da177e4SLinus Torvalds	select CRYPTO
741da177e4SLinus Torvalds	select CRYPTO_HMAC
751da177e4SLinus Torvalds	select CRYPTO_MD5
761da177e4SLinus Torvalds	select CRYPTO_SHA1
771da177e4SLinus Torvalds	---help---
781da177e4SLinus Torvalds	  Support for IPsec AH.
791da177e4SLinus Torvalds
801da177e4SLinus Torvalds	  If unsure, say Y.
811da177e4SLinus Torvalds
821da177e4SLinus Torvaldsconfig INET6_ESP
831da177e4SLinus Torvalds	tristate "IPv6: ESP transformation"
847e152524SJan Beulich	select XFRM_ALGO
851da177e4SLinus Torvalds	select CRYPTO
86ed58dd41SHerbert Xu	select CRYPTO_AUTHENC
871da177e4SLinus Torvalds	select CRYPTO_HMAC
881da177e4SLinus Torvalds	select CRYPTO_MD5
896b7326c8SHerbert Xu	select CRYPTO_CBC
901da177e4SLinus Torvalds	select CRYPTO_SHA1
911da177e4SLinus Torvalds	select CRYPTO_DES
921da177e4SLinus Torvalds	---help---
931da177e4SLinus Torvalds	  Support for IPsec ESP.
941da177e4SLinus Torvalds
951da177e4SLinus Torvalds	  If unsure, say Y.
961da177e4SLinus Torvalds
971da177e4SLinus Torvaldsconfig INET6_IPCOMP
981da177e4SLinus Torvalds	tristate "IPv6: IPComp transformation"
99d2acc347SHerbert Xu	select INET6_XFRM_TUNNEL
1006fccab67SHerbert Xu	select XFRM_IPCOMP
1011da177e4SLinus Torvalds	---help---
1021da177e4SLinus Torvalds	  Support for IP Payload Compression Protocol (IPComp) (RFC3173),
1031da177e4SLinus Torvalds	  typically needed for IPsec.
1041da177e4SLinus Torvalds
1051da177e4SLinus Torvalds	  If unsure, say Y.
1061da177e4SLinus Torvalds
107ee538268SMasahide NAKAMURAconfig IPV6_MIP6
10859fbb3a6SMasahide NAKAMURA	tristate "IPv6: Mobility (EXPERIMENTAL)"
1090b18542bSJan Engelhardt	depends on EXPERIMENTAL
110ee538268SMasahide NAKAMURA	select XFRM
111ee538268SMasahide NAKAMURA	---help---
112ee538268SMasahide NAKAMURA	  Support for IPv6 Mobility described in RFC 3775.
113ee538268SMasahide NAKAMURA
114ee538268SMasahide NAKAMURA	  If unsure, say N.
115ee538268SMasahide NAKAMURA
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
1531d71627dSMasahide NAKAMURA	tristate "IPv6: MIPv6 route optimization mode (EXPERIMENTAL)"
1540b18542bSJan Engelhardt	depends on EXPERIMENTAL
1551d71627dSMasahide NAKAMURA	select XFRM
1561d71627dSMasahide NAKAMURA	---help---
1571d71627dSMasahide NAKAMURA	  Support for MIPv6 route optimization mode.
1581d71627dSMasahide NAKAMURA
159989e5b96SJoerg Roedelconfig IPV6_SIT
160989e5b96SJoerg Roedel	tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)"
161c73cb5a2SKazunori MIYAZAWA	select INET_TUNNEL
162de357cc0SYOSHIFUJI Hideaki	select IPV6_NDISC_NODETYPE
163989e5b96SJoerg Roedel	default y
164989e5b96SJoerg Roedel	---help---
165989e5b96SJoerg Roedel	  Tunneling means encapsulating data of one protocol type within
166989e5b96SJoerg Roedel	  another protocol and sending it over a channel that understands the
167989e5b96SJoerg Roedel	  encapsulating protocol. This driver implements encapsulation of IPv6
1685c5d6dabSDavid S. Miller	  into IPv4 packets. This is useful if you want to connect two IPv6
169989e5b96SJoerg Roedel	  networks over an IPv4-only path.
170989e5b96SJoerg Roedel
1714737f097SPavel Machek	  Saying M here will produce a module called sit. If unsure, say Y.
172989e5b96SJoerg Roedel
173fa857afcSYOSHIFUJI Hideaki / 吉藤英明config IPV6_SIT_6RD
1748a6dfd43SAlexandre Cassen	bool "IPv6: IPv6 Rapid Deployment (6RD) (EXPERIMENTAL)"
175fa857afcSYOSHIFUJI Hideaki / 吉藤英明	depends on IPV6_SIT && EXPERIMENTAL
176fa857afcSYOSHIFUJI Hideaki / 吉藤英明	default n
177fa857afcSYOSHIFUJI Hideaki / 吉藤英明	---help---
178fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon
179fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly
180fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  deploy IPv6 unicast service to IPv4 sites to which it provides
181fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  customer premise equipment.  Like 6to4, it utilizes stateless IPv6 in
182fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  IPv4 encapsulation in order to transit IPv4-only network
183fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  infrastructure.  Unlike 6to4, a 6rd service provider uses an IPv6
184fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  prefix of its own in place of the fixed 6to4 prefix.
185fa857afcSYOSHIFUJI Hideaki / 吉藤英明
186fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  With this option enabled, the SIT driver offers 6rd functionality by
187fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  providing additional ioctl API to configure the IPv6 Prefix for in
188fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  stead of static 2002::/16 for 6to4.
189fa857afcSYOSHIFUJI Hideaki / 吉藤英明
190fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  If unsure, say N.
191fa857afcSYOSHIFUJI Hideaki / 吉藤英明
192de357cc0SYOSHIFUJI Hideakiconfig IPV6_NDISC_NODETYPE
193de357cc0SYOSHIFUJI Hideaki	bool
194de357cc0SYOSHIFUJI Hideaki
1951da177e4SLinus Torvaldsconfig IPV6_TUNNEL
19638fe999eSYOSHIFUJI Hideaki	tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)"
197d2acc347SHerbert Xu	select INET6_TUNNEL
1981da177e4SLinus Torvalds	---help---
19938fe999eSYOSHIFUJI Hideaki	  Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
20038fe999eSYOSHIFUJI Hideaki	  RFC 2473.
2011da177e4SLinus Torvalds
2021da177e4SLinus Torvalds	  If unsure, say N.
2031da177e4SLinus Torvalds
204c12b395aSxeb@mail.ruconfig IPV6_GRE
205c12b395aSxeb@mail.ru	tristate "IPv6: GRE tunnel"
206c12b395aSxeb@mail.ru	select IPV6_TUNNEL
207c12b395aSxeb@mail.ru	---help---
208c12b395aSxeb@mail.ru	  Tunneling means encapsulating data of one protocol type within
209c12b395aSxeb@mail.ru	  another protocol and sending it over a channel that understands the
210c12b395aSxeb@mail.ru	  encapsulating protocol. This particular tunneling driver implements
211c12b395aSxeb@mail.ru	  GRE (Generic Routing Encapsulation) and at this time allows
212c12b395aSxeb@mail.ru	  encapsulating of IPv4 or IPv6 over existing IPv6 infrastructure.
213c12b395aSxeb@mail.ru	  This driver is useful if the other endpoint is a Cisco router: Cisco
214c12b395aSxeb@mail.ru	  likes GRE much better than the other Linux tunneling driver ("IP
215c12b395aSxeb@mail.ru	  tunneling" above). In addition, GRE allows multicast redistribution
216c12b395aSxeb@mail.ru	  through the tunnel.
217c12b395aSxeb@mail.ru
218c12b395aSxeb@mail.ru	  Saying M here will produce a module called ip6_gre. If unsure, say N.
219c12b395aSxeb@mail.ru
220264e91b6SVille Nuorvalaconfig IPV6_MULTIPLE_TABLES
221264e91b6SVille Nuorvala	bool "IPv6: Multiple Routing Tables"
2220b18542bSJan Engelhardt	depends on EXPERIMENTAL
223264e91b6SVille Nuorvala	select FIB_RULES
224264e91b6SVille Nuorvala	---help---
225264e91b6SVille Nuorvala	  Support multiple routing tables.
226264e91b6SVille Nuorvala
2274e96c2b4SYOSHIFUJI Hideakiconfig IPV6_SUBTREES
2284e96c2b4SYOSHIFUJI Hideaki	bool "IPv6: source address based routing"
229264e91b6SVille Nuorvala	depends on IPV6_MULTIPLE_TABLES
2304e96c2b4SYOSHIFUJI Hideaki	---help---
2314e96c2b4SYOSHIFUJI Hideaki	  Enable routing by source address or prefix.
2324e96c2b4SYOSHIFUJI Hideaki
2334e96c2b4SYOSHIFUJI Hideaki	  The destination address is still the primary routing key, so mixing
2344e96c2b4SYOSHIFUJI Hideaki	  normal and source prefix specific routes in the same routing table
2354e96c2b4SYOSHIFUJI Hideaki	  may sometimes lead to unintended routing behavior.  This can be
2364e96c2b4SYOSHIFUJI Hideaki	  avoided by defining different routing tables for the normal and
2374e96c2b4SYOSHIFUJI Hideaki	  source prefix specific routes.
2384e96c2b4SYOSHIFUJI Hideaki
2394e96c2b4SYOSHIFUJI Hideaki	  If unsure, say N.
2404e96c2b4SYOSHIFUJI Hideaki
2417bc570c8SYOSHIFUJI Hideakiconfig IPV6_MROUTE
2427bc570c8SYOSHIFUJI Hideaki	bool "IPv6: multicast routing (EXPERIMENTAL)"
2437bc570c8SYOSHIFUJI Hideaki	depends on IPV6 && EXPERIMENTAL
2447bc570c8SYOSHIFUJI Hideaki	---help---
2457bc570c8SYOSHIFUJI Hideaki	  Experimental support for IPv6 multicast forwarding.
2467bc570c8SYOSHIFUJI Hideaki	  If unsure, say N.
2477bc570c8SYOSHIFUJI Hideaki
248d1db275dSPatrick McHardyconfig IPV6_MROUTE_MULTIPLE_TABLES
249d1db275dSPatrick McHardy	bool "IPv6: multicast policy routing"
250d1db275dSPatrick McHardy	depends on IPV6_MROUTE
251d1db275dSPatrick McHardy	select FIB_RULES
252d1db275dSPatrick McHardy	help
253d1db275dSPatrick McHardy	  Normally, a multicast router runs a userspace daemon and decides
254d1db275dSPatrick McHardy	  what to do with a multicast packet based on the source and
255d1db275dSPatrick McHardy	  destination addresses. If you say Y here, the multicast router
256d1db275dSPatrick McHardy	  will also be able to take interfaces and packet marks into
257d1db275dSPatrick McHardy	  account and run multiple instances of userspace daemons
258d1db275dSPatrick McHardy	  simultaneously, each one handling a single table.
259d1db275dSPatrick McHardy
260d1db275dSPatrick McHardy	  If unsure, say N.
261d1db275dSPatrick McHardy
26214fb64e1SYOSHIFUJI Hideakiconfig IPV6_PIMSM_V2
26314fb64e1SYOSHIFUJI Hideaki	bool "IPv6: PIM-SM version 2 support (EXPERIMENTAL)"
26414fb64e1SYOSHIFUJI Hideaki	depends on IPV6_MROUTE
26514fb64e1SYOSHIFUJI Hideaki	---help---
26614fb64e1SYOSHIFUJI Hideaki	  Support for IPv6 PIM multicast routing protocol PIM-SMv2.
26714fb64e1SYOSHIFUJI Hideaki	  If unsure, say N.
26814fb64e1SYOSHIFUJI Hideaki
2690b18542bSJan Engelhardtendif # IPV6
270