Hi, I am following http://dpdk.org/doc/guides/sample_app_ug/vhost.html using 16.11 in order to have a simple VM forwarding packets from one NIC to another efficiently, but it doesn't work... so I need some help to understand what am i missing. I am using x520 (intel 82599). host is ubuntu 16.04 and dpdk 16.11.
my steps at host: 1. enabling VHOST defines and building x86_64-native-linuxapp-gcc. 2. both interfaces are bind like: 0000:04:00.0 'Ethernet 10G 2P X520 Adapter' drv=igb_uio unused=ixgbe 0000:04:00.1 'Ethernet 10G 2P X520 Adapter' drv=igb_uio unused=ixgbe 3. then making the project examples/vhost and executing: ./build/vhost-switch -c 0x03 -n 4 --socket-mem 1024 --file-prefix p1 -- -p 1 --vm2vm 0 --socket-file /tmp/sock1 --client -P ./build/vhost-switch -c 0x30 -n 4 --socket-mem 1024 --file-prefix p2 -- -p 2 --vm2vm 0 --socket-file /tmp/sock2 --client -P 4. creating the guest qemu- system-x86_64 -chardev socket,id=char1,path=/tmp/sock1,server -netdev type=vhost-user,id=hostnet1,chardev=char1,queues=2 -device virtio-net-pci,mq=on,vectors=2,netdev=hostnet1,id=net1,mac=00:00:00:00:00:01 -chardev socket,id=char2,path=/tmp/sock2,server -netdev type=vhost-user,id=hostnet2,chardev=char2,queues=2 -device virtio-net-pci,mq=on,vectors=2,netdev=hostnet2,id=net2,mac=00:00:00:00:00:02 -object memory-backend-file,id=mem2,size=2048M,mem-path=/run/hugepages,share=on ... my steps on the guest: 1. enabling VHOST defines and building x86_64-native-linuxapp-gcc. 2. successfully setting up environment: modprobe uio_pci_generic ./tools/dpdk-devbind.py -b uio_pci_generic 0000:00:07.0 ./tools/dpdk-devbind.py -b uio_pci_generic 0000:00:08.0 ./examples/l3fwd/build/l3fwd -c 0x3 -n 3 -- --parse-ptype -p 0x3 -P -L --config="(0,0,0),(0,1,1),(1,0,0),(1,1,1)" --no-numa it looks like the l3fwd app initialized successfully but it receives no traffic. I see at the host that connection is made however no traffic arrives to the host. digging into the code i see that the message VHOST_USER_SET_VRING_KICK never arrives to the host hence the callback new_device is never called and I can't figure out why. Any ideas? Thanks, Edgar
