I’m running into an issue with libvirt-lxc networking. I have an init program that
configures the eth0 interface with an IP and gateway when the container starts. I noticed
that programs running in the container encountered “no route to host” errors and looked
into it further. What I found is that ARP packets are not making it onto the gateway
during the first few seconds of the container’s life.
I have created a repro case that demonstrates this issue:
https://github.com/titanous/libvirt-arp-bug
All it does is configure eth0 and then ARPs the bridge IP. There are no ARP responses for
~4s and then everything starts working.
The linked repo also contains pcap files from the veth and the bridge showing that the ARP
packets are sent over the veth but don’t show up on the bridge.
I’ve tested and run into this issue 100% of the time on Ubuntu 14.04 with libvirt 1.2.2
and Linux 3.13.0-32 as well as Fedora 20 with libvirt 1.1.3.5 and Linux 3.15.6-200.
Any help would be appreciated, and I’m happy to provide more details if they would be
useful.
Thanks,
Jonathan