Comment 0 for bug 1029430

Revision history for this message
Sergio Rubio (rubiojr) wrote : KVM guests networking issues with bridge and vhost_net loaded

We've found that having vhost_net module and using bridged networking breaks DHCP and guest do not get an IP address.

The issue has been properly described in the following RH doc:

http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Host_Configuration_and_Guest_Installation_Guide/ch11s02.html

"11.2.1. Checksum correction for older DHCP clients"

Their workaround works in Precise too in fact.

Another workaround is to disable/unload the vhost_net module so new guests do make use of it.

RH has fixed this stuff in libvirt apparently:

"This iptables rule is programmed automatically on the host when the server is started by libvirt, so no further action is required"

My apologies if this stuff does not belong to libvirt.

Some info from our environment:

compute-002:~# lsb_release -rd
Description: Ubuntu 12.04 LTS
Release: 12.04

compute-002:~# uname -a
Linux compute-002 3.2.0-27-generic #43-Ubuntu SMP Fri Jul 6 14:25:57 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

compute-002:~# dpkg -l|egrep "kvm|libvirt|dhcp|dns"
ii dnsmasq-base 2.59-4 Small caching DNS proxy and DHCP/TFTP server
ii dnsmasq-utils 2.59-4 Utilities for manipulating DHCP leases
ii dnsutils 1:9.8.1.dfsg.P1-4ubuntu0.1 Clients provided with BIND
ii isc-dhcp-client 4.1.ESV-R4-0ubuntu5.1 ISC DHCP client
ii isc-dhcp-common 4.1.ESV-R4-0ubuntu5.1 common files used by all the isc-dhcp* packages
ii kvm-ipxe 1.0.0+git-3.55f6c88-0ubuntu1 PXE ROM's for KVM
ii libdns81 1:9.8.1.dfsg.P1-4ubuntu0.1 DNS Shared Library used by BIND
ii libnet-dns-perl 0.66-2ubuntu3 Perform DNS queries from a Perl script
ii libvirt-bin 0.9.8-2ubuntu17.2 programs for the libvirt library
ii libvirt0 0.9.8-2ubuntu17.2 library for interfacing with different virtualization systems
ii munin-libvirt-plugins 0.0.6-1 Munin plugins using libvirt
ii nova-compute-kvm 2012.1+stable~20120612-3ee026e-0ubuntu1.2 OpenStack Compute - compute node (KVM)
ii python-libvirt 0.9.8-2ubuntu17.2 libvirt Python bindings
ii qemu-kvm 1.0+noroms-0ubuntu14 Full virtualization on i386 and amd64 hardware

We've also tested this with kernel 3.5 backport from Quantal:

Linux compute-002 3.5.0-6-generic #6~precise1-Ubuntu SMP Tue Jul 24 14:45:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

The guest is running Debian Squeeze:

debian-squeeze-amd64-ext3:~$ uname -a
Linux debian-squeeze-amd64-ext3 2.6.32-5-amd64 #1 SMP Mon Jan 16 16:22:28 UTC 2012 x86_64 GNU/Linux

debian-squeeze-amd64-ext3:~$ dpkg -l|grep dhcp
ii isc-dhcp-client 4.1.1-P1-15+squeeze3 ISC DHCP client
ii isc-dhcp-common 4.1.1-P1-15+squeeze3 common files used by all the isc-dhcp* packages