~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/net/ipv6/Kconfig

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php