IPv6 support on Linux status The first IPv6 related network code was added to the Linux kernel 2.1.8 in November 1996 by Pedro Roque. Because of the lack of manpower, the IPv6 implementation in the kernel was unable to follow the discussed drafts or newly released RFCs. In October 2000, a project was started in Japan, called USAGI, whose aim was to implement all missing, or outdated IPv6 support in Linux. It tracks the current IPv6 implementation in FreeBSD made by the KAME project. From time to time they create snapshots against current vanilla Linux kernel sources. Unfortunately, the USAGI patch is so big, that current Linux networking maintainers are unable to include it in the production source of the Linux kernel 2.4.x series. Therefore the 2.4.x series is missing some (many) extensions and also does not confirm to all current drafts and RFCs. This can cause some interoperability problems with other operating systems, such as FreeBSD. tunnel support From linux 2.2+ to linux 2.4.x, it supports three flavors of tunnels, listed in the following table: Mode Description Base device ipip ipv4 over ipv4 tunl0 sit ipv6 over ipv4 sit0 gre any over GRE over IP gre0 The latest stable version of the linux kernel is 2.4.22, which belongs to kernel 2.4.x series. It is missing capability to support the mode of ipv6 over ipv6 tunnels. future USAGI is now making use of the new Linux kernel development series 2.5.x to insert all of their current extensions into this development release. Hopefully the 2.6.x kernel series will contain a true and up-to-date IPv6 implementation.