Blame view

net/ipv6/Kconfig 9.41 KB
ec8f24b7f   Thomas Gleixner   treewide: Add SPD...
1
  # SPDX-License-Identifier: GPL-2.0-only
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
2
3
  #
  # IPv6 configuration
6a2e9b738   Sam Ravnborg   [NET]: move confi...
4
5
6
  #
  
  #   IPv6 as module will cause a CRASH if you try to unload it
0b18542b7   Jan Engelhardt   [NET]: Sink IPv6 ...
7
  menuconfig IPV6
6a2e9b738   Sam Ravnborg   [NET]: move confi...
8
  	tristate "The IPv6 protocol"
de551f2eb   Tom Herbert   net: Build IPv6 i...
9
  	default y
a7f7f6248   Masahiro Yamada   treewide: replace...
10
  	help
de551f2eb   Tom Herbert   net: Build IPv6 i...
11
  	  Support for IP version 6 (IPv6).
6a2e9b738   Sam Ravnborg   [NET]: move confi...
12
13
  
  	  For general information about IPv6, see
242260fb8   Christian Kujau   sun.com documenta...
14
  	  <https://en.wikipedia.org/wiki/IPv6>.
de551f2eb   Tom Herbert   net: Build IPv6 i...
15
  	  For specific information about IPv6 under Linux, see
19093313c   Mauro Carvalho Chehab   docs: networking:...
16
  	  Documentation/networking/ipv6.rst and read the HOWTO at
7a6498ebc   Alexander A. Klimov   Replace HTTP link...
17
  	  <https://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/>
6a2e9b738   Sam Ravnborg   [NET]: move confi...
18

e446a2760   Stephen Hemminger   net: remove blank...
19
  	  To compile this protocol support as a module, choose M here: the
6a2e9b738   Sam Ravnborg   [NET]: move confi...
20
  	  module will be called ipv6.
0b18542b7   Jan Engelhardt   [NET]: Sink IPv6 ...
21
  if IPV6
ebacaaa0f   YOSHIFUJI Hideaki   [IPV6]: ROUTE: Ad...
22
23
  config IPV6_ROUTER_PREF
  	bool "IPv6: Router Preference (RFC 4191) support"
a7f7f6248   Masahiro Yamada   treewide: replace...
24
  	help
ebacaaa0f   YOSHIFUJI Hideaki   [IPV6]: ROUTE: Ad...
25
  	  Router Preference is an optional extension to the Router
692105b8a   Matt LaPlante   trivial: fix typo...
26
27
28
  	  Advertisement message which improves the ability of hosts
  	  to pick an appropriate router, especially when the hosts
  	  are placed in a multi-homed network.
ebacaaa0f   YOSHIFUJI Hideaki   [IPV6]: ROUTE: Ad...
29
30
  
  	  If unsure, say N.
70ceb4f53   YOSHIFUJI Hideaki   [IPV6]: ROUTE: Ad...
31
  config IPV6_ROUTE_INFO
f9ceb16ec   Kees Cook   net/ipv6: remove ...
32
33
  	bool "IPv6: Route Information (RFC 4191) support"
  	depends on IPV6_ROUTER_PREF
a7f7f6248   Masahiro Yamada   treewide: replace...
34
  	help
a9f71d0de   Georg Hofmann   trivial: fix inco...
35
  	  Support of Route Information.
70ceb4f53   YOSHIFUJI Hideaki   [IPV6]: ROUTE: Ad...
36
37
  
  	  If unsure, say N.
95c385b4d   Neil Horman   [IPV6] ADDRCONF: ...
38
  config IPV6_OPTIMISTIC_DAD
f9ceb16ec   Kees Cook   net/ipv6: remove ...
39
  	bool "IPv6: Enable RFC 4429 Optimistic DAD"
a7f7f6248   Masahiro Yamada   treewide: replace...
40
  	help
a9f71d0de   Georg Hofmann   trivial: fix inco...
41
42
  	  Support for optimistic Duplicate Address Detection. It allows for
  	  autoconfigured addresses to be used more quickly.
95c385b4d   Neil Horman   [IPV6] ADDRCONF: ...
43
44
  
  	  If unsure, say N.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
45
46
  config INET6_AH
  	tristate "IPv6: AH transformation"
7d4e39195   Eric Biggers   esp, ah: consolid...
47
  	select XFRM_AH
a7f7f6248   Masahiro Yamada   treewide: replace...
48
  	help
