Hi Lei, On 11/02/2016 02:38 AM, Yao, Lei A wrote: > Hi, Olivier > > During the validation work with v16.11-rc2, I find that this patch will cause > VM crash if enable virtio bonding in VM. Could you have a check at your side? > The following is steps at my side. Thanks a lot > > 1. bind PF port to igb_uio. > modprobe uio > insmod ./x86_64-native-linuxapp-gcc/kmod/igb_uio.ko > ./tools/dpdk-devbind.py --bind=igb_uio 84:00.1 > > 2. start vhost switch. > ./examples/vhost/build/vhost-switch -c 0x1c0000 -n 4 --socket-mem 4096,4096 - > -p 0x1 --mergeable 0 --vm2vm 0 --socket-file ./vhost-net > > 3. bootup one vm with four virtio net device > qemu-system-x86_64 \ > -name vm0 -enable-kvm -chardev > socket,path=/tmp/vm0_qga0.sock,server,nowait,id=vm0_qga0 \ > -device virtio-serial -device > virtserialport,chardev=vm0_qga0,name=org.qemu.guest_agent.0 \ > -daemonize -monitor unix:/tmp/vm0_monitor.sock,server,nowait \ > -net nic,vlan=0,macaddr=00:00:00:c7:56:64,addr=1f \ > net user,vlan=0,hostfwd=tcp:10.239.129.127:6107:22 \ > -chardev socket,id=char0,path=./vhost-net \ > -netdev type=vhost-user,id=netdev0,chardev=char0,vhostforce \ > -device virtio-net-pci,netdev=netdev0,mac=52:54:00:00:00:01 \ > -chardev socket,id=char1,path=./vhost-net \ > -netdev type=vhost-user,id=netdev1,chardev=char1,vhostforce \ > -device virtio-net-pci,netdev=netdev1,mac=52:54:00:00:00:02 \ > -chardev socket,id=char2,path=./vhost-net \ > -netdev type=vhost-user,id=netdev2,chardev=char2,vhostforce \ > -device virtio-net-pci,netdev=netdev2,mac=52:54:00:00:00:03 \ > -chardev socket,id=char3,path=./vhost-net \ > -netdev type=vhost-user,id=netdev3,chardev=char3,vhostforce \ > -device virtio-net-pci,netdev=netdev3,mac=52:54:00:00:00:04 \ > -cpu host -smp 8 -m 4096 \ > -object memory-backend-file,id=mem,size=4096M,mem-path=/mnt/huge,share=on \ > -numa node,memdev=mem -mem-prealloc -drive file=/home/osimg/ubuntu16.img -vnc > :10 > > 4. on vm: > bind virtio net device to igb_uio > modprobe uio > insmod ./x86_64-native-linuxapp-gcc/kmod/igb_uio.ko > tools/dpdk-devbind.py --bind=igb_uio 00:04.0 00:05.0 00:06.0 00:07.0 > 5. startup test_pmd app > ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x1f -n 4 - -i --txqflags=0xf00 > --disable-hw-vlan-filter > 6. create one bonding device (port 4) > create bonded device 0 0 (the first 0: mode, the second: the socket number) > show bonding config 4 > 7. bind port 0, 1, 2 to port 4 > add bonding slave 0 4 > add bonding slave 1 4 > add bonding slave 2 4 > port start 4 > Result: just after port start 4(port 4 is bonded port), the vm shutdown > immediately.
Sorry for the late answer. I reproduced the issue on rc2, and I confirm that Yuanhan's patchset fixes it in rc3. Regards, Olivier