Interfaces cannot receive problem
Posted: 8. Dec 2008, 14:37
Sometimes when I boot a guest VM, one or more of its interfaces will be unreachable. It appears that the guest's interface can transmit, but cannot receive. The problem generally clears if I reboot the VM with the problem. It is rare that a reboot or two will not clear the problem. It appears to be a race condition related to load. If I start multiple VMs simultaneously its nearly always happens.
I am using Virtual Box OSE 2.0.6 on Ubuntu 8.04 (32-bit). The same issue was occurring with VB 2.0.4. I am running multiple Vyatta VC4 guests. The guests generally have 2 or sometimes 3 Ethernet interfaces. These are PCnet-FAST III (AM79C973) host interfaces connected to a tun/tap interfaces. The tun/tap interfaces are bridged using brctl.
In my topology I have 5 routers. Right now R4 is having the problem, and it will not clear. R4's eth0 is connected to the hosts vbox41 tun/tap interface. vbox41 and vbox14 (which is an interface on R1) are bridged to br14 on the host. br14 has the IP address 10.1.14.254/24 on the host. R4 eth0 has IP 10.1.14.4/24, and R1 has IP 10.1.14.1/24.
R1 can ping 10.1.14.254 with no problems.
R4 cannot ping 10.1.14.254.
If I sniff on R4's eth0 (the broken interface), and do a ping to the host's bridge (10.1.14.254) I will see it send out ARP requests, but there are no ARP replies coming back. At the same time if I sniff on the host's br14 bridge interface, I see the ARP requests come in and I see the ARP replies go back out. The ARP replies that I see on the bridge are not making it to the guest's eth0 interface.
I have no idea how to troubleshoot this issue. It appears to be a VirtualBox issue as I have used the same setup with other VMMs with no problems. If I bounce the interfaces, remove the bridge etc, I have the same broken behaviour. However if I restart the VM it generally clears. Tonight however the problem is constant, I cannot clear it.
How do I troubleshoot this issue, and why is it happening? I am my wits end, and I'm about to ditch VirtualBox if I cannot resolve this issue.
I am using Virtual Box OSE 2.0.6 on Ubuntu 8.04 (32-bit). The same issue was occurring with VB 2.0.4. I am running multiple Vyatta VC4 guests. The guests generally have 2 or sometimes 3 Ethernet interfaces. These are PCnet-FAST III (AM79C973) host interfaces connected to a tun/tap interfaces. The tun/tap interfaces are bridged using brctl.
In my topology I have 5 routers. Right now R4 is having the problem, and it will not clear. R4's eth0 is connected to the hosts vbox41 tun/tap interface. vbox41 and vbox14 (which is an interface on R1) are bridged to br14 on the host. br14 has the IP address 10.1.14.254/24 on the host. R4 eth0 has IP 10.1.14.4/24, and R1 has IP 10.1.14.1/24.
R1 can ping 10.1.14.254 with no problems.
R4 cannot ping 10.1.14.254.
If I sniff on R4's eth0 (the broken interface), and do a ping to the host's bridge (10.1.14.254) I will see it send out ARP requests, but there are no ARP replies coming back. At the same time if I sniff on the host's br14 bridge interface, I see the ARP requests come in and I see the ARP replies go back out. The ARP replies that I see on the bridge are not making it to the guest's eth0 interface.
I have no idea how to troubleshoot this issue. It appears to be a VirtualBox issue as I have used the same setup with other VMMs with no problems. If I bounce the interfaces, remove the bridge etc, I have the same broken behaviour. However if I restart the VM it generally clears. Tonight however the problem is constant, I cannot clear it.
How do I troubleshoot this issue, and why is it happening? I am my wits end, and I'm about to ditch VirtualBox if I cannot resolve this issue.