KVM VM loses network connectivity.

Tozz

Active Member
Mar 11, 2012
31
0
26
Hi,

I have an issue where doing alot of network IO (>100 Mbit) causes the VM to loose network connectivity using rtl driver. I have to either reboot the VM or type:

Code:
ip link set eth0 down
ip link set eth0 up

This restores is, but it will drop again when I start the heavy network IO again.

The problem seems to disappear when using the e1000 driver. Is this a known issue in the realtec driver?
 
Last edited:
To be sincere, I don't know the answer, but from a practical point of view, the correct choice for GNU/Linux guest, with guest kernel supporting it, is to use virtio for I/O (disk and lan). As second choice, use intel e1000. The realtec driver is almost for "legacy" situations, as far as I know.
For Windows guests, I had issues with virtio (interface up but no traffic until I disabled/reenabled) so I switched to e1000 (and latest drivers from intel site). You can try "the latest and the greatest" Win virtio drivers (http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/) and report back if everything is fine also under high load.
 
Thanks. I'll try virtio, althought e1000 also works now.

btw, the issue where Windows NIC is up, but no traffic could be a WIndows issue. I have the exact same issue with real hardware (no VM's), and I've heard others that have the same issue. I hoped the issue would be fixed in w2k8, but its still there.
 
I was just having a similar problem with a Windows 7 VM on a PVE 2.0 rc1 cluster. It was using the VirtIO network driver. When I booted the VM, it would have no network connectivity. I ran tcpdump on the tap device (tap105i0 in my case) and saw that there were indeed ARP requests coming out on the tap device from the Windows VM. No responses, though.

When I would live migrate the VM from one cluster host to another, the networking would begin to work. If I rebooted the VM, the network would stop working again.

Solution: It felt like a firewall issue, so I disabled the Windows firewall and rebooted. That fixed it. Not sure why the Windows firewall was blocking traffic vital for identifying what network it was on. I suppose it is Windows, acting like an adorable but feeble-minded little puppy, so I can't be too mad at it for pissing on the carpet.