| .. | .. | 
|---|
 | 1 | +# SPDX-License-Identifier: GPL-2.0-only  | 
|---|
| 1 | 2 |  # | 
|---|
| 2 | 3 |  # IPv6 configuration | 
|---|
| 3 | 4 |  # | 
|---|
| .. | .. | 
|---|
| 6 | 7 |  menuconfig IPV6 | 
|---|
| 7 | 8 |  	tristate "The IPv6 protocol" | 
|---|
| 8 | 9 |  	default y | 
|---|
| 9 |  | -	---help---  | 
|---|
 | 10 | +	help  | 
|---|
| 10 | 11 |  	  Support for IP version 6 (IPv6). | 
|---|
| 11 | 12 |   | 
|---|
| 12 | 13 |  	  For general information about IPv6, see | 
|---|
| 13 | 14 |  	  <https://en.wikipedia.org/wiki/IPv6>. | 
|---|
| 14 | 15 |  	  For specific information about IPv6 under Linux, see | 
|---|
| 15 |  | -	  Documentation/networking/ipv6.txt and read the HOWTO at  | 
|---|
| 16 |  | -	  <http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/>  | 
|---|
 | 16 | +	  Documentation/networking/ipv6.rst and read the HOWTO at  | 
|---|
 | 17 | +	  <https://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/>  | 
|---|
| 17 | 18 |   | 
|---|
| 18 | 19 |  	  To compile this protocol support as a module, choose M here: the | 
|---|
| 19 | 20 |  	  module will be called ipv6. | 
|---|
| .. | .. | 
|---|
| 22 | 23 |   | 
|---|
| 23 | 24 |  config IPV6_ROUTER_PREF | 
|---|
| 24 | 25 |  	bool "IPv6: Router Preference (RFC 4191) support" | 
|---|
| 25 |  | -	---help---  | 
|---|
 | 26 | +	help  | 
|---|
| 26 | 27 |  	  Router Preference is an optional extension to the Router | 
|---|
| 27 | 28 |  	  Advertisement message which improves the ability of hosts | 
|---|
| 28 | 29 |  	  to pick an appropriate router, especially when the hosts | 
|---|
| .. | .. | 
|---|
| 33 | 34 |  config IPV6_ROUTE_INFO | 
|---|
| 34 | 35 |  	bool "IPv6: Route Information (RFC 4191) support" | 
|---|
| 35 | 36 |  	depends on IPV6_ROUTER_PREF | 
|---|
| 36 |  | -	---help---  | 
|---|
 | 37 | +	help  | 
|---|
| 37 | 38 |  	  Support of Route Information. | 
|---|
| 38 | 39 |   | 
|---|
| 39 | 40 |  	  If unsure, say N. | 
|---|
| 40 | 41 |   | 
|---|
| 41 | 42 |  config IPV6_OPTIMISTIC_DAD | 
|---|
| 42 | 43 |  	bool "IPv6: Enable RFC 4429 Optimistic DAD" | 
|---|
| 43 |  | -	---help---  | 
|---|
 | 44 | +	help  | 
|---|
| 44 | 45 |  	  Support for optimistic Duplicate Address Detection. It allows for | 
|---|
| 45 | 46 |  	  autoconfigured addresses to be used more quickly. | 
|---|
| 46 | 47 |   | 
|---|
| .. | .. | 
|---|
| 48 | 49 |   | 
|---|
| 49 | 50 |  config INET6_AH | 
|---|
| 50 | 51 |  	tristate "IPv6: AH transformation" | 
|---|
| 51 |  | -	select XFRM_ALGO  | 
|---|
| 52 |  | -	select CRYPTO  | 
|---|
| 53 |  | -	select CRYPTO_HMAC  | 
|---|
| 54 |  | -	select CRYPTO_MD5  | 
|---|
| 55 |  | -	select CRYPTO_SHA1  | 
|---|
| 56 |  | -	---help---  | 
|---|
| 57 |  | -	  Support for IPsec AH.  | 
|---|
 | 52 | +	select XFRM_AH  | 
