[dpdk-users] Traffic doesn't forward on virtual devices

Bala Sankaran bsankara at redhat.com
Thu Jun 28 21:18:13 CEST 2018

Hello team,

I am working on a project to do PVP tests on dpdk. As a first step, I would like to get traffic flow between tap devices. I'm in process of setting up the architecture, in which I've used testpmd to forward traffic between two virtual devices(tap and vhost users) over a bridge. 

While I'm at it, I've identified that the internal dev_attached flag never gets set to 1 from the rte_eth_vhost.c file. I've tried to manually set it to 1 in the start routine, but I just see that the queue index being referenced is out of range.
I'm not sure how to proceed.  Has anyone had luck using testpmd to communicate with vhost-user devices?  If yes, any hints on a workaround?

Here's how I configured my setup after installing dpdk and openvswitch:

1. To start ovs-ctl:
/usr/local/share/openvswitch/scripts/ovs-ctl start

2. Setup hugepages: 
echo '2048' > /proc/sys/vm/nr_hugepages

3. Add a new network namespace:
ip netns add ns1

4. Add and set a bridge:
ovs-vsctl add-br dpdkbr0 -- set Bridge dpdkbr0 datapath_type=netdev options:vhost-server-path=/usr/local/var/run/openvswitch/vhu0
ovs-vsctl show

5. Add a vhost user to the bridge created:
ovs-vsctl add-port dpdkbr0 vhu0 -- set Interface vhu0 type=dpdkvhostuserclient

6. Execute bash on the network namespace:
ip netns exec ns1 bash

7. Use testpmd and connect the namespaces:
testpmd --socket-mem=512 --vdev='eth_vhost0,iface=/usr/local/var/run/openvswitch/vhu0,queues=1'  --vdev='net_tap0,iface=tap0' --file-prefix page0 -- -i

I repeated steps 3 - 7 for another network namespace on the same bridge. Following this, in fresh terminals, I assigned IP addresses to the tap devices created and tried pinging them. From port statistics, 
I identified the above mentioned issue with the dev_attached and queue statistics.

I would greatly appreciate any help from your end.


Bala Sankaran
Networking Services Intern
Red Hat Inc .,

More information about the users mailing list