be0136985   Eric Biggers   esp, ah: moderniz...
49
50
51
52
53
54
55
56
  	  Support for IPsec AH (Authentication Header).
  
  	  AH can be used with various authentication algorithms.  Besides
  	  enabling AH support itself, this option enables the generic
  	  implementations of the algorithms that RFC 8221 lists as MUST be
  	  implemented.  If you need any other algorithms, you'll need to enable
  	  them in the crypto API.  You should also enable accelerated
  	  implementations of any needed algorithms when available.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
57
58
59
60
61
  
  	  If unsure, say Y.
  
  config INET6_ESP
  	tristate "IPv6: ESP transformation"
7d4e39195   Eric Biggers   esp, ah: consolid...
62
  	select XFRM_ESP
a7f7f6248   Masahiro Yamada   treewide: replace...
63
  	help
be0136985   Eric Biggers   esp, ah: moderniz...
64
65
66
67
68
69
70
71
  	  Support for IPsec ESP (Encapsulating Security Payload).
  
  	  ESP can be used with various encryption and authentication algorithms.
  	  Besides enabling ESP support itself, this option enables the generic
  	  implementations of the algorithms that RFC 8221 lists as MUST be
  	  implemented.  If you need any other algorithms, you'll need to enable
  	  them in the crypto API.  You should also enable accelerated
  	  implementations of any needed algorithms when available.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
72
73
  
  	  If unsure, say Y.
7785bba29   Steffen Klassert   esp: Add a softwa...
74
75
76
77
78
  config INET6_ESP_OFFLOAD
  	tristate "IPv6: ESP transformation offload"
  	depends on INET6_ESP
  	select XFRM_OFFLOAD
  	default n
a7f7f6248   Masahiro Yamada   treewide: replace...
79
  	help
7785bba29   Steffen Klassert   esp: Add a softwa...
80
81
82
83
84
85
  	  Support for ESP transformation offload. This makes sense
  	  only if this system really does IPsec and want to do it
  	  with high throughput. A typical desktop system does not
  	  need it, even if it does IPsec.
  
  	  If unsure, say N.
26333c37f   Sabrina Dubroca   xfrm: add IPv6 su...
86
87
88
89
90
91
92
93
94
95
96
  config INET6_ESPINTCP
  	bool "IPv6: ESP in TCP encapsulation (RFC 8229)"
  	depends on XFRM && INET6_ESP
  	select STREAM_PARSER
  	select NET_SOCK_MSG
  	select XFRM_ESPINTCP
  	help
  	  Support for RFC 8229 encapsulation of ESP and IKE over
  	  TCP/IPv6 sockets.
  
  	  If unsure, say N.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
97
98
  config INET6_IPCOMP
  	tristate "IPv6: IPComp transformation"
d2acc3479   Herbert Xu   [INET]: Introduce...
99
  	select INET6_XFRM_TUNNEL
6fccab671   Herbert Xu   ipsec: ipcomp - M...
100
  	select XFRM_IPCOMP
a7f7f6248   Masahiro Yamada   treewide: replace...
101
  	help
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
102
103
104
105
  	  Support for IP Payload Compression Protocol (IPComp) (RFC3173),
  	  typically needed for IPsec.
  
  	  If unsure, say Y.
ee5382680   Masahide NAKAMURA   [IPV6]: Add Kconf...
106
  config IPV6_MIP6
f9ceb16ec   Kees Cook   net/ipv6: remove ...
107
  	tristate "IPv6: Mobility"
ee5382680   Masahide NAKAMURA   [IPV6]: Add Kconf...
108
  	select XFRM
a7f7f6248   Masahiro Yamada   treewide: replace...
109
  	help
ee5382680   Masahide NAKAMURA   [IPV6]: Add Kconf...
110
111
112
  	  Support for IPv6 Mobility described in RFC 3775.
  
  	  If unsure, say N.
65d7ab8de   Tom Herbert   net: Identifier L...
113
114
  config IPV6_ILA
  	tristate "IPv6: Identifier Locator Addressing (ILA)"
8cb964dae   Arnd Bergmann   ila: add NETFILTE...
115
  	depends on NETFILTER
83ed7d1fe   Arnd Bergmann   ipv6: ila: select...
116
  	select DST_CACHE
65d7ab8de   Tom Herbert   net: Identifier L...
117
  	select LWTUNNEL
a7f7f6248   Masahiro Yamada   treewide: replace...
118
  	help
