Very slow IPv6 performance with bridged networking

On Linux 64-bit host (Ubuntu 11.04) and VirtualBox 4.1.0 the IPv6 traffic on the guest system is extremely slow, up to 10-20 kb/s.
Bridged network is used on wired adapter (eth0), IPv6 gets autoconfigured from radvd daemon.
This happens on Linux and Windows guests.

Change History

I have the same problem but only in one direction. Using the virtio-net adapter reverses the direction of the problem from virtual machines receive being choked off to it's outgoing being choked off. Wireshark shows a lot of duplicate acks and retransmissions gathering in waves. Testing outside of virtual machines on the host is fine. Reducing the link speed to 100Mbps from 1Gbps helps a little.

+1 to this bug, I see it happen on an Arch Linux host with VBox 4.1.4 installed, using bridged networking and the vboxnetflt kernel module, with a Windows 2008 R2 guest.

However, this does NOT occur on VBox 4.1.4 running on a Windows 7 host, with a Windows 7 guest. IPv6 works fine on this configuration.

Running an IPv4 socket instead of an IPv6 socket between the two VMs gets normal bandwidth, while running a IPv6 socket between the two gets 10-20KB/s. IPv6 sockets are fast on the windows 7 host/guest, but not the linux/windows one.

Forgot to add: I see this problem with both virtio-net and a normal intel virtualized adapter.

And I'm trying to open a socket in between the two VMs (from windows host VM to linux host VM), both using a bridged networking configuration. The Windows-host VM can handle IPv6 on both virtio-net and a virtualized adapter without a slowdown.

+1 to this bug, I see it happen on an Arch Linux host with VBox 4.1.4 installed, using bridged networking and the vboxnetflt kernel module, with a Windows 2008 R2 guest.

However, this does NOT occur on VBox 4.1.4 running on a Windows 7 host, with a Windows 7 guest. IPv6 works fine on this configuration.

Running an IPv4 socket instead of an IPv6 socket between the two VMs gets normal bandwidth, while running a IPv6 socket between the two gets 10-20KB/s. IPv6 sockets are fast on the windows 7 host/guest, but not the linux/windows one.

I can also confirm this bug on Ubuntu 10.04 using Virtualbox 4.1.2-dfsg-1ubuntu1~lucid1~ppa1, with two different hardware platforms and the guest using the same OS as the host. Guest has three interfaces (using Intel PRO/1000 MT Desktop virtual adapter) which are all in bridged mode, one being used for IPv6-only communication with the host and other machines on the local network. Virtual interfaces are attached to dedicated bridge interfaces on the host.

Guest traffic over IPv4 performs well, as does IPv6-over-openvpn using IPv4 transport. Using direct IPv6 (host <-> guest) speeds are stuck around 15-20kb/s. I am also getting a lot of missed segments, duplicate ACKs and out-of-order packets when transmitting more data at a time. Latency between host and guest doesn't seem to be affected.

I also see this bug was reported about 5 months ago, and didn't see any mention of it in the latest changelogs. Any idea when this could possibly get fixed?

I'm experiencing the same symptoms on two Ubuntu 11.10 hosts (x86_64), with VirtualBox installed from virtualbox-ose-4.1.2-dfsg-1ubuntu1. IPv6 traffic is capped to about 20-30kB/s, while IPv4 performance is unaffected.

It's funny how I left a small Subversion checkout operation running yesterday night and it's still running today's morning.

I was able to work around this bug by switching the network adapter type in the guest settings to Paravirtualized Network (virtio-net), which then allowed me to achieve near-line speeds over IPv6 again.

Also seeing the same issue with VirtualBox 4.1.18 on opensuse, running windows or linux guests. Initially thought it was just slow networking, but running tcpdump now I can see it's only ipv6. Can't use virtio-net as I need to PXE boot.

IPv6 Performance is dead slow, no matter if I use virtio-net or e1000.
IPv4 Performance is fine - both virtio-net and e1000.

Virtualbox is from the Oracle repository: 4.1.20-80170~Ubuntu~precise

I do have an IPv6 enabled network. Google is slow, Yahoo is slow, Youtube is unusable. This is not a major issue - this is considered a blocker, about to change the virtualization environment. No fix within 14 months?!

Same problem here with Gentoo host running virtualbox 4.2.6.
The issue is present with both XP and gentoo guests, including virtio-nic drivers. XP is unusable with IPv6 on LAN websites. The issue is less obvious with a Gentoo guest, especially with the virtio-nic driver. However wireshark shows shows multiple packet less and retries in all cases. Both XP and Gentoo guests are usable to IPv6 internet websites.

A similar IPv6 enabled XP VMWare guest works OK to the same LAN websites, with no errors apparent in wireshark.

This hasn't fixed the issue for me -- I still need to disable TSO to get decent performance on outgoing traffic from the VM.

Host is Windows 7 x64, and the About shows Version 4.2.7 r83916.Guest is FreeBSD 9.1, and I'm using virtio-net.

This looks like a different problem to me. Please supply additional information. How exactly do you disable TSO? With 'ethtool -K ethX tso off' in FreeBSD guest? (I read your previous post I had missed earlier) How do you test performance? To the local host or remote one? Please attach the log file as well.