|---|
 | 53 | +	help  | 
|---|
 | 54 | +	  Support for IPsec AH (Authentication Header).  | 
|---|
 | 55 | +  | 
|---|
 | 56 | +	  AH can be used with various authentication algorithms.  Besides  | 
|---|
 | 57 | +	  enabling AH support itself, this option enables the generic  | 
|---|
 | 58 | +	  implementations of the algorithms that RFC 8221 lists as MUST be  | 
|---|
 | 59 | +	  implemented.  If you need any other algorithms, you'll need to enable  | 
|---|
 | 60 | +	  them in the crypto API.  You should also enable accelerated  | 
|---|
 | 61 | +	  implementations of any needed algorithms when available.  | 
|---|
| 58 | 62 |   | 
|---|
| 59 | 63 |  	  If unsure, say Y. | 
|---|
| 60 | 64 |   | 
|---|
| 61 | 65 |  config INET6_ESP | 
|---|
| 62 | 66 |  	tristate "IPv6: ESP transformation" | 
|---|
| 63 |  | -	select XFRM_ALGO  | 
|---|
| 64 |  | -	select CRYPTO  | 
|---|
| 65 |  | -	select CRYPTO_AUTHENC  | 
|---|
| 66 |  | -	select CRYPTO_HMAC  | 
|---|
| 67 |  | -	select CRYPTO_MD5  | 
|---|
| 68 |  | -	select CRYPTO_CBC  | 
|---|
| 69 |  | -	select CRYPTO_SHA1  | 
|---|
| 70 |  | -	select CRYPTO_DES  | 
|---|
| 71 |  | -	select CRYPTO_ECHAINIV  | 
|---|
| 72 |  | -	---help---  | 
|---|
| 73 |  | -	  Support for IPsec ESP.  | 
|---|
 | 67 | +	select XFRM_ESP  | 
|---|
 | 68 | +	help  | 
|---|
 | 69 | +	  Support for IPsec ESP (Encapsulating Security Payload).  | 
|---|
 | 70 | +  | 
|---|
 | 71 | +	  ESP can be used with various encryption and authentication algorithms.  | 
|---|
 | 72 | +	  Besides enabling ESP support itself, this option enables the generic  | 
|---|
 | 73 | +	  implementations of the algorithms that RFC 8221 lists as MUST be  | 
|---|
 | 74 | +	  implemented.  If you need any other algorithms, you'll need to enable  | 
|---|
 | 75 | +	  them in the crypto API.  You should also enable accelerated  | 
|---|
 | 76 | +	  implementations of any needed algorithms when available.  | 
|---|
| 74 | 77 |   | 
|---|
| 75 | 78 |  	  If unsure, say Y. | 
|---|
| 76 | 79 |   | 
|---|
| .. | .. | 
|---|
| 79 | 82 |  	depends on INET6_ESP | 
|---|
| 80 | 83 |  	select XFRM_OFFLOAD | 
|---|
| 81 | 84 |  	default n | 
|---|
| 82 |  | -	---help---  | 
|---|
 | 85 | +	help  | 
|---|
| 83 | 86 |  	  Support for ESP transformation offload. This makes sense | 
|---|
| 84 | 87 |  	  only if this system really does IPsec and want to do it | 
|---|
| 85 | 88 |  	  with high throughput. A typical desktop system does not | 
|---|
| .. | .. | 
|---|
| 87 | 90 |   | 
|---|
| 88 | 91 |  	  If unsure, say N. | 
|---|
| 89 | 92 |   | 
|---|
 | 93 | +config INET6_ESPINTCP  | 
|---|
 | 94 | +	bool "IPv6: ESP in TCP encapsulation (RFC 8229)"  | 
|---|
 | 95 | +	depends on XFRM && INET6_ESP  | 
|---|
 | 96 | +	select STREAM_PARSER  | 
|---|
 | 97 | +	select NET_SOCK_MSG  | 
|---|
 | 98 | +	select XFRM_ESPINTCP  | 
