Start | Previous | Next IPv6 Overview | Kernel | C-Library | Configuration & Debugging | Additions | Applications | Distributions

IPv6 & Linux - Current Status - Kernel and mandatory features

Version: 1.85 from 2006-06-11


Copyright 1999-2007 by Peter Bieringer <pb@bieringer.de>, original site of publishing: http://www.bieringer.de/linux/IPv6/
Unlimited non-commercial distribution of this document in its entirety is encouraged - please contact the author prior to commercial publication.
Suggestions, comments and improvements are welcome! Please, help me fill it in...

Contents


Primary IPv6 features in the kernel


Currently work/update in progress...feel free to contribute!
Feature RFC/
Draft
Status
Vanilla
2.4
(2.4.6)
Status
Vanilla
2.6
Who is working on it Link to sources / Additional comments
Raw socket
working  working


TCP
working working


UDP
working  working


SCTP
RFC 2960
working
(reported 2004-07-29)
working
(reported 2004-07-29)
lksctp project
Stream Transmission Control Protocol
Linux Kernel SCTP (lksctp) Project
ICMP
ICMPv6 RFC 2463
working
working


ICMP node information queries draft-ietf-ipngwg-icmp-name-lookups missing
USAGI
Address configuration
Stateless address autoconfiguration
working


Privacy extensions for stateless address autoconfiguration RFC 3041
draft-ietf-ipngwg-temp-addresses-v2
missing

per interface switchable
Node discovery
Duplicate address detection
working working

Neigbour discovery 
bugfixed
USAGI some (older) versions do not re-join all-node multicast address on network devices after down and up again
Neigbour discovery for inverse discovery  RFC 3122 missing


Router discovery
bugfixed
USAGI some (older) versions do not re-join all-node multicast address on network devices after down and up again
Tunneling
Static tunneling (IPv6 encapsulated in IPv4)
working working

Automatic tunneling of IPv4-comaptible IPv6 addresses
working working

6over4
missing

Stig Venås do not have enough time for this
6to4
working  working

6to4 over UDP draft-ietf-ngtrans-shipworm missing


IPv{4,6} over IPv6


USAGI
ISATAP draft-ietf-ngtrans-isatap in progress?

Fred Templin, Nathan Lutchansky
Teredo
described working described working
Use miredo
http://www.simphalempin.com/dev/miredo/
ToS bit handling RFC 2893 3.5 probably


ToS bit handling at Differentiated Services and Tunnels RFC 2983



Bridging
Multilink subnets draft-thaler-ipngwg-multilink-subnets missing


Routing
Unicast routing
working 


Multicast routing


USAGI
Anycast routing
working

similar to unicast routing
Selections
Source address selection draft-ietf-ipngwg-default-addr-select in progress
Stig Venås http://www.venaas.priv.no/ipv6/srcaddrsel.html
kernel patch of the USAGI project
more info below
Default router selection 
working, but rather old


Security
IPsec Transport Mode AH

probably USAGI
IPsec Transport Mode ESP

working USAGI
IPsec Tunnel Mode AH

in progress USAGI
IPsec Tunnel Mode ESP

working USAGI
Firewalling
working
(stateless)
working
(stateless since 2.6.0,
stateful since 2.6.20)

USAGI & Netfilter team

Mobility
Mobility support


MIPL
Options
hop-by-hop / jumbo payload
implemented


hop-by-hop / router alert
implemented


routing header
implemented


destination options


USAGI
QoS
Flow label support in kernel
still unknown


Flow label specific routing
still unknown


Flow label specific routing
still unknown
Wang Hui
Flow label support on application level
working?


Interface support / layer 2 transport protocols
Ethernet
working



Token-Ring


Mike Phillips
PPP RFC 2472
working


with IPv6 enabled pppd
working in 2.4 confirmed by me
ATM-PVC




ISDN CiscoHDLC



cannot test because of lack of a Cisco router
ISDN X.25



cannot test
ISDN HDLC using encapsulation ip
working


confirmed by me
ISDN HDLC using encapsulation syncppp and ipppd
not supported


confirmed by me, kernel doesn't support IPv6 in isdn_ppp.c:
isdn_ppp: skipped unsupported protocol: 0xdd86.
ipppd: i2.2 patch level 12
ISDN HDLC using encapsulation rawip
never capable


