FreeBSD IPv6-only Support

Category Navigation

IPv4, Dual-Stack and what is "IPv6-only"?

For multiple decades the Internet has been running on the Internet
Protocol version 4 (IPv4). You may know IPv4 addresses like 192.0.2.1.
IPv6, the Internet Protocol version 6, is the successor to that and has
a larger address space and longer addresses like
2001:db8:4672:6565:2026:5043:2d42:5344. A dual-stack (DS) system
supports both address families, IPv4 and IPv6. Dual-stack is the
default for FreeBSD releases shipping at this time and has been since 2003.
An IPv6-only system is one that has been configured to use only IPv6
support; IPv4 support is completely removed from the system. Providing
IPv6-only snapshots of FreeBSD shows that it has no strict internal
dependence on Internet Protocol version 4, and is ready to run in a pure
IPv6 environment.

IPv6-only history

The IPv6 only kernel has started as a research project in 2008 when FreeBSD
Jails
gained IPv6 support and it became possible to have jails without IPv4.

The FreeBSD kernel has long been able to be compiled for dual-stack or
without INET6 support.
It was time for feature parity in that area as well.
As an intermediate step there were efforts to get the kernel compiling
without any IP support at all, which helped to narrow down the
problematic cases.

As of
SVN r221353
it is now possible to compile the kernel without INET but with INET6
support.

How can I get a system without INET support?

There are two ways to get this:

The easy way is to download an IPv6-only snapshot we provide and
test that put. See the IPv6-only wiki
page for the latest snapshot builds and download links.

Alternatively you can install any FreeBSD HEAD (9.x or later) as of
May 2nd 2011 or later and compile your own kernel. See the
Handbook for how to do this.

Doing IPv6-only when the world tries to get to dual-stack?

In a time where you hear numbers that about 4% of end users could
actually successfully access IPv6-only services it may indeed sound
strange. The BSD network stack however was used as a reference
implementation for the first time of TCP/IP and again was for IPv6 and
there are some parts of the world already that are limited to IPv6-only.
Over time, as IPv6 deployment proceeds, we expect to see a lot more of
this.

On the other hand having the IPv4 fall back option of dual-stack hides
a lot of IPv6 errors and omissions. Supposedly IPv6-ready software
breaks when running without IPv4. We want to help early in the process
to catch and fix these problems and want to encourage other software
developers to do the same. FreeBSD is used in embedded device and
targeting servers while at the same time people build desktop systems
with it. This entirety allows us to provide a turnkey solution, an
ideal platform for thorough testing.

FAQ

Do you have a sample kernel configuration for me?

I am not doing kernels but desktop applications. What about me?

FreeBSD ships with a lot of applications running fine on command line.
If you prefer to test on a preconfigured graphical desktop,
PC-BSD, a FreeBSD derived desktop
distribution is providing IPv6-only snapshots as well.

Is this limited to FreeBSD?

No.
While we provide the kernel and parts of user space for you to start
with, a lot of open sources and commercial software running on a
UNIXÂ® or
UNIXÂ®-like operating system
(e.g. Â®Linux) should be able to
compile and run on FreeBSD with minimal efforts. Also see the next
question.

Does everything just work on IPv6-only in FreeBSD

While are doing our best, some things are not yet working without
IPv4. Very few parts of the kernel still depend on IPv4 and we are
working on these. In user space you can find three different categories:

Software that is maintained as FreeBSD base. We are actively working
on these as we find problems. Patches from the community are always
welcome.

Software that is shipped with FreeBSD base but imported from a 3rd
party project. We are trying our best to get any problems solved and
are working with upstream vendors.
If you are part of such a project you may want to test on IPv6-only
yourself to be really IPv6-ready with your next release! Try our
snapshots.

Software that is part of FreeBSD ports
or any other open source or commercial software running on FreeBSD.
We will lend a hand if needed and possible but are hoping for the
community to make best use of our snapshots and improve the overall
IPv6 readiness of software.