65d7ab8de   Tom Herbert   net: Identifier L...
119
120
121
122
123
124
125
126
127
128
129
130
131
132
  	  Support for IPv6 Identifier Locator Addressing (ILA).
  
  	  ILA is a mechanism to do network virtualization without
  	  encapsulation. The basic concept of ILA is that we split an
  	  IPv6 address into a 64 bit locator and 64 bit identifier. The
  	  identifier is the identity of an entity in communication
  	  ("who") and the locator expresses the location of the
  	  entity ("where").
  
  	  ILA can be configured using the "encap ila" option with
  	  "ip -6 route" command. ILA is described in
  	  https://tools.ietf.org/html/draft-herbert-nvo3-ila-00.
  
  	  If unsure, say N.
d2acc3479   Herbert Xu   [INET]: Introduce...
133
134
135
136
  config INET6_XFRM_TUNNEL
  	tristate
  	select INET6_TUNNEL
  	default n
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
137
  config INET6_TUNNEL
d2acc3479   Herbert Xu   [INET]: Introduce...
138
139
  	tristate
  	default n
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
140

ed1efb2ae   Steffen Klassert   ipv6: Add support...
141
142
143
  config IPV6_VTI
  tristate "Virtual (secure) IPv6: tunneling"
  	select IPV6_TUNNEL
876fc03aa   Steffen Klassert   ip6_vti: Fix buil...
144
  	select NET_IP_TUNNEL
4c145dce2   Florian Westphal   xfrm: make xfrm m...
145
  	select XFRM
a7f7f6248   Masahiro Yamada   treewide: replace...
146
  	help
ed1efb2ae   Steffen Klassert   ipv6: Add support...
147
148
149
150
151
  	Tunneling means encapsulating data of one protocol type within
  	another protocol and sending it over a channel that understands the
  	encapsulating protocol. This can be used with xfrm mode tunnel to give
  	the notion of a secure tunnel for IPSEC and then use routing protocol
  	on top.
989e5b96e   Joerg Roedel   [IPV6]: Seperate ...
152
153
  config IPV6_SIT
  	tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)"
c73cb5a2d   Kazunori MIYAZAWA   [IPSEC]: make sit...
154
  	select INET_TUNNEL
f61dd388a   Pravin B Shelar   Tunneling: use IP...
155
  	select NET_IP_TUNNEL
de357cc01   YOSHIFUJI Hideaki   [IPV6] NDISC: Don...
156
  	select IPV6_NDISC_NODETYPE
989e5b96e   Joerg Roedel   [IPV6]: Seperate ...
157
  	default y
a7f7f6248   Masahiro Yamada   treewide: replace...
158
  	help
989e5b96e   Joerg Roedel   [IPV6]: Seperate ...
159
160
161
  	  Tunneling means encapsulating data of one protocol type within
  	  another protocol and sending it over a channel that understands the
  	  encapsulating protocol. This driver implements encapsulation of IPv6
5c5d6dabb   David S. Miller   Revert "ipv6: Fix...
162
  	  into IPv4 packets. This is useful if you want to connect two IPv6
989e5b96e   Joerg Roedel   [IPV6]: Seperate ...
163
  	  networks over an IPv4-only path.
4737f0978   Pavel Machek   trivial: Kconfig:...
164
  	  Saying M here will produce a module called sit. If unsure, say Y.
989e5b96e   Joerg Roedel   [IPV6]: Seperate ...
165