|---|
 | 99 | +	help  | 
|---|
 | 100 | +	  Support for RFC 8229 encapsulation of ESP and IKE over  | 
|---|
 | 101 | +	  TCP/IPv6 sockets.  | 
|---|
 | 102 | +  | 
|---|
 | 103 | +	  If unsure, say N.  | 
|---|
 | 104 | +  | 
|---|
| 90 | 105 |  config INET6_IPCOMP | 
|---|
| 91 | 106 |  	tristate "IPv6: IPComp transformation" | 
|---|
| 92 | 107 |  	select INET6_XFRM_TUNNEL | 
|---|
| 93 | 108 |  	select XFRM_IPCOMP | 
|---|
| 94 |  | -	---help---  | 
|---|
 | 109 | +	help  | 
|---|
| 95 | 110 |  	  Support for IP Payload Compression Protocol (IPComp) (RFC3173), | 
|---|
| 96 | 111 |  	  typically needed for IPsec. | 
|---|
| 97 | 112 |   | 
|---|
| .. | .. | 
|---|
| 100 | 115 |  config IPV6_MIP6 | 
|---|
| 101 | 116 |  	tristate "IPv6: Mobility" | 
|---|
| 102 | 117 |  	select XFRM | 
|---|
| 103 |  | -	---help---  | 
|---|
 | 118 | +	help  | 
|---|
| 104 | 119 |  	  Support for IPv6 Mobility described in RFC 3775. | 
|---|
| 105 | 120 |   | 
|---|
| 106 | 121 |  	  If unsure, say N. | 
|---|
| .. | .. | 
|---|
| 110 | 125 |  	depends on NETFILTER | 
|---|
| 111 | 126 |  	select DST_CACHE | 
|---|
| 112 | 127 |  	select LWTUNNEL | 
|---|
| 113 |  | -	---help---  | 
|---|
 | 128 | +	help  | 
|---|
| 114 | 129 |  	  Support for IPv6 Identifier Locator Addressing (ILA). | 
|---|
| 115 | 130 |   | 
|---|
| 116 | 131 |  	  ILA is a mechanism to do network virtualization without | 
|---|
| .. | .. | 
|---|
| 135 | 150 |  	tristate | 
|---|
| 136 | 151 |  	default n | 
|---|
| 137 | 152 |   | 
|---|
| 138 |  | -config INET6_XFRM_MODE_TRANSPORT  | 
|---|
| 139 |  | -	tristate "IPv6: IPsec transport mode"  | 
|---|
| 140 |  | -	default IPV6  | 
|---|
| 141 |  | -	select XFRM  | 
|---|
| 142 |  | -	---help---  | 
|---|
| 143 |  | -	  Support for IPsec transport mode.  | 
|---|
| 144 |  | -  | 
|---|
| 145 |  | -	  If unsure, say Y.  | 
|---|
| 146 |  | -  | 
|---|
| 147 |  | -config INET6_XFRM_MODE_TUNNEL  | 
|---|
| 148 |  | -	tristate "IPv6: IPsec tunnel mode"  | 
|---|
| 149 |  | -	default IPV6  | 
|---|
| 150 |  | -	select XFRM  | 
|---|
| 151 |  | -	---help---  | 
|---|
| 152 |  | -	  Support for IPsec tunnel mode.  | 
|---|
| 153 |  | -  | 
|---|
| 154 |  | -	  If unsure, say Y.  | 
|---|
| 155 |  | -  | 
|---|
| 156 |  | -config INET6_XFRM_MODE_BEET  | 
|---|
| 157 |  | -	tristate "IPv6: IPsec BEET mode"  | 
|---|
| 158 |  | -	default IPV6  | 
|---|
| 159 |  | -	select XFRM  | 
|---|
| 160 |  | -	---help---  | 
|---|
| 161 |  | -	  Support for IPsec BEET mode.  | 
|---|
| 162 |  | -  | 
|---|
| 163 |  | -	  If unsure, say Y.  | 
|---|
| 164 |  | -  | 
|---|
| 165 |  | -config INET6_XFRM_MODE_ROUTEOPTIMIZATION  | 
|---|
| 166 |  | -	tristate "IPv6: MIPv6 route optimization mode"  | 
|---|
| 167 |  | -	select XFRM  | 
|---|
| 168 |  | -	---help---  | 
|---|
| 169 |  | -	  Support for MIPv6 route optimization mode.  | 
|---|
| 170 |  | -  | 
|---|
| 171 | 153 |  config IPV6_VTI | 
|---|
| 172 | 154 |  tristate "Virtual (secure) IPv6: tunneling" | 
|---|
| 173 | 155 |  	select IPV6_TUNNEL | 
|---|
| 174 | 156 |  	select NET_IP_TUNNEL | 
|---|
| 175 |  | -	depends on INET6_XFRM_MODE_TUNNEL  | 
|---|
| 176 |  | -	---help---  | 
|---|
 | 157 | +	select XFRM  | 
