[dpdk-dev] Question about using virtio_user in OVS-DPDK

William Tu u9012063 at gmail.com
Tue Dec 31 23:19:20 CET 2019


Hi,

I'm trying to find a faster way to communicate from userspace OVS to
kernel. So I create a virtio_user port at OVS-DPDK, and send packets
to kernel's tap device.

packets in OVS userspace -> virtio-user port -> vhost-net (kernel) ->
tap device (kernel)
As described in paper[1], figure 1 for legacy applications.

But there is no documentation about it. I tried:
1) load vhost-net
# lsmod | grep vhost
vhost_net              32768  0
vhost                  57344  1 vhost_net
tap                    28672  1 vhost_net
tun                    57344  8 vhost_net

2) start OVS
3) create tap and attach to OVS
ip tuntap add mode tap tap0
ip link set dev tap0 up
ovs-vsctl add-port br0 tap0 -- set interface tap0 type=dpdk \
    options:dpdk-devargs=vdev:net_virtio_user1,iface=tap0,path=/dev/vhost-net

So I thought this is a faster channel using virtio ring than
readv/writev to the tap fd.
But it doesn't work.
2019-12-31T22:06:39.956Z|00033|netdev|WARN|could not create netdev
tap0 of unknown type dpdk
2019-12-31T22:06:39.956Z|00034|bridge|WARN|could not open network
device tap0 (Address family not supported by protocol)

Any suggestions? Or do I understand the concept of virtio_user correctly?

[1] VIRTIO-USER: A New Versatile Channel for Kernel-Bypass Networks
Thanks
William


More information about the dev mailing list