^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # IPv6 configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) # IPv6 as module will cause a CRASH if you try to unload it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) menuconfig IPV6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) tristate "The IPv6 protocol"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Support for IP version 6 (IPv6).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) For general information about IPv6, see
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) <https://en.wikipedia.org/wiki/IPv6>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) For specific information about IPv6 under Linux, see
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) Documentation/networking/ipv6.rst and read the HOWTO at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) <https://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) To compile this protocol support as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) module will be called ipv6.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) if IPV6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) config IPV6_ROUTER_PREF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) bool "IPv6: Router Preference (RFC 4191) support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) Router Preference is an optional extension to the Router
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Advertisement message which improves the ability of hosts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) to pick an appropriate router, especially when the hosts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) are placed in a multi-homed network.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) config IPV6_ROUTE_INFO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) bool "IPv6: Route Information (RFC 4191) support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) depends on IPV6_ROUTER_PREF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) Support of Route Information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) config IPV6_OPTIMISTIC_DAD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) bool "IPv6: Enable RFC 4429 Optimistic DAD"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) Support for optimistic Duplicate Address Detection. It allows for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) autoconfigured addresses to be used more quickly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) config INET6_AH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) tristate "IPv6: AH transformation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) select XFRM_AH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) Support for IPsec AH (Authentication Header).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) AH can be used with various authentication algorithms. Besides
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) enabling AH support itself, this option enables the generic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) implementations of the algorithms that RFC 8221 lists as MUST be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) implemented. If you need any other algorithms, you'll need to enable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) them in the crypto API. You should also enable accelerated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) implementations of any needed algorithms when available.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) config INET6_ESP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) tristate "IPv6: ESP transformation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) select XFRM_ESP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) Support for IPsec ESP (Encapsulating Security Payload).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) ESP can be used with various encryption and authentication algorithms.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) Besides enabling ESP support itself, this option enables the generic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) implementations of the algorithms that RFC 8221 lists as MUST be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) implemented. If you need any other algorithms, you'll need to enable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) them in the crypto API. You should also enable accelerated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) implementations of any needed algorithms when available.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) config INET6_ESP_OFFLOAD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) tristate "IPv6: ESP transformation offload"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) depends on INET6_ESP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) select XFRM_OFFLOAD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) Support for ESP transformation offload. This makes sense
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) only if this system really does IPsec and want to do it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) with high throughput. A typical desktop system does not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) need it, even if it does IPsec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) config INET6_ESPINTCP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) bool "IPv6: ESP in TCP encapsulation (RFC 8229)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) depends on XFRM && INET6_ESP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) select STREAM_PARSER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) select NET_SOCK_MSG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) select XFRM_ESPINTCP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) Support for RFC 8229 encapsulation of ESP and IKE over
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) TCP/IPv6 sockets.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) config INET6_IPCOMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) tristate "IPv6: IPComp transformation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) select INET6_XFRM_TUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) select XFRM_IPCOMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) Support for IP Payload Compression Protocol (IPComp) (RFC3173),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) typically needed for IPsec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) config IPV6_MIP6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) tristate "IPv6: Mobility"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) select XFRM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) Support for IPv6 Mobility described in RFC 3775.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) config IPV6_ILA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) tristate "IPv6: Identifier Locator Addressing (ILA)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) depends on NETFILTER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) select DST_CACHE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) select LWTUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) Support for IPv6 Identifier Locator Addressing (ILA).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) ILA is a mechanism to do network virtualization without
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) encapsulation. The basic concept of ILA is that we split an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) IPv6 address into a 64 bit locator and 64 bit identifier. The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) identifier is the identity of an entity in communication
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) ("who") and the locator expresses the location of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) entity ("where").
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) ILA can be configured using the "encap ila" option with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) "ip -6 route" command. ILA is described in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) https://tools.ietf.org/html/draft-herbert-nvo3-ila-00.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) config INET6_XFRM_TUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) select INET6_TUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) config INET6_TUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) config IPV6_VTI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) tristate "Virtual (secure) IPv6: tunneling"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) select IPV6_TUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) select NET_IP_TUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) select XFRM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) Tunneling means encapsulating data of one protocol type within
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) another protocol and sending it over a channel that understands the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) encapsulating protocol. This can be used with xfrm mode tunnel to give
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) the notion of a secure tunnel for IPSEC and then use routing protocol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) on top.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) config IPV6_SIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) select INET_TUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) select NET_IP_TUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) select IPV6_NDISC_NODETYPE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) Tunneling means encapsulating data of one protocol type within
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) another protocol and sending it over a channel that understands the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) encapsulating protocol. This driver implements encapsulation of IPv6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) into IPv4 packets. This is useful if you want to connect two IPv6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) networks over an IPv4-only path.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) Saying M here will produce a module called sit. If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) config IPV6_SIT_6RD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) bool "IPv6: IPv6 Rapid Deployment (6RD)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) depends on IPV6_SIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) deploy IPv6 unicast service to IPv4 sites to which it provides
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) customer premise equipment. Like 6to4, it utilizes stateless IPv6 in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) IPv4 encapsulation in order to transit IPv4-only network
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) infrastructure. Unlike 6to4, a 6rd service provider uses an IPv6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) prefix of its own in place of the fixed 6to4 prefix.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) With this option enabled, the SIT driver offers 6rd functionality by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) providing additional ioctl API to configure the IPv6 Prefix for in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) stead of static 2002::/16 for 6to4.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) config IPV6_NDISC_NODETYPE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) config IPV6_TUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) select INET6_TUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) select DST_CACHE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) select GRO_CELLS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) RFC 2473.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) config IPV6_GRE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) tristate "IPv6: GRE tunnel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) select IPV6_TUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) select NET_IP_TUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) depends on NET_IPGRE_DEMUX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) Tunneling means encapsulating data of one protocol type within
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) another protocol and sending it over a channel that understands the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) encapsulating protocol. This particular tunneling driver implements
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) GRE (Generic Routing Encapsulation) and at this time allows
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) encapsulating of IPv4 or IPv6 over existing IPv6 infrastructure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) This driver is useful if the other endpoint is a Cisco router: Cisco
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) likes GRE much better than the other Linux tunneling driver ("IP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) tunneling" above). In addition, GRE allows multicast redistribution
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) through the tunnel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) Saying M here will produce a module called ip6_gre. If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) config IPV6_FOU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) default NET_FOU && IPV6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) config IPV6_FOU_TUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) default NET_FOU_IP_TUNNELS && IPV6_FOU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) select IPV6_TUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) config IPV6_MULTIPLE_TABLES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) bool "IPv6: Multiple Routing Tables"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) select FIB_RULES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) Support multiple routing tables.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) config IPV6_SUBTREES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) bool "IPv6: source address based routing"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) depends on IPV6_MULTIPLE_TABLES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) Enable routing by source address or prefix.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) The destination address is still the primary routing key, so mixing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) normal and source prefix specific routes in the same routing table
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) may sometimes lead to unintended routing behavior. This can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) avoided by defining different routing tables for the normal and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) source prefix specific routes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) config IPV6_MROUTE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) bool "IPv6: multicast routing"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) depends on IPV6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) select IP_MROUTE_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) Support for IPv6 multicast forwarding.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) config IPV6_MROUTE_MULTIPLE_TABLES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) bool "IPv6: multicast policy routing"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) depends on IPV6_MROUTE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) select FIB_RULES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) Normally, a multicast router runs a userspace daemon and decides
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) what to do with a multicast packet based on the source and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) destination addresses. If you say Y here, the multicast router
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) will also be able to take interfaces and packet marks into
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) account and run multiple instances of userspace daemons
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) simultaneously, each one handling a single table.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) config IPV6_PIMSM_V2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) bool "IPv6: PIM-SM version 2 support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) depends on IPV6_MROUTE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) Support for IPv6 PIM multicast routing protocol PIM-SMv2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) config IPV6_SEG6_LWTUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) bool "IPv6: Segment Routing Header encapsulation support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) depends on IPV6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) select LWTUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) select DST_CACHE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) select IPV6_MULTIPLE_TABLES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) Support for encapsulation of packets within an outer IPv6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) header and a Segment Routing Header using the lightweight
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) tunnels mechanism. Also enable support for advanced local
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) processing of SRv6 packets based on their active segment.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) config IPV6_SEG6_HMAC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) bool "IPv6: Segment Routing HMAC support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) depends on IPV6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) select CRYPTO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) select CRYPTO_HMAC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) select CRYPTO_SHA1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) select CRYPTO_SHA256
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) Support for HMAC signature generation and verification
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) of SR-enabled packets.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) config IPV6_SEG6_BPF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) def_bool y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) depends on IPV6_SEG6_LWTUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) depends on IPV6 = y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) config IPV6_RPL_LWTUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) bool "IPv6: RPL Source Routing Header support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) depends on IPV6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) select LWTUNNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) Support for RFC6554 RPL Source Routing Header using the lightweight
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) tunnels mechanism.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) endif # IPV6