|---|
 | 158 | +	help  | 
|---|
| 177 | 159 |  	Tunneling means encapsulating data of one protocol type within | 
|---|
| 178 | 160 |  	another protocol and sending it over a channel that understands the | 
|---|
| 179 | 161 |  	encapsulating protocol. This can be used with xfrm mode tunnel to give | 
|---|
| .. | .. | 
|---|
| 186 | 168 |  	select NET_IP_TUNNEL | 
|---|
| 187 | 169 |  	select IPV6_NDISC_NODETYPE | 
|---|
| 188 | 170 |  	default y | 
|---|
| 189 |  | -	---help---  | 
|---|
 | 171 | +	help  | 
|---|
| 190 | 172 |  	  Tunneling means encapsulating data of one protocol type within | 
|---|
| 191 | 173 |  	  another protocol and sending it over a channel that understands the | 
|---|
| 192 | 174 |  	  encapsulating protocol. This driver implements encapsulation of IPv6 | 
|---|
| .. | .. | 
|---|
| 199 | 181 |  	bool "IPv6: IPv6 Rapid Deployment (6RD)" | 
|---|
| 200 | 182 |  	depends on IPV6_SIT | 
|---|
| 201 | 183 |  	default n | 
|---|
| 202 |  | -	---help---  | 
|---|
 | 184 | +	help  | 
|---|
| 203 | 185 |  	  IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon | 
|---|
| 204 | 186 |  	  mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly | 
|---|
| 205 | 187 |  	  deploy IPv6 unicast service to IPv4 sites to which it provides | 
|---|
| .. | .. | 
|---|
| 222 | 204 |  	select INET6_TUNNEL | 
|---|
| 223 | 205 |  	select DST_CACHE | 
|---|
| 224 | 206 |  	select GRO_CELLS | 
|---|
| 225 |  | -	---help---  | 
|---|
 | 207 | +	help  | 
|---|
| 226 | 208 |  	  Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in | 
|---|
| 227 | 209 |  	  RFC 2473. | 
|---|
| 228 | 210 |   | 
|---|
| .. | .. | 
|---|
| 233 | 215 |  	select IPV6_TUNNEL | 
|---|
| 234 | 216 |  	select NET_IP_TUNNEL | 
|---|
| 235 | 217 |  	depends on NET_IPGRE_DEMUX | 
|---|
| 236 |  | -	---help---  | 
|---|
 | 218 | +	help  | 
|---|
| 237 | 219 |  	  Tunneling means encapsulating data of one protocol type within | 
|---|
| 238 | 220 |  	  another protocol and sending it over a channel that understands the | 
|---|
| 239 | 221 |  	  encapsulating protocol. This particular tunneling driver implements | 
|---|
| .. | .. | 
|---|
| 258 | 240 |  config IPV6_MULTIPLE_TABLES | 
|---|
| 259 | 241 |  	bool "IPv6: Multiple Routing Tables" | 
|---|
| 260 | 242 |  	select FIB_RULES | 
|---|
| 261 |  | -	---help---  | 
|---|
 | 243 | +	help  | 
