hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/net/ipv6/Kconfig
....@@ -1,3 +1,4 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 #
23 # IPv6 configuration
34 #
....@@ -6,14 +7,14 @@
67 menuconfig IPV6
78 tristate "The IPv6 protocol"
89 default y
9
- ---help---
10
+ help
1011 Support for IP version 6 (IPv6).
1112
1213 For general information about IPv6, see
1314 <https://en.wikipedia.org/wiki/IPv6>.
1415 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/>
1718
1819 To compile this protocol support as a module, choose M here: the
1920 module will be called ipv6.
....@@ -22,7 +23,7 @@
2223
2324 config IPV6_ROUTER_PREF
2425 bool "IPv6: Router Preference (RFC 4191) support"
25
- ---help---
26
+ help
2627 Router Preference is an optional extension to the Router
2728 Advertisement message which improves the ability of hosts
2829 to pick an appropriate router, especially when the hosts
....@@ -33,14 +34,14 @@
3334 config IPV6_ROUTE_INFO
3435 bool "IPv6: Route Information (RFC 4191) support"
3536 depends on IPV6_ROUTER_PREF
36
- ---help---
37
+ help
3738 Support of Route Information.
3839
3940 If unsure, say N.
4041
4142 config IPV6_OPTIMISTIC_DAD
4243 bool "IPv6: Enable RFC 4429 Optimistic DAD"
43
- ---help---
44
+ help
4445 Support for optimistic Duplicate Address Detection. It allows for
4546 autoconfigured addresses to be used more quickly.
4647
....@@ -48,29 +49,31 @@
4849
4950 config INET6_AH
5051 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.
5862
5963 If unsure, say Y.
6064
6165 config INET6_ESP
6266 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.
7477
7578 If unsure, say Y.
7679
....@@ -79,7 +82,7 @@
7982 depends on INET6_ESP
8083 select XFRM_OFFLOAD
8184 default n
82
- ---help---
85
+ help
8386 Support for ESP transformation offload. This makes sense
8487 only if this system really does IPsec and want to do it
8588 with high throughput. A typical desktop system does not
....@@ -87,11 +90,23 @@
8790
8891 If unsure, say N.
8992
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
+
90105 config INET6_IPCOMP
91106 tristate "IPv6: IPComp transformation"
92107 select INET6_XFRM_TUNNEL
93108 select XFRM_IPCOMP
94
- ---help---
109
+ help
95110 Support for IP Payload Compression Protocol (IPComp) (RFC3173),
96111 typically needed for IPsec.
97112
....@@ -100,7 +115,7 @@
100115 config IPV6_MIP6
101116 tristate "IPv6: Mobility"
102117 select XFRM
103
- ---help---
118
+ help
104119 Support for IPv6 Mobility described in RFC 3775.
105120
106121 If unsure, say N.
....@@ -110,7 +125,7 @@
110125 depends on NETFILTER
111126 select DST_CACHE
112127 select LWTUNNEL
113
- ---help---
128
+ help
114129 Support for IPv6 Identifier Locator Addressing (ILA).
115130
116131 ILA is a mechanism to do network virtualization without
....@@ -135,45 +150,12 @@
135150 tristate
136151 default n
137152
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
-
171153 config IPV6_VTI
172154 tristate "Virtual (secure) IPv6: tunneling"
173155 select IPV6_TUNNEL
174156 select NET_IP_TUNNEL
175
- depends on INET6_XFRM_MODE_TUNNEL
176
- ---help---
157
+ select XFRM
158
+ help
177159 Tunneling means encapsulating data of one protocol type within
178160 another protocol and sending it over a channel that understands the
179161 encapsulating protocol. This can be used with xfrm mode tunnel to give
....@@ -186,7 +168,7 @@
186168 select NET_IP_TUNNEL
187169 select IPV6_NDISC_NODETYPE
188170 default y
189
- ---help---
171
+ help
190172 Tunneling means encapsulating data of one protocol type within
191173 another protocol and sending it over a channel that understands the
192174 encapsulating protocol. This driver implements encapsulation of IPv6
....@@ -199,7 +181,7 @@
199181 bool "IPv6: IPv6 Rapid Deployment (6RD)"
200182 depends on IPV6_SIT
201183 default n
202
- ---help---
184
+ help
203185 IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon
204186 mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly
205187 deploy IPv6 unicast service to IPv4 sites to which it provides
....@@ -222,7 +204,7 @@
222204 select INET6_TUNNEL
223205 select DST_CACHE
224206 select GRO_CELLS
225
- ---help---
207
+ help
226208 Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
227209 RFC 2473.
228210
....@@ -233,7 +215,7 @@
233215 select IPV6_TUNNEL
234216 select NET_IP_TUNNEL
235217 depends on NET_IPGRE_DEMUX
236
- ---help---
218
+ help
237219 Tunneling means encapsulating data of one protocol type within
238220 another protocol and sending it over a channel that understands the
239221 encapsulating protocol. This particular tunneling driver implements
....@@ -258,13 +240,13 @@
258240 config IPV6_MULTIPLE_TABLES
259241 bool "IPv6: Multiple Routing Tables"
260242 select FIB_RULES
261
- ---help---
243
+ help
262244 Support multiple routing tables.
263245
264246 config IPV6_SUBTREES
265247 bool "IPv6: source address based routing"
266248 depends on IPV6_MULTIPLE_TABLES
267
- ---help---
249
+ help
268250 Enable routing by source address or prefix.
269251
270252 The destination address is still the primary routing key, so mixing
....@@ -279,7 +261,7 @@
279261 bool "IPv6: multicast routing"
280262 depends on IPV6
281263 select IP_MROUTE_COMMON
282
- ---help---
264
+ help
283265 Support for IPv6 multicast forwarding.
284266 If unsure, say N.
285267
....@@ -300,7 +282,7 @@
300282 config IPV6_PIMSM_V2
301283 bool "IPv6: PIM-SM version 2 support"
302284 depends on IPV6_MROUTE
303
- ---help---
285
+ help
304286 Support for IPv6 PIM multicast routing protocol PIM-SMv2.
305287 If unsure, say N.
306288
....@@ -310,7 +292,7 @@
310292 select LWTUNNEL
311293 select DST_CACHE
312294 select IPV6_MULTIPLE_TABLES
313
- ---help---
295
+ help
314296 Support for encapsulation of packets within an outer IPv6
315297 header and a Segment Routing Header using the lightweight
316298 tunnels mechanism. Also enable support for advanced local
....@@ -325,7 +307,7 @@
325307 select CRYPTO_HMAC
326308 select CRYPTO_SHA1
327309 select CRYPTO_SHA256
328
- ---help---
310
+ help
329311 Support for HMAC signature generation and verification
330312 of SR-enabled packets.
331313
....@@ -336,4 +318,14 @@
336318 depends on IPV6_SEG6_LWTUNNEL
337319 depends on IPV6 = y
338320
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
+
339331 endif # IPV6