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