|---|
| 262 | 244 |  	  Support multiple routing tables. | 
|---|
| 263 | 245 |   | 
|---|
| 264 | 246 |  config IPV6_SUBTREES | 
|---|
| 265 | 247 |  	bool "IPv6: source address based routing" | 
|---|
| 266 | 248 |  	depends on IPV6_MULTIPLE_TABLES | 
|---|
| 267 |  | -	---help---  | 
|---|
 | 249 | +	help  | 
|---|
| 268 | 250 |  	  Enable routing by source address or prefix. | 
|---|
| 269 | 251 |   | 
|---|
| 270 | 252 |  	  The destination address is still the primary routing key, so mixing | 
|---|
| .. | .. | 
|---|
| 279 | 261 |  	bool "IPv6: multicast routing" | 
|---|
| 280 | 262 |  	depends on IPV6 | 
|---|
| 281 | 263 |  	select IP_MROUTE_COMMON | 
|---|
| 282 |  | -	---help---  | 
|---|
 | 264 | +	help  | 
|---|
| 283 | 265 |  	  Support for IPv6 multicast forwarding. | 
|---|
| 284 | 266 |  	  If unsure, say N. | 
|---|
| 285 | 267 |   | 
|---|
| .. | .. | 
|---|
| 300 | 282 |  config IPV6_PIMSM_V2 | 
|---|
| 301 | 283 |  	bool "IPv6: PIM-SM version 2 support" | 
|---|
| 302 | 284 |  	depends on IPV6_MROUTE | 
|---|
| 303 |  | -	---help---  | 
|---|
 | 285 | +	help  | 
|---|
| 304 | 286 |  	  Support for IPv6 PIM multicast routing protocol PIM-SMv2. | 
|---|
| 305 | 287 |  	  If unsure, say N. | 
|---|
| 306 | 288 |   | 
|---|
| .. | .. | 
|---|
| 310 | 292 |  	select LWTUNNEL | 
|---|
| 311 | 293 |  	select DST_CACHE | 
|---|
| 312 | 294 |  	select IPV6_MULTIPLE_TABLES | 
|---|
| 313 |  | -	---help---  | 
|---|
 | 295 | +	help  | 
|---|
| 314 | 296 |  	  Support for encapsulation of packets within an outer IPv6 | 
|---|
| 315 | 297 |  	  header and a Segment Routing Header using the lightweight | 
|---|
| 316 | 298 |  	  tunnels mechanism. Also enable support for advanced local | 
|---|
| .. | .. | 
|---|
| 325 | 307 |  	select CRYPTO_HMAC | 
|---|
| 326 | 308 |  	select CRYPTO_SHA1 | 
|---|
| 327 | 309 |  	select CRYPTO_SHA256 | 
|---|
| 328 |  | -	---help---  | 
|---|
 | 310 | +	help  | 
|---|
| 329 | 311 |  	  Support for HMAC signature generation and verification | 
|---|
| 330 | 312 |  	  of SR-enabled packets. | 
|---|
| 331 | 313 |   | 
|---|
| .. | .. | 
|---|
| 336 | 318 |  	depends on IPV6_SEG6_LWTUNNEL | 
|---|
| 337 | 319 |  	depends on IPV6 = y | 
|---|
| 338 | 320 |   | 
|---|
 | 321 | +config IPV6_RPL_LWTUNNEL  | 
|---|
 | 322 | +	bool "IPv6: RPL Source Routing Header support"  | 
|---|
 | 323 | +	depends on IPV6  | 
|---|
 | 324 | +	select LWTUNNEL  | 
|---|
 | 325 | +	help  | 
|---|
 | 326 | +	  Support for RFC6554 RPL Source Routing Header using the lightweight  | 
|---|
 | 327 | +	  tunnels mechanism.  | 
|---|
 | 328 | +  | 
|---|
 | 329 | +	  If unsure, say N.  | 
|---|
 | 330 | +  | 
|---|
| 339 | 331 |  endif # IPV6 | 
|---|