[libvirt-users] Guests can't connect to each other

Anthony Bourguignon anthony at typhon.com
Wed Apr 18 09:46:48 UTC 2012


Hello,

Le lundi 16 avril 2012 à 14:38 -0400, Laine Stump a écrit :
> I just noticed the packet dumps in your original message. They show that
> the TCP checksum of all packets past #3 are incorrect.
> 
> This is a similar problem with one caused by using the virtio "vhost"
> mode with standard tap network devices - if the dhcp server and client
> are on  the same physical machine, the sender of a packet doesn't fill
> in the TCP checksum (assuming that tcp checksum offloading will fix it),
> but the tcp checksum offload happens at a level low enough it is never
> reached by packets just going to another guest on the same host, so the
> checksum is never filled in, and the receiver thus rejects the packet.

For information, I'm using kernel 3.2.14-1 from Debian Wheezy with
qemu-kvm package 1.0+dfsg-11 . Quite recent versions so. The bug are
probably not present anymore.

I've tried to add the line <driver name='qemu'/> in the xml description
but I've still got the same behavior. The first packets are ok but the
following ones does have a wrong checksum.

Here is the command line executed by libvirt :
/usr/bin/kvm -S -M pc-1.0 -cpu core2duo,+lahf_lm,+rdtscp,+pdpe1gb,+aes,
+popcnt,+sse4.2,+sse4.1,+dca,+pdcm,+xtpr,+cx16,+tm2,+est,+smx,+vmx,
+ds_cpl,+dtes64,+pclmuldq,+pbe,+tm,+ht,+ss,+acpi,+ds -enable-kvm -m 2000
-mem-prealloc -mem-path /mnt/hugepages/libvirt/qemu -smp
8,sockets=1,cores=8,threads=1 -name vm1,process=qemu:vm1 -uuid
4eaaed00-c610-b468-ad55-600a0b4e244c -nodefconfig -nodefaults -chardev
socket,id=charmonitor,path=/var/lib/libvirt/qemu/vm1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -drive file=/dev/vps/vm1,if=none,id=drive-virtio-disk0,format=raw,cache=none,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=21,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:0e:58:ae,bus=pci.0,addr=0x3,bootindex=2 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -vnc 0.0.0.0:0 -k fr -vga std -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5

Apparently, vhost_net is not activated (I've unloaded the module to be
sure and the kernel process is not showing).

I'm also wondering about this output :
# ip link show macvtap0
27: macvtap0 at vlan222: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
pfifo_fast state UNKNOWN mode DEFAULT qlen 500
    link/ether 52:54:00:0e:58:ae brd ff:ff:ff:ff:ff:ff

Why mode is DEFAULT ? Shouldn't it be bridge ?





More information about the libvirt-users mailing list