xref: /linux/net/ipv6/Kconfig (revision fcee7d82f27d6a8b1ddc5bbefda59b4e441e9bc0)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
21da177e4SLinus Torvalds#
31da177e4SLinus Torvalds# IPv6 configuration
41da177e4SLinus Torvalds#
56a2e9b73SSam Ravnborg
60b18542bSJan Engelhardtmenuconfig IPV6
7309b905dSFernando Fernandez Mancera	bool "The IPv6 protocol"
8de551f2eSTom Herbert	default y
9ec8f7f48SEric Biggers	select CRYPTO_LIB_SHA1
10a7f7f624SMasahiro Yamada	help
11de551f2eSTom Herbert	  Support for IP version 6 (IPv6).
126a2e9b73SSam Ravnborg
136a2e9b73SSam Ravnborg	  For general information about IPv6, see
14242260fbSChristian Kujau	  <https://en.wikipedia.org/wiki/IPv6>.
15de551f2eSTom Herbert	  For specific information about IPv6 under Linux, see
1619093313SMauro Carvalho Chehab	  Documentation/networking/ipv6.rst and read the HOWTO at
177a6498ebSAlexander A. Klimov	  <https://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/>
186a2e9b73SSam Ravnborg
190b18542bSJan Engelhardtif IPV6
200b18542bSJan Engelhardt
21ebacaaa0SYOSHIFUJI Hideakiconfig IPV6_ROUTER_PREF
22ebacaaa0SYOSHIFUJI Hideaki	bool "IPv6: Router Preference (RFC 4191) support"
23a7f7f624SMasahiro Yamada	help
24ebacaaa0SYOSHIFUJI Hideaki	  Router Preference is an optional extension to the Router
25692105b8SMatt LaPlante	  Advertisement message which improves the ability of hosts
26692105b8SMatt LaPlante	  to pick an appropriate router, especially when the hosts
27692105b8SMatt LaPlante	  are placed in a multi-homed network.
28ebacaaa0SYOSHIFUJI Hideaki
29ebacaaa0SYOSHIFUJI Hideaki	  If unsure, say N.
30ebacaaa0SYOSHIFUJI Hideaki
3170ceb4f5SYOSHIFUJI Hideakiconfig IPV6_ROUTE_INFO
32f9ceb16eSKees Cook	bool "IPv6: Route Information (RFC 4191) support"
33f9ceb16eSKees Cook	depends on IPV6_ROUTER_PREF
34a7f7f624SMasahiro Yamada	help
35a9f71d0dSGeorg Hofmann	  Support of Route Information.
3670ceb4f5SYOSHIFUJI Hideaki
3770ceb4f5SYOSHIFUJI Hideaki	  If unsure, say N.
3870ceb4f5SYOSHIFUJI Hideaki
3995c385b4SNeil Hormanconfig IPV6_OPTIMISTIC_DAD
40f9ceb16eSKees Cook	bool "IPv6: Enable RFC 4429 Optimistic DAD"
41a7f7f624SMasahiro Yamada	help
42a9f71d0dSGeorg Hofmann	  Support for optimistic Duplicate Address Detection. It allows for
43a9f71d0dSGeorg Hofmann	  autoconfigured addresses to be used more quickly.
4495c385b4SNeil Horman
4595c385b4SNeil Horman	  If unsure, say N.
4695c385b4SNeil Horman
471da177e4SLinus Torvaldsconfig INET6_AH
481da177e4SLinus Torvalds	tristate "IPv6: AH transformation"
497d4e3919SEric Biggers	select XFRM_AH
50a7f7f624SMasahiro Yamada	help
51be013698SEric Biggers	  Support for IPsec AH (Authentication Header).
52be013698SEric Biggers
53be013698SEric Biggers	  AH can be used with various authentication algorithms.  Besides
54be013698SEric Biggers	  enabling AH support itself, this option enables the generic
55be013698SEric Biggers	  implementations of the algorithms that RFC 8221 lists as MUST be
56be013698SEric Biggers	  implemented.  If you need any other algorithms, you'll need to enable
57be013698SEric Biggers	  them in the crypto API.  You should also enable accelerated
58be013698SEric Biggers	  implementations of any needed algorithms when available.
591da177e4SLinus Torvalds
601da177e4SLinus Torvalds	  If unsure, say Y.
611da177e4SLinus Torvalds
621da177e4SLinus Torvaldsconfig INET6_ESP
631da177e4SLinus Torvalds	tristate "IPv6: ESP transformation"
647d4e3919SEric Biggers	select XFRM_ESP
65a7f7f624SMasahiro Yamada	help
66be013698SEric Biggers	  Support for IPsec ESP (Encapsulating Security Payload).
67be013698SEric Biggers
68be013698SEric Biggers	  ESP can be used with various encryption and authentication algorithms.
69be013698SEric Biggers	  Besides enabling ESP support itself, this option enables the generic
70be013698SEric Biggers	  implementations of the algorithms that RFC 8221 lists as MUST be
71be013698SEric Biggers	  implemented.  If you need any other algorithms, you'll need to enable
72be013698SEric Biggers	  them in the crypto API.  You should also enable accelerated
73be013698SEric Biggers	  implementations of any needed algorithms when available.
741da177e4SLinus Torvalds
751da177e4SLinus Torvalds	  If unsure, say Y.
761da177e4SLinus Torvalds
777785bba2SSteffen Klassertconfig INET6_ESP_OFFLOAD
787785bba2SSteffen Klassert	tristate "IPv6: ESP transformation offload"
797785bba2SSteffen Klassert	depends on INET6_ESP
807785bba2SSteffen Klassert	select XFRM_OFFLOAD
817785bba2SSteffen Klassert	default n
82a7f7f624SMasahiro Yamada	help
837785bba2SSteffen Klassert	  Support for ESP transformation offload. This makes sense
847785bba2SSteffen Klassert	  only if this system really does IPsec and want to do it
857785bba2SSteffen Klassert	  with high throughput. A typical desktop system does not
867785bba2SSteffen Klassert	  need it, even if it does IPsec.
877785bba2SSteffen Klassert
887785bba2SSteffen Klassert	  If unsure, say N.
897785bba2SSteffen Klassert
9026333c37SSabrina Dubrocaconfig INET6_ESPINTCP
9126333c37SSabrina Dubroca	bool "IPv6: ESP in TCP encapsulation (RFC 8229)"
9226333c37SSabrina Dubroca	depends on XFRM && INET6_ESP
9326333c37SSabrina Dubroca	select STREAM_PARSER
9426333c37SSabrina Dubroca	select NET_SOCK_MSG
9526333c37SSabrina Dubroca	select XFRM_ESPINTCP
9626333c37SSabrina Dubroca	help
9726333c37SSabrina Dubroca	  Support for RFC 8229 encapsulation of ESP and IKE over
9826333c37SSabrina Dubroca	  TCP/IPv6 sockets.
9926333c37SSabrina Dubroca
10026333c37SSabrina Dubroca	  If unsure, say N.
10126333c37SSabrina Dubroca
1021da177e4SLinus Torvaldsconfig INET6_IPCOMP
1031da177e4SLinus Torvalds	tristate "IPv6: IPComp transformation"
104d2acc347SHerbert Xu	select INET6_XFRM_TUNNEL
1056fccab67SHerbert Xu	select XFRM_IPCOMP
106a7f7f624SMasahiro Yamada	help
1071da177e4SLinus Torvalds	  Support for IP Payload Compression Protocol (IPComp) (RFC3173),
1081da177e4SLinus Torvalds	  typically needed for IPsec.
1091da177e4SLinus Torvalds
1101da177e4SLinus Torvalds	  If unsure, say Y.
1111da177e4SLinus Torvalds
112ee538268SMasahide NAKAMURAconfig IPV6_MIP6
113f9ceb16eSKees Cook	tristate "IPv6: Mobility"
114ee538268SMasahide NAKAMURA	select XFRM
115a7f7f624SMasahiro Yamada	help
116ee538268SMasahide NAKAMURA	  Support for IPv6 Mobility described in RFC 3775.
117ee538268SMasahide NAKAMURA
118ee538268SMasahide NAKAMURA	  If unsure, say N.
119ee538268SMasahide NAKAMURA
12065d7ab8dSTom Herbertconfig IPV6_ILA
12165d7ab8dSTom Herbert	tristate "IPv6: Identifier Locator Addressing (ILA)"
1228cb964daSArnd Bergmann	depends on NETFILTER
12383ed7d1fSArnd Bergmann	select DST_CACHE
12465d7ab8dSTom Herbert	select LWTUNNEL
125a7f7f624SMasahiro Yamada	help
12665d7ab8dSTom Herbert	  Support for IPv6 Identifier Locator Addressing (ILA).
12765d7ab8dSTom Herbert
12865d7ab8dSTom Herbert	  ILA is a mechanism to do network virtualization without
12965d7ab8dSTom Herbert	  encapsulation. The basic concept of ILA is that we split an
13065d7ab8dSTom Herbert	  IPv6 address into a 64 bit locator and 64 bit identifier. The
13165d7ab8dSTom Herbert	  identifier is the identity of an entity in communication
13265d7ab8dSTom Herbert	  ("who") and the locator expresses the location of the
13365d7ab8dSTom Herbert	  entity ("where").
13465d7ab8dSTom Herbert
13565d7ab8dSTom Herbert	  ILA can be configured using the "encap ila" option with
13665d7ab8dSTom Herbert	  "ip -6 route" command. ILA is described in
13765d7ab8dSTom Herbert	  https://tools.ietf.org/html/draft-herbert-nvo3-ila-00.
13865d7ab8dSTom Herbert
13965d7ab8dSTom Herbert	  If unsure, say N.
14065d7ab8dSTom Herbert
141d2acc347SHerbert Xuconfig INET6_XFRM_TUNNEL
142d2acc347SHerbert Xu	tristate
143d2acc347SHerbert Xu	select INET6_TUNNEL
144d2acc347SHerbert Xu	default n
1451da177e4SLinus Torvalds
146d2acc347SHerbert Xuconfig INET6_TUNNEL
147d2acc347SHerbert Xu	tristate
148d2acc347SHerbert Xu	default n
1491da177e4SLinus Torvalds
150ed1efb2aSSteffen Klassertconfig IPV6_VTI
151ed1efb2aSSteffen Klassert	tristate "Virtual (secure) IPv6: tunneling"
152ed1efb2aSSteffen Klassert	select IPV6_TUNNEL
153876fc03aSSteffen Klassert	select NET_IP_TUNNEL
1544c145dceSFlorian Westphal	select XFRM
155a7f7f624SMasahiro Yamada	help
156ed1efb2aSSteffen Klassert	Tunneling means encapsulating data of one protocol type within
157ed1efb2aSSteffen Klassert	another protocol and sending it over a channel that understands the
158ed1efb2aSSteffen Klassert	encapsulating protocol. This can be used with xfrm mode tunnel to give
159ed1efb2aSSteffen Klassert	the notion of a secure tunnel for IPSEC and then use routing protocol
160ed1efb2aSSteffen Klassert	on top.
161ed1efb2aSSteffen Klassert
162989e5b96SJoerg Roedelconfig IPV6_SIT
163989e5b96SJoerg Roedel	tristate "IPv6: IPv6-in-IPv4 tunnel (SIT driver)"
164c73cb5a2SKazunori MIYAZAWA	select INET_TUNNEL
165f61dd388SPravin B Shelar	select NET_IP_TUNNEL
166de357cc0SYOSHIFUJI Hideaki	select IPV6_NDISC_NODETYPE
167*901a7d9eSAlyssa Ross	default m
168a7f7f624SMasahiro Yamada	help
169989e5b96SJoerg Roedel	  Tunneling means encapsulating data of one protocol type within
170989e5b96SJoerg Roedel	  another protocol and sending it over a channel that understands the
171989e5b96SJoerg Roedel	  encapsulating protocol. This driver implements encapsulation of IPv6
1725c5d6dabSDavid S. Miller	  into IPv4 packets. This is useful if you want to connect two IPv6
173989e5b96SJoerg Roedel	  networks over an IPv4-only path.
174989e5b96SJoerg Roedel
175*901a7d9eSAlyssa Ross	  Saying M here will produce a module called sit. If unsure, say M.
176989e5b96SJoerg Roedel
177fa857afcSYOSHIFUJI Hideaki / 吉藤英明config IPV6_SIT_6RD
178f9ceb16eSKees Cook	bool "IPv6: IPv6 Rapid Deployment (6RD)"
179f9ceb16eSKees Cook	depends on IPV6_SIT
180fa857afcSYOSHIFUJI Hideaki / 吉藤英明	default n
181a7f7f624SMasahiro Yamada	help
182fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon
183fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly
184fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  deploy IPv6 unicast service to IPv4 sites to which it provides
185fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  customer premise equipment.  Like 6to4, it utilizes stateless IPv6 in
186fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  IPv4 encapsulation in order to transit IPv4-only network
187fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  infrastructure.  Unlike 6to4, a 6rd service provider uses an IPv6
188fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  prefix of its own in place of the fixed 6to4 prefix.
189fa857afcSYOSHIFUJI Hideaki / 吉藤英明
190fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  With this option enabled, the SIT driver offers 6rd functionality by
191fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  providing additional ioctl API to configure the IPv6 Prefix for in
192fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  stead of static 2002::/16 for 6to4.
193fa857afcSYOSHIFUJI Hideaki / 吉藤英明
194fa857afcSYOSHIFUJI Hideaki / 吉藤英明	  If unsure, say N.
195fa857afcSYOSHIFUJI Hideaki / 吉藤英明
196de357cc0SYOSHIFUJI Hideakiconfig IPV6_NDISC_NODETYPE
197de357cc0SYOSHIFUJI Hideaki	bool
198de357cc0SYOSHIFUJI Hideaki
1991da177e4SLinus Torvaldsconfig IPV6_TUNNEL
20038fe999eSYOSHIFUJI Hideaki	tristate "IPv6: IP-in-IPv6 tunnel (RFC2473)"
201d2acc347SHerbert Xu	select INET6_TUNNEL
202607f725fSPaolo Abeni	select DST_CACHE
20397e219b7SEric Dumazet	select GRO_CELLS
204a7f7f624SMasahiro Yamada	help
20538fe999eSYOSHIFUJI Hideaki	  Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
20638fe999eSYOSHIFUJI Hideaki	  RFC 2473.
2071da177e4SLinus Torvalds
2081da177e4SLinus Torvalds	  If unsure, say N.
2091da177e4SLinus Torvalds
210c12b395aSxeb@mail.ruconfig IPV6_GRE
211c12b395aSxeb@mail.ru	tristate "IPv6: GRE tunnel"
212c12b395aSxeb@mail.ru	select IPV6_TUNNEL
213f61dd388SPravin B Shelar	select NET_IP_TUNNEL
2148bf42e9eSArnd Bergmann	depends on NET_IPGRE_DEMUX
215a7f7f624SMasahiro Yamada	help
216c12b395aSxeb@mail.ru	  Tunneling means encapsulating data of one protocol type within
217c12b395aSxeb@mail.ru	  another protocol and sending it over a channel that understands the
218c12b395aSxeb@mail.ru	  encapsulating protocol. This particular tunneling driver implements
219c12b395aSxeb@mail.ru	  GRE (Generic Routing Encapsulation) and at this time allows
220c12b395aSxeb@mail.ru	  encapsulating of IPv4 or IPv6 over existing IPv6 infrastructure.
221c12b395aSxeb@mail.ru	  This driver is useful if the other endpoint is a Cisco router: Cisco
222c12b395aSxeb@mail.ru	  likes GRE much better than the other Linux tunneling driver ("IP
223c12b395aSxeb@mail.ru	  tunneling" above). In addition, GRE allows multicast redistribution
224c12b395aSxeb@mail.ru	  through the tunnel.
225c12b395aSxeb@mail.ru
226c12b395aSxeb@mail.ru	  Saying M here will produce a module called ip6_gre. If unsure, say N.
227c12b395aSxeb@mail.ru
228fabb13dbSArnd Bergmannconfig IPV6_FOU
229fabb13dbSArnd Bergmann	tristate
230fabb13dbSArnd Bergmann	default NET_FOU && IPV6
231fabb13dbSArnd Bergmann
232fabb13dbSArnd Bergmannconfig IPV6_FOU_TUNNEL
233fabb13dbSArnd Bergmann	tristate
234fabb13dbSArnd Bergmann	default NET_FOU_IP_TUNNELS && IPV6_FOU
23595e4daa8SArnd Bergmann	select IPV6_TUNNEL
236fabb13dbSArnd Bergmann
237264e91b6SVille Nuorvalaconfig IPV6_MULTIPLE_TABLES
238264e91b6SVille Nuorvala	bool "IPv6: Multiple Routing Tables"
239264e91b6SVille Nuorvala	select FIB_RULES
240a7f7f624SMasahiro Yamada	help
241264e91b6SVille Nuorvala	  Support multiple routing tables.
242264e91b6SVille Nuorvala
2434e96c2b4SYOSHIFUJI Hideakiconfig IPV6_SUBTREES
2444e96c2b4SYOSHIFUJI Hideaki	bool "IPv6: source address based routing"
245264e91b6SVille Nuorvala	depends on IPV6_MULTIPLE_TABLES
246a7f7f624SMasahiro Yamada	help
2474e96c2b4SYOSHIFUJI Hideaki	  Enable routing by source address or prefix.
2484e96c2b4SYOSHIFUJI Hideaki
2494e96c2b4SYOSHIFUJI Hideaki	  The destination address is still the primary routing key, so mixing
2504e96c2b4SYOSHIFUJI Hideaki	  normal and source prefix specific routes in the same routing table
2514e96c2b4SYOSHIFUJI Hideaki	  may sometimes lead to unintended routing behavior.  This can be
2524e96c2b4SYOSHIFUJI Hideaki	  avoided by defining different routing tables for the normal and
2534e96c2b4SYOSHIFUJI Hideaki	  source prefix specific routes.
2544e96c2b4SYOSHIFUJI Hideaki
2554e96c2b4SYOSHIFUJI Hideaki	  If unsure, say N.
2564e96c2b4SYOSHIFUJI Hideaki
2577bc570c8SYOSHIFUJI Hideakiconfig IPV6_MROUTE
258f9ceb16eSKees Cook	bool "IPv6: multicast routing"
259f9ceb16eSKees Cook	depends on IPV6
2606853f21fSYuval Mintz	select IP_MROUTE_COMMON
261a7f7f624SMasahiro Yamada	help
262a9f71d0dSGeorg Hofmann	  Support for IPv6 multicast forwarding.
2637bc570c8SYOSHIFUJI Hideaki	  If unsure, say N.
2647bc570c8SYOSHIFUJI Hideaki
265d1db275dSPatrick McHardyconfig IPV6_MROUTE_MULTIPLE_TABLES
266d1db275dSPatrick McHardy	bool "IPv6: multicast policy routing"
267d1db275dSPatrick McHardy	depends on IPV6_MROUTE
268d1db275dSPatrick McHardy	select FIB_RULES
269d1db275dSPatrick McHardy	help
270d1db275dSPatrick McHardy	  Normally, a multicast router runs a userspace daemon and decides
271d1db275dSPatrick McHardy	  what to do with a multicast packet based on the source and
272d1db275dSPatrick McHardy	  destination addresses. If you say Y here, the multicast router
273d1db275dSPatrick McHardy	  will also be able to take interfaces and packet marks into
274d1db275dSPatrick McHardy	  account and run multiple instances of userspace daemons
275d1db275dSPatrick McHardy	  simultaneously, each one handling a single table.
276d1db275dSPatrick McHardy
277d1db275dSPatrick McHardy	  If unsure, say N.
278d1db275dSPatrick McHardy
27914fb64e1SYOSHIFUJI Hideakiconfig IPV6_PIMSM_V2
280f9ceb16eSKees Cook	bool "IPv6: PIM-SM version 2 support"
28114fb64e1SYOSHIFUJI Hideaki	depends on IPV6_MROUTE
282a7f7f624SMasahiro Yamada	help
28314fb64e1SYOSHIFUJI Hideaki	  Support for IPv6 PIM multicast routing protocol PIM-SMv2.
28414fb64e1SYOSHIFUJI Hideaki	  If unsure, say N.
28514fb64e1SYOSHIFUJI Hideaki
28646738b13SDavid Lebrunconfig IPV6_SEG6_LWTUNNEL
28746738b13SDavid Lebrun	bool "IPv6: Segment Routing Header encapsulation support"
28846738b13SDavid Lebrun	depends on IPV6
28946738b13SDavid Lebrun	select LWTUNNEL
290402a5bc4SDavid Lebrun	select DST_CACHE
291d7a669ddSDavid Lebrun	select IPV6_MULTIPLE_TABLES
292a7f7f624SMasahiro Yamada	help
29346738b13SDavid Lebrun	  Support for encapsulation of packets within an outer IPv6
29446738b13SDavid Lebrun	  header and a Segment Routing Header using the lightweight
295d1df6fd8SDavid Lebrun	  tunnels mechanism. Also enable support for advanced local
296d1df6fd8SDavid Lebrun	  processing of SRv6 packets based on their active segment.
29746738b13SDavid Lebrun
29846738b13SDavid Lebrun	  If unsure, say N.
29946738b13SDavid Lebrun
300bf355b8dSDavid Lebrunconfig IPV6_SEG6_HMAC
301bf355b8dSDavid Lebrun	bool "IPv6: Segment Routing HMAC support"
302bf355b8dSDavid Lebrun	depends on IPV6
303095928e7SEric Biggers	select CRYPTO_LIB_SHA1
304095928e7SEric Biggers	select CRYPTO_LIB_SHA256
305095928e7SEric Biggers	select CRYPTO_LIB_UTILS
306a7f7f624SMasahiro Yamada	help
307bf355b8dSDavid Lebrun	  Support for HMAC signature generation and verification
308bf355b8dSDavid Lebrun	  of SR-enabled packets.
309bf355b8dSDavid Lebrun
310bf355b8dSDavid Lebrun	  If unsure, say N.
311bf355b8dSDavid Lebrun
312fe94cc29SMathieu Xhonneuxconfig IPV6_SEG6_BPF
313fe94cc29SMathieu Xhonneux	def_bool y
314fe94cc29SMathieu Xhonneux	depends on IPV6_SEG6_LWTUNNEL
315fe94cc29SMathieu Xhonneux	depends on IPV6 = y
316fe94cc29SMathieu Xhonneux
317a7a29f9cSAlexander Aringconfig IPV6_RPL_LWTUNNEL
318a7a29f9cSAlexander Aring	bool "IPv6: RPL Source Routing Header support"
319a7a29f9cSAlexander Aring	depends on IPV6
320a7a29f9cSAlexander Aring	select LWTUNNEL
32193c21077SThomas Weißschuh	select DST_CACHE
322a7f7f624SMasahiro Yamada	help
323a7a29f9cSAlexander Aring	  Support for RFC6554 RPL Source Routing Header using the lightweight
324a7a29f9cSAlexander Aring	  tunnels mechanism.
325a7a29f9cSAlexander Aring
326a7a29f9cSAlexander Aring	  If unsure, say N.
327a7a29f9cSAlexander Aring
3283edede08SJustin Iurmanconfig IPV6_IOAM6_LWTUNNEL
3293edede08SJustin Iurman	bool "IPv6: IOAM Pre-allocated Trace insertion support"
3303edede08SJustin Iurman	depends on IPV6
3313edede08SJustin Iurman	select LWTUNNEL
3328cb3bf8bSJustin Iurman	select DST_CACHE
3333edede08SJustin Iurman	help
3348cb3bf8bSJustin Iurman	  Support for the insertion of IOAM Pre-allocated Trace
3358cb3bf8bSJustin Iurman	  Header using the lightweight tunnels mechanism.
3363edede08SJustin Iurman
3373edede08SJustin Iurman	  If unsure, say N.
3383edede08SJustin Iurman
3390b18542bSJan Engelhardtendif # IPV6
340