2019-05-19 13:07:45 +01:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2005-04-16 15:20:36 -07:00
|
|
|
#
|
|
|
|
|
# IPv6 configuration
|
2005-07-11 21:13:56 -07:00
|
|
|
#
|
|
|
|
|
|
|
|
|
|
# IPv6 as module will cause a CRASH if you try to unload it
|
2008-04-13 23:30:47 -07:00
|
|
|
menuconfig IPV6
|
2005-07-11 21:13:56 -07:00
|
|
|
tristate "The IPv6 protocol"
|
2015-07-13 08:48:00 -07:00
|
|
|
default y
|
2022-07-09 14:18:49 -07:00
|
|
|
select CRYPTO_LIB_SHA1
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2015-07-13 08:48:00 -07:00
|
|
|
Support for IP version 6 (IPv6).
|
2005-07-11 21:13:56 -07:00
|
|
|
|
|
|
|
|
For general information about IPv6, see
|
2013-02-21 16:43:05 -08:00
|
|
|
<https://en.wikipedia.org/wiki/IPv6>.
|
2015-07-13 08:48:00 -07:00
|
|
|
For specific information about IPv6 under Linux, see
|
2020-04-28 00:01:50 +02:00
|
|
|
Documentation/networking/ipv6.rst and read the HOWTO at
|
2020-07-06 19:38:50 +02:00
|
|
|
<https://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/>
|
2005-07-11 21:13:56 -07:00
|
|
|
|
2018-07-24 12:29:18 -07:00
|
|
|
To compile this protocol support as a module, choose M here: the
|
2005-07-11 21:13:56 -07:00
|
|
|
module will be called ipv6.
|
|
|
|
|
|
2008-04-13 23:30:47 -07:00
|
|
|
if IPV6
|
|
|
|
|
|
2006-03-20 17:04:53 -08:00
|
|
|
config IPV6_ROUTER_PREF
|
|
|
|
|
bool "IPv6: Router Preference (RFC 4191) support"
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2006-03-20 17:04:53 -08:00
|
|
|
Router Preference is an optional extension to the Router
|
2009-01-26 11:12:25 +01:00
|
|
|
Advertisement message which improves the ability of hosts
|
|
|
|
|
to pick an appropriate router, especially when the hosts
|
|
|
|
|
are placed in a multi-homed network.
|
2006-03-20 17:04:53 -08:00
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2006-03-20 17:06:24 -08:00
|
|
|
config IPV6_ROUTE_INFO
|
2012-10-02 11:19:49 -07:00
|
|
|
bool "IPv6: Route Information (RFC 4191) support"
|
|
|
|
|
depends on IPV6_ROUTER_PREF
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2018-05-07 14:03:18 +02:00
|
|
|
Support of Route Information.
|
2006-03-20 17:06:24 -08:00
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2007-04-25 17:08:10 -07:00
|
|
|
config IPV6_OPTIMISTIC_DAD
|
2012-10-02 11:19:49 -07:00
|
|
|
bool "IPv6: Enable RFC 4429 Optimistic DAD"
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2018-05-07 14:03:18 +02:00
|
|
|
Support for optimistic Duplicate Address Detection. It allows for
|
|
|
|
|
autoconfigured addresses to be used more quickly.
|
2007-04-25 17:08:10 -07:00
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
config INET6_AH
|
|
|
|
|
tristate "IPv6: AH transformation"
|
2020-06-10 09:14:35 -07:00
|
|
|
select XFRM_AH
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2020-06-10 09:14:37 -07:00
|
|
|
Support for IPsec AH (Authentication Header).
|
|
|
|
|
|
|
|
|
|
AH can be used with various authentication algorithms. Besides
|
|
|
|
|
enabling AH support itself, this option enables the generic
|
|
|
|
|
implementations of the algorithms that RFC 8221 lists as MUST be
|
|
|
|
|
implemented. If you need any other algorithms, you'll need to enable
|
|
|
|
|
them in the crypto API. You should also enable accelerated
|
|
|
|
|
implementations of any needed algorithms when available.
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
If unsure, say Y.
|
|
|
|
|
|
|
|
|
|
config INET6_ESP
|
|
|
|
|
tristate "IPv6: ESP transformation"
|
2020-06-10 09:14:35 -07:00
|
|
|
select XFRM_ESP
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2020-06-10 09:14:37 -07:00
|
|
|
Support for IPsec ESP (Encapsulating Security Payload).
|
|
|
|
|
|
|
|
|
|
ESP can be used with various encryption and authentication algorithms.
|
|
|
|
|
Besides enabling ESP support itself, this option enables the generic
|
|
|
|
|
implementations of the algorithms that RFC 8221 lists as MUST be
|
|
|
|
|
implemented. If you need any other algorithms, you'll need to enable
|
|
|
|
|
them in the crypto API. You should also enable accelerated
|
|
|
|
|
implementations of any needed algorithms when available.
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
If unsure, say Y.
|
|
|
|
|
|
2017-02-15 09:40:00 +01:00
|
|
|
config INET6_ESP_OFFLOAD
|
|
|
|
|
tristate "IPv6: ESP transformation offload"
|
|
|
|
|
depends on INET6_ESP
|
|
|
|
|
select XFRM_OFFLOAD
|
|
|
|
|
default n
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2017-02-15 09:40:00 +01:00
|
|
|
Support for ESP transformation offload. This makes sense
|
|
|
|
|
only if this system really does IPsec and want to do it
|
|
|
|
|
with high throughput. A typical desktop system does not
|
|
|
|
|
need it, even if it does IPsec.
|
|
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2020-04-27 17:59:35 +02:00
|
|
|
config INET6_ESPINTCP
|
|
|
|
|
bool "IPv6: ESP in TCP encapsulation (RFC 8229)"
|
|
|
|
|
depends on XFRM && INET6_ESP
|
|
|
|
|
select STREAM_PARSER
|
|
|
|
|
select NET_SOCK_MSG
|
|
|
|
|
select XFRM_ESPINTCP
|
|
|
|
|
help
|
|
|
|
|
Support for RFC 8229 encapsulation of ESP and IKE over
|
|
|
|
|
TCP/IPv6 sockets.
|
|
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
config INET6_IPCOMP
|
|
|
|
|
tristate "IPv6: IPComp transformation"
|
2006-03-28 01:12:13 -08:00
|
|
|
select INET6_XFRM_TUNNEL
|
2008-07-25 02:54:40 -07:00
|
|
|
select XFRM_IPCOMP
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2005-04-16 15:20:36 -07:00
|
|
|
Support for IP Payload Compression Protocol (IPComp) (RFC3173),
|
|
|
|
|
typically needed for IPsec.
|
|
|
|
|
|
|
|
|
|
If unsure, say Y.
|
|
|
|
|
|
2006-08-23 19:13:46 -07:00
|
|
|
config IPV6_MIP6
|
2012-10-02 11:19:49 -07:00
|
|
|
tristate "IPv6: Mobility"
|
2006-08-23 19:13:46 -07:00
|
|
|
select XFRM
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2006-08-23 19:13:46 -07:00
|
|
|
Support for IPv6 Mobility described in RFC 3775.
|
|
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2015-08-17 13:42:27 -07:00
|
|
|
config IPV6_ILA
|
|
|
|
|
tristate "IPv6: Identifier Locator Addressing (ILA)"
|
2015-12-18 15:37:37 +01:00
|
|
|
depends on NETFILTER
|
2018-07-18 10:48:56 +02:00
|
|
|
select DST_CACHE
|
2015-08-17 13:42:27 -07:00
|
|
|
select LWTUNNEL
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2015-08-17 13:42:27 -07:00
|
|
|
Support for IPv6 Identifier Locator Addressing (ILA).
|
|
|
|
|
|
|
|
|
|
ILA is a mechanism to do network virtualization without
|
|
|
|
|
encapsulation. The basic concept of ILA is that we split an
|
|
|
|
|
IPv6 address into a 64 bit locator and 64 bit identifier. The
|
|
|
|
|
identifier is the identity of an entity in communication
|
|
|
|
|
("who") and the locator expresses the location of the
|
|
|
|
|
entity ("where").
|
|
|
|
|
|
|
|
|
|
ILA can be configured using the "encap ila" option with
|
|
|
|
|
"ip -6 route" command. ILA is described in
|
|
|
|
|
https://tools.ietf.org/html/draft-herbert-nvo3-ila-00.
|
|
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2006-03-28 01:12:13 -08:00
|
|
|
config INET6_XFRM_TUNNEL
|
|
|
|
|
tristate
|
|
|
|
|
select INET6_TUNNEL
|
|
|
|
|
default n
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
config INET6_TUNNEL
|
2006-03-28 01:12:13 -08:00
|
|
|
tristate
|
|
|
|
|
default n
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-08-19 08:07:34 +02:00
|
|
|
config IPV6_VTI
|
|
|
|
|
tristate "Virtual (secure) IPv6: tunneling"
|
|
|
|
|
select IPV6_TUNNEL
|
2014-02-19 13:33:23 +01:00
|
|
|
select NET_IP_TUNNEL
|
2019-03-29 21:16:31 +01:00
|
|
|
select XFRM
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2013-08-19 08:07:34 +02:00
|
|
|
Tunneling means encapsulating data of one protocol type within
|
|
|
|
|
another protocol and sending it over a channel that understands the
|
|
|
|
|
encapsulating protocol. This can be used with xfrm mode tunnel to give
|
|
|
|
|
the notion of a secure tunnel for IPSEC and then use routing protocol
|
|
|
|
|
on top.
|
|
|
|
|
|
2006-10-10 14:47:44 -07:00
|
|
|
config IPV6_SIT
|
|
|
|
|
tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)"
|
2007-02-13 12:55:25 -08:00
|
|
|
select INET_TUNNEL
|
2013-03-25 14:50:00 +00:00
|
|
|
select NET_IP_TUNNEL
|
2008-03-15 23:59:18 -04:00
|
|
|
select IPV6_NDISC_NODETYPE
|
2006-10-10 14:47:44 -07:00
|
|
|
default y
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2006-10-10 14:47:44 -07:00
|
|
|
Tunneling means encapsulating data of one protocol type within
|
|
|
|
|
another protocol and sending it over a channel that understands the
|
|
|
|
|
encapsulating protocol. This driver implements encapsulation of IPv6
|
2008-04-26 22:50:57 -07:00
|
|
|
into IPv4 packets. This is useful if you want to connect two IPv6
|
2006-10-10 14:47:44 -07:00
|
|
|
networks over an IPv4-only path.
|
|
|
|
|
|
2009-06-05 00:44:53 +02:00
|
|
|
Saying M here will produce a module called sit. If unsure, say Y.
|
2006-10-10 14:47:44 -07:00
|
|
|
|
2009-09-22 23:43:14 +00:00
|
|
|
config IPV6_SIT_6RD
|
2012-10-02 11:19:49 -07:00
|
|
|
bool "IPv6: IPv6 Rapid Deployment (6RD)"
|
|
|
|
|
depends on IPV6_SIT
|
2009-09-22 23:43:14 +00:00
|
|
|
default n
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2009-09-22 23:43:14 +00:00
|
|
|
IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon
|
|
|
|
|
mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly
|
|
|
|
|
deploy IPv6 unicast service to IPv4 sites to which it provides
|
|
|
|
|
customer premise equipment. Like 6to4, it utilizes stateless IPv6 in
|
|
|
|
|
IPv4 encapsulation in order to transit IPv4-only network
|
|
|
|
|
infrastructure. Unlike 6to4, a 6rd service provider uses an IPv6
|
|
|
|
|
prefix of its own in place of the fixed 6to4 prefix.
|
|
|
|
|
|
|
|
|
|
With this option enabled, the SIT driver offers 6rd functionality by
|
|
|
|
|
providing additional ioctl API to configure the IPv6 Prefix for in
|
|
|
|
|
stead of static 2002::/16 for 6to4.
|
|
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2008-03-15 23:59:18 -04:00
|
|
|
config IPV6_NDISC_NODETYPE
|
|
|
|
|
bool
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
config IPV6_TUNNEL
|
2008-03-20 16:13:58 -07:00
|
|
|
tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)"
|
2006-03-28 01:12:13 -08:00
|
|
|
select INET6_TUNNEL
|
2016-02-12 15:43:54 +01:00
|
|
|
select DST_CACHE
|
2017-02-07 15:37:15 -08:00
|
|
|
select GRO_CELLS
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2008-03-20 16:13:58 -07:00
|
|
|
Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
|
|
|
|
|
RFC 2473.
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2012-08-10 00:51:50 +00:00
|
|
|
config IPV6_GRE
|
|
|
|
|
tristate "IPv6: GRE tunnel"
|
|
|
|
|
select IPV6_TUNNEL
|
2013-03-25 14:50:00 +00:00
|
|
|
select NET_IP_TUNNEL
|
2016-05-03 17:19:57 +02:00
|
|
|
depends on NET_IPGRE_DEMUX
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2012-08-10 00:51:50 +00:00
|
|
|
Tunneling means encapsulating data of one protocol type within
|
|
|
|
|
another protocol and sending it over a channel that understands the
|
|
|
|
|
encapsulating protocol. This particular tunneling driver implements
|
|
|
|
|
GRE (Generic Routing Encapsulation) and at this time allows
|
|
|
|
|
encapsulating of IPv4 or IPv6 over existing IPv6 infrastructure.
|
|
|
|
|
This driver is useful if the other endpoint is a Cisco router: Cisco
|
|
|
|
|
likes GRE much better than the other Linux tunneling driver ("IP
|
|
|
|
|
tunneling" above). In addition, GRE allows multicast redistribution
|
|
|
|
|
through the tunnel.
|
|
|
|
|
|
|
|
|
|
Saying M here will produce a module called ip6_gre. If unsure, say N.
|
|
|
|
|
|
2016-05-25 16:50:46 +02:00
|
|
|
config IPV6_FOU
|
|
|
|
|
tristate
|
|
|
|
|
default NET_FOU && IPV6
|
|
|
|
|
|
|
|
|
|
config IPV6_FOU_TUNNEL
|
|
|
|
|
tristate
|
|
|
|
|
default NET_FOU_IP_TUNNELS && IPV6_FOU
|
2016-05-31 22:42:11 +02:00
|
|
|
select IPV6_TUNNEL
|
2016-05-25 16:50:46 +02:00
|
|
|
|
2006-10-16 22:12:21 -07:00
|
|
|
config IPV6_MULTIPLE_TABLES
|
|
|
|
|
bool "IPv6: Multiple Routing Tables"
|
|
|
|
|
select FIB_RULES
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2006-10-16 22:12:21 -07:00
|
|
|
Support multiple routing tables.
|
|
|
|
|
|
2006-08-23 17:23:39 -07:00
|
|
|
config IPV6_SUBTREES
|
|
|
|
|
bool "IPv6: source address based routing"
|
2006-10-16 22:12:21 -07:00
|
|
|
depends on IPV6_MULTIPLE_TABLES
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2006-08-23 17:23:39 -07:00
|
|
|
Enable routing by source address or prefix.
|
|
|
|
|
|
|
|
|
|
The destination address is still the primary routing key, so mixing
|
|
|
|
|
normal and source prefix specific routes in the same routing table
|
|
|
|
|
may sometimes lead to unintended routing behavior. This can be
|
|
|
|
|
avoided by defining different routing tables for the normal and
|
|
|
|
|
source prefix specific routes.
|
|
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2008-04-03 09:22:53 +09:00
|
|
|
config IPV6_MROUTE
|
2012-10-02 11:19:49 -07:00
|
|
|
bool "IPv6: multicast routing"
|
|
|
|
|
depends on IPV6
|
2018-02-28 23:29:29 +02:00
|
|
|
select IP_MROUTE_COMMON
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2018-05-07 14:03:18 +02:00
|
|
|
Support for IPv6 multicast forwarding.
|
2008-04-03 09:22:53 +09:00
|
|
|
If unsure, say N.
|
|
|
|
|
|
2010-05-11 14:40:55 +02:00
|
|
|
config IPV6_MROUTE_MULTIPLE_TABLES
|
|
|
|
|
bool "IPv6: multicast policy routing"
|
|
|
|
|
depends on IPV6_MROUTE
|
|
|
|
|
select FIB_RULES
|
|
|
|
|
help
|
|
|
|
|
Normally, a multicast router runs a userspace daemon and decides
|
|
|
|
|
what to do with a multicast packet based on the source and
|
|
|
|
|
destination addresses. If you say Y here, the multicast router
|
|
|
|
|
will also be able to take interfaces and packet marks into
|
|
|
|
|
account and run multiple instances of userspace daemons
|
|
|
|
|
simultaneously, each one handling a single table.
|
|
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2008-04-03 09:22:54 +09:00
|
|
|
config IPV6_PIMSM_V2
|
2012-10-02 11:19:49 -07:00
|
|
|
bool "IPv6: PIM-SM version 2 support"
|
2008-04-03 09:22:54 +09:00
|
|
|
depends on IPV6_MROUTE
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2008-04-03 09:22:54 +09:00
|
|
|
Support for IPv6 PIM multicast routing protocol PIM-SMv2.
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2016-11-15 16:14:04 +01:00
|
|
|
config IPV6_SEG6_LWTUNNEL
|
|
|
|
|
bool "IPv6: Segment Routing Header encapsulation support"
|
|
|
|
|
depends on IPV6
|
|
|
|
|
select LWTUNNEL
|
2017-03-27 11:43:59 +02:00
|
|
|
select DST_CACHE
|
2017-08-25 09:56:47 +02:00
|
|
|
select IPV6_MULTIPLE_TABLES
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2016-11-15 16:14:04 +01:00
|
|
|
Support for encapsulation of packets within an outer IPv6
|
|
|
|
|
header and a Segment Routing Header using the lightweight
|
2017-08-05 12:38:26 +02:00
|
|
|
tunnels mechanism. Also enable support for advanced local
|
|
|
|
|
processing of SRv6 packets based on their active segment.
|
2016-11-15 16:14:04 +01:00
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2016-11-08 14:57:42 +01:00
|
|
|
config IPV6_SEG6_HMAC
|
|
|
|
|
bool "IPv6: Segment Routing HMAC support"
|
|
|
|
|
depends on IPV6
|
2020-09-17 19:46:43 +03:00
|
|
|
select CRYPTO
|
2016-11-08 14:57:42 +01:00
|
|
|
select CRYPTO_HMAC
|
|
|
|
|
select CRYPTO_SHA1
|
|
|
|
|
select CRYPTO_SHA256
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2016-11-08 14:57:42 +01:00
|
|
|
Support for HMAC signature generation and verification
|
|
|
|
|
of SR-enabled packets.
|
|
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2018-05-20 14:58:14 +01:00
|
|
|
config IPV6_SEG6_BPF
|
|
|
|
|
def_bool y
|
|
|
|
|
depends on IPV6_SEG6_LWTUNNEL
|
|
|
|
|
depends on IPV6 = y
|
|
|
|
|
|
2020-03-27 18:00:22 -04:00
|
|
|
config IPV6_RPL_LWTUNNEL
|
|
|
|
|
bool "IPv6: RPL Source Routing Header support"
|
|
|
|
|
depends on IPV6
|
|
|
|
|
select LWTUNNEL
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2020-03-27 18:00:22 -04:00
|
|
|
Support for RFC6554 RPL Source Routing Header using the lightweight
|
|
|
|
|
tunnels mechanism.
|
|
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2021-07-20 21:42:59 +02:00
|
|
|
config IPV6_IOAM6_LWTUNNEL
|
|
|
|
|
bool "IPv6: IOAM Pre-allocated Trace insertion support"
|
|
|
|
|
depends on IPV6
|
|
|
|
|
select LWTUNNEL
|
2021-10-03 20:45:38 +02:00
|
|
|
select DST_CACHE
|
2021-07-20 21:42:59 +02:00
|
|
|
help
|
2021-10-03 20:45:38 +02:00
|
|
|
Support for the insertion of IOAM Pre-allocated Trace
|
|
|
|
|
Header using the lightweight tunnels mechanism.
|
2021-07-20 21:42:59 +02:00
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
2008-04-13 23:30:47 -07:00
|
|
|
endif # IPV6
|