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@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 ?