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