IPv4 vs. IPv6 Ethernet Performance

Norbert Aschendorff norbert.aschendorff at yahoo.de
Tue Aug 28 15:38:58 UTC 2012

I'm using here a Gigabit Ethernet network and some UN*X machines, among
others some Linux-based (Kernel 3.x) and one running FreeBSD 9.1-RC1.
Using iperf (in TCP mode), the IPv6 bandwith between two Linux machines
(directly attached to the same switch) is about 925 Mbit/s, IPv4
bandwith is about 935 Mbit/s.
But now it gets exciting: The IPv6 bandwith between a Linux machine and
the FreeBSD machine is around 450 Mbit/s (each direction). But the IPv4
bandwith between the same machines is 700 (Linux -> FreeBSD) to 920
(FreeBSD -> Linux) Mbit/s.

Little table (values in Mbit/s):

Configuration		v6	v4
Linux -> Linux		925	935  # <= This could be v6's 40B header
				     # vs. v4's 20B
Linux -> FreeBSD	450	700
FreeBSD -> Linux	455	920

The FreeBSD->Linux value shows that the ethernet chip on the FreeBSD
machine (it's Intel stuff on both sides, using the em(4) driver on
FreeBSD) is able to send at full 1G speed. But why is IPv6 so slow?

Regards, Norbert

More information about the freebsd-stable mailing list