design issue, no type field available
better called now rawipv4
SLIP and PLIP RFC 1055
never capable


design issue, no type field available
better called now SLIPv4
MPLS



URL: http://sf.net/projects/mpls-linux/
Still unsorted
Renumbering link net
working 

with radvd
Multicast client
working


Anycast listening
missing


Path MTU discovery
bugfix in 2.4.6


sin6_socpe_id like in RFC 2553

SEKIYA Yuji
USAGI project
http://ftp2.v6.linux.or.jp/pub/Linux/kernel/patches/
ftp://ftp.nemoto.ecei.tohoku.ac.jp/pub/Net/IPv6/Patches/
kernel patch of the USAGI project
discussions..., update of RFC is in progress
Divert sockets


Ilia Baldinei http://www.anr.mcnc.org/~divert
specify next hop address RFC 2292 missing


Traffic counters
missing

IPv6 data provided for SNMP

IPv6 packet filtering in kernel 2.4+

Feature kernel 2.4.5 + iptables-1.2.2 status Status 2001-12-30 (got info, no self-tests) Oct 2005 (2.6.x) Current Additional comment
Target ACCEPT, DROP built-in, working built-in, working built-in, working

Target LOG patch-o-matic, working patch-o-matic, working built-in, working

Target REJECT patch-o-matic, not working, missing libary for ip6tables (perhaps others, too) patch-o-matic, working patch-o-matic, working

Match extension icmpv6 not working built-in, working


Connection tracking not implemented yet not implemented yet planned for > 2.6.17 Since 2.6.20
(May 2007)

ip6tables manual page missing covering basics available

ip6tables documentation
not really available

EUI64 adress checker for local networks
patch-o-matic, currently in test


extension header (existance) match
patch-o-matic, early release


match limit
match mac
match multiport
match owner

patch-o-matic avalable

...





User space daemons

Transport protocol user space daemon RFC Who is working on it Link to sources Additional
comment
pppd 2472 Maintainers URL: http://freshmeat.net/projects/pppd/
MS-CBCP support: http://sourceforge.net/projects/pppcbcp/
native support
Status (see here for more details):
Assign link-local addresses on each side: ok
IPv6 transport: ok
Server assign prefixes to client:  (not defined in IPv6CP) so only via DHCPv6 or Router Advertisements
ipppd
isdn4linux team?
cannot tested because of the missing IPv6 support in isdn_ppp.c
Information from an ISDN developer: support for IPv6 of ISDN/syncPPP is planned for kernel-2.5 series (redesign of ISDN [full CAPI]) using the PPP layer of kernel afterwards, perhaps a backport to 2.4 will be done.


Security

IPsec implementation
(User space)
RFC Status Who is working on it Link to sources Additional
comment
pluto

working
OpenS/WAN http://www.openswan.org
Former known as FreeS/WAN
racoon
working USAGI and Netdev team http://ipsec-tools.sourceforge.net/


Mobility

See here for more: http://www.mobile-ipv6.org/


Stateful autoconfiguration

DHCPv6 

DHCPv6 implementation RFC Status Who is working on it Link to sources Additional
comment
DHCPv6

working Tomasz Mrugalski http://dhcpv6.sourceforge.net/

Dibbler


http://klub.com.pl/dhcpv6/

Hierarchicly router (and clients) renumbering


Source address selection

From Stig Venås:
I think Linux needs better IPv6 source address selection. When there are several global non-deprecated addresses, the current code (2.3.99-pre6) simply picks the first it finds, while I would like to choose one with longest common prefix compared to the destination address. This is described in draft-ietf-ipngwg-default-addr-select-00.txt paragraph 4 rule 6, and seems to be what for instance Solaris 8 does.
This is generally useful when one has several global IPv6 addresses (multihomed). An important special case is when one of the addresses is a 6to4 address (starting with 2002::/16). If the destination address is 6to4 the source address must also be 6to4. If the destionation is some other global address (3ffe or something) it must not be used.

It's necessary when an interface has both 6to4 and "normal" global addresses



 


Your connection is via: IPv4
Your address: 18.118.227.69
www.bieringer.de
is maintained by
webmaster at bieringer dot de
(Impressum)
powered by Apache HTTP server powered by Linux