IPv6 Operating Systems
All current operating systems for host computers and end users support IPv6 in their base installation. Functionality and support for the basic IPv6 features is solid and either activated by default or requires only few manual configuration. The following table summarizes the basic support:
Operating system |
Firewall | DHCPv6 | 6to4 | Configured tunnels |
PPPv6 PPPoE |
---|---|---|---|---|---|
AIX | ? | yes | yes | yes | yes |
Android | ? | no | ? | ? | ? |
Apple iOS | ? | yes | no | no | no |
Cisco IOS | yes | yes | yes | yes | yes |
FreeBSD | yes | addon | yes | yes | yes |
HP-UX 11i | yes | yes | yes | yes | yes |
Linux | yes | addon | yes | yes | yes |
Mac OS X | yes | no | yes | yes | yes |
NetBSD | yes | addon | yes | yes | ? |
OpenBSD | yes | addon | no | yes | ? |
Solaris | yes | yes | yes | yes | yes |
Windows XP | yes | addon | yes | yes | no |
Windows Vista | yes | yes | yes | yes | yes |
Windows 7 | ? | yes | yes | ? | ? |
Source: own research. Data from April 2009, partially extended June 2010.
Support for newer IPv6 subprotocols and features (tunnels, various forms of auto configuration) and streamlined IPv6 support in system services and software is more mixed, however. The state of documentation varies as well: quite good in the commercial systems (Unix, Cisco’s IOS and newer Windows) but almost non-existent in the various Linux and BSD-based (includes OS X) systems (which is quite sad since it does not mirror their IPv6 stacks’ quality).
Linux IPv6
Linux baseline IPv6
- Version: 2.6
IPv6 support in the vanilla/baseline Linux kernel is based on USAGI. Functionality is quite extensive, integral parts build into the main kernel and utilities; more complex IPv6 subprotocols need separate software and/or kernel patching.
BSD (KAME) IPv6
All of the four listed BSD operating systems integrate the KAME IPv6 stack. However, different levels of the kernel/network parts are implemented and the utilities from KAME for the various subprotocols are not distributed with the base operating systems.
Basic IPv6 support is available by default on all KAME-based systems. Support for subprotocols as e.g. DHCPv6, newer tunnelling mechanisms or Mobile IP needs separate software and partially kernel patching.
There is almost no current and/or useful IPv6 documentation in the BSD projects.
FreeBSD IPv6
- Versions: 7.1, 6.4-6.1
NetBSD IPv6
Not tested to this date. Most remarks on FreeBSD probably apply to NetBSD too.
OpenBSD IPv6
Not tested to this date. Most remarks on FreeBSD probably apply to OpenBSD too. OpenBSD’s IPv6 stack is not based exclusively on KAME but also partially on NRL. OpenBSD does not support 6to4.
Apple Mac OS X IPv6
- Versions: 10.6 (Snow Leopard), 10.5 (Leopard), 10.4 (Tiger)
Apple’s Mac OS X Unix operating system uses an IPv6 stack based on the KAME project, however from an unknow release/date. Also discussed are several of Apple’s Airport networking devices.
Unix IPv6
The IPv6 stacks of the commercial
Unixes are mostly own developments
of the respective vendors.
Integration into the base system varies between vendors and operating system
releases. The newer versions mostly include basic IPv6 support in the base
operating system.
Hewlett-Packard HP-UX IPv6
- Versions: HP-UX 11i v3, and v2, v1 (TOUR 1.0-3.0)
Sun Solaris IPv6
- Versions: Solaris 10, Solaris Express (OpenSolaris), Solaris 9, 8
IBM AIX IPv6
- Versions: AIX 6.1, 5L 5.3-5.1, AIX 4.3
Routers
Cisco IOS Router IPv6
- Versions: Cisco IOS 12.4; 12.3; 12.xT from 12.2T and up (there are many more not discussed here).
Microsoft Windows IPv6
Microsoft basically has three different IPv6 stacks, each one for Windows 2000, XP/Server 2003 and Vista. Only the latter two are offically production quality and included in the base systems.
Windows 2000 IPv6
The IPv6 stacks for Windows 2000 were distributed for experimental uses/developers. The still remaining documentation remains unclear on the supported features/RFCs.
Windows XP IPv6
Versions: SP3, SP2
Windows Vista IPv6
Versions: SP1, RC1
To do
Windows 7, Windows Server 2003 and 2008