fa857afcf   YOSHIFUJI Hideaki / 吉藤英明   ipv6 sit: 6rd (IP...
166
  config IPV6_SIT_6RD
f9ceb16ec   Kees Cook   net/ipv6: remove ...
167
168
  	bool "IPv6: IPv6 Rapid Deployment (6RD)"
  	depends on IPV6_SIT
fa857afcf   YOSHIFUJI Hideaki / 吉藤英明   ipv6 sit: 6rd (IP...
169
  	default n
a7f7f6248   Masahiro Yamada   treewide: replace...
170
  	help
fa857afcf   YOSHIFUJI Hideaki / 吉藤英明   ipv6 sit: 6rd (IP...
171
172
173
174
175
176
177
178
179
180
181
182
183
  	  IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon
  	  mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly
  	  deploy IPv6 unicast service to IPv4 sites to which it provides
  	  customer premise equipment.  Like 6to4, it utilizes stateless IPv6 in
  	  IPv4 encapsulation in order to transit IPv4-only network
  	  infrastructure.  Unlike 6to4, a 6rd service provider uses an IPv6
  	  prefix of its own in place of the fixed 6to4 prefix.
  
  	  With this option enabled, the SIT driver offers 6rd functionality by
  	  providing additional ioctl API to configure the IPv6 Prefix for in
  	  stead of static 2002::/16 for 6to4.
  
  	  If unsure, say N.
de357cc01   YOSHIFUJI Hideaki   [IPV6] NDISC: Don...
184
185
  config IPV6_NDISC_NODETYPE
  	bool
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
186
  config IPV6_TUNNEL
38fe999e2   YOSHIFUJI Hideaki   [IPV6] KCONFIG: F...
187
  	tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)"
d2acc3479   Herbert Xu   [INET]: Introduce...
188
  	select INET6_TUNNEL
607f725f6   Paolo Abeni   net: replace dst_...
189
  	select DST_CACHE
97e219b7c   Eric Dumazet   gro_cells: move t...
190
  	select GRO_CELLS
a7f7f6248   Masahiro Yamada   treewide: replace...
191
  	help
38fe999e2   YOSHIFUJI Hideaki   [IPV6] KCONFIG: F...
192
193
  	  Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
  	  RFC 2473.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
194
195
  
  	  If unsure, say N.
c12b395a4   xeb@mail.ru   gre: Support GRE ...
196
197
198
  config IPV6_GRE
  	tristate "IPv6: GRE tunnel"
  	select IPV6_TUNNEL
f61dd388a   Pravin B Shelar   Tunneling: use IP...
199
  	select NET_IP_TUNNEL
8bf42e9e5   Arnd Bergmann   gre6: add Kconfig...
200
  	depends on NET_IPGRE_DEMUX
a7f7f6248   Masahiro Yamada   treewide: replace...
201
  	help
c12b395a4   xeb@mail.ru   gre: Support GRE ...
202
203
204
205
206
207
208
209
210
211
212
  	  Tunneling means encapsulating data of one protocol type within
  	  another protocol and sending it over a channel that understands the
  	  encapsulating protocol. This particular tunneling driver implements
  	  GRE (Generic Routing Encapsulation) and at this time allows
  	  encapsulating of IPv4 or IPv6 over existing IPv6 infrastructure.
  	  This driver is useful if the other endpoint is a Cisco router: Cisco
  	  likes GRE much better than the other Linux tunneling driver ("IP
  	  tunneling" above). In addition, GRE allows multicast redistribution
  	  through the tunnel.
  
  	  Saying M here will produce a module called ip6_gre. If unsure, say N.
fabb13db4   Arnd Bergmann   fou: add Kconfig ...
213
214
215
216
217
218
219
  config IPV6_FOU
  	tristate
  	default NET_FOU && IPV6
  
  config IPV6_FOU_TUNNEL
  	tristate
  	default NET_FOU_IP_TUNNELS && IPV6_FOU
95e4daa82   Arnd Bergmann   fou: fix IPv6 Kco...
220
  	select IPV6_TUNNEL
fabb13db4   Arnd Bergmann   fou: add Kconfig ...
221

264e91b68   Ville Nuorvala   [IPV6]: Make IPV6...
222
223
  config IPV6_MULTIPLE_TABLES
  	bool "IPv6: Multiple Routing Tables"
264e91b68   Ville Nuorvala   [IPV6]: Make IPV6...
224
  	select FIB_RULES
a7f7f6248   Masahiro Yamada   treewide: replace...
225
  	help
264e91b68   Ville Nuorvala   [IPV6]: Make IPV6...
226
  	  Support multiple routing tables.
4e96c2b41   YOSHIFUJI Hideaki   [IPV6] KCONFIG: A...
227
228
  config IPV6_SUBTREES
  	bool "IPv6: source address based routing"
264e91b68   Ville Nuorvala   [IPV6]: Make IPV6...
229
  	depends on IPV6_MULTIPLE_TABLES
a7f7f6248   Masahiro Yamada   treewide: replace...
230
  	help
4e96c2b41   YOSHIFUJI Hideaki   [IPV6] KCONFIG: A...
231
232
233
234
235
236
237
238
239
  	  Enable routing by source address or prefix.
  
  	  The destination address is still the primary routing key, so mixing
  	  normal and source prefix specific routes in the same routing table
  	  may sometimes lead to unintended routing behavior.  This can be
  	  avoided by defining different routing tables for the normal and
  	  source prefix specific routes.
  
  	  If unsure, say N.
7bc570c8b   YOSHIFUJI Hideaki   [IPV6] MROUTE: Su...
240
  config IPV6_MROUTE
f9ceb16ec   Kees Cook   net/ipv6: remove ...
241
242
  	bool "IPv6: multicast routing"
  	depends on IPV6
6853f21f7   Yuval Mintz   ipmr,ipmr6: Defin...
243
  	select IP_MROUTE_COMMON
a7f7f6248   Masahiro Yamada   treewide: replace...
244
  	help
a9f71d0de   Georg Hofmann   trivial: fix inco...
245
  	  Support for IPv6 multicast forwarding.
7bc570c8b   YOSHIFUJI Hideaki   [IPV6] MROUTE: Su...
246
  	  If unsure, say N.
d1db275dd   Patrick McHardy   ipv6: ip6mr: supp...
247
248
249
250
251
252
253
254
255
256
257
258
259
  config IPV6_MROUTE_MULTIPLE_TABLES
  	bool "IPv6: multicast policy routing"
  	depends on IPV6_MROUTE
  	select FIB_RULES
  	help
  	  Normally, a multicast router runs a userspace daemon and decides
  	  what to do with a multicast packet based on the source and
  	  destination addresses. If you say Y here, the multicast router
  	  will also be able to take interfaces and packet marks into
  	  account and run multiple instances of userspace daemons
  	  simultaneously, each one handling a single table.
  
  	  If unsure, say N.
14fb64e1f   YOSHIFUJI Hideaki   [IPV6] MROUTE: Su...
260
  config IPV6_PIMSM_V2
f9ceb16ec   Kees Cook   net/ipv6: remove ...
261
  	bool "IPv6: PIM-SM version 2 support"
14fb64e1f   YOSHIFUJI Hideaki   [IPV6] MROUTE: Su...
262
  	depends on IPV6_MROUTE
a7f7f6248   Masahiro Yamada   treewide: replace...
263
  	help
14fb64e1f   YOSHIFUJI Hideaki   [IPV6] MROUTE: Su...
264
265
  	  Support for IPv6 PIM multicast routing protocol PIM-SMv2.
  	  If unsure, say N.
46738b131   David Lebrun   ipv6: sr: add opt...
266
267
268
269
  config IPV6_SEG6_LWTUNNEL
  	bool "IPv6: Segment Routing Header encapsulation support"
  	depends on IPV6
  	select LWTUNNEL
402a5bc46   David Lebrun   ipv6: sr: select ...
270
  	select DST_CACHE
d7a669dd2   David Lebrun   ipv6: sr: add hel...
271
  	select IPV6_MULTIPLE_TABLES
a7f7f6248   Masahiro Yamada   treewide: replace...
272
  	help
46738b131   David Lebrun   ipv6: sr: add opt...
273
274
  	  Support for encapsulation of packets within an outer IPv6
  	  header and a Segment Routing Header using the lightweight
d1df6fd8a   David Lebrun   ipv6: sr: define ...
275
276
  	  tunnels mechanism. Also enable support for advanced local
  	  processing of SRv6 packets based on their active segment.
46738b131   David Lebrun   ipv6: sr: add opt...
277
278
  
  	  If unsure, say N.
bf355b8d2   David Lebrun   ipv6: sr: add cor...
279
280
281
  config IPV6_SEG6_HMAC
  	bool "IPv6: Segment Routing HMAC support"
  	depends on IPV6
db7cd91a4   Necip Fazil Yildiran   net: ipv6: fix kc...
282
  	select CRYPTO
bf355b8d2   David Lebrun   ipv6: sr: add cor...
283
284
285
  	select CRYPTO_HMAC
  	select CRYPTO_SHA1
  	select CRYPTO_SHA256
a7f7f6248   Masahiro Yamada   treewide: replace...
286
  	help
bf355b8d2   David Lebrun   ipv6: sr: add cor...
287
288
289
290
  	  Support for HMAC signature generation and verification
  	  of SR-enabled packets.
  
  	  If unsure, say N.
fe94cc290   Mathieu Xhonneux   bpf: Add IPv6 Seg...
291
292
293
294
  config IPV6_SEG6_BPF
  	def_bool y
  	depends on IPV6_SEG6_LWTUNNEL
  	depends on IPV6 = y
a7a29f9c3   Alexander Aring   net: ipv6: add rp...
295
296
297
298
  config IPV6_RPL_LWTUNNEL
  	bool "IPv6: RPL Source Routing Header support"
  	depends on IPV6
  	select LWTUNNEL
a7f7f6248   Masahiro Yamada   treewide: replace...
299
  	help
a7a29f9c3   Alexander Aring   net: ipv6: add rp...
300
301
302
303
  	  Support for RFC6554 RPL Source Routing Header using the lightweight
  	  tunnels mechanism.
  
  	  If unsure, say N.
0b18542b7   Jan Engelhardt   [NET]: Sink IPv6 ...
304
  endif # IPV6