[ovs-dev] 答复: [dpdk.org代发][dpdk-dev] Question about using virtio_user in OVS-DPDK

Yi Yang (杨燚)-云服务集团 yangyi01 at inspur.com
Thu Jan 2 01:08:07 UTC 2020


William, use the below option for your tap0

sudo ovs-vsctl add-port br-int virtio_user0 -- set Interface virtio_user0 type=dpdk options:dpdk-devargs=net_virtio_user0,iface=tap0,path=/dev/vhost-net,queue_size=1024

vistio_user also can create tap0 if it doesn't exist, you remove "iface=tap0" from option for that case.

Maybe ovs port name can't be same as tap interface names, it is just my guess.

-----邮件原件-----
发件人: dev [mailto:dev-bounces at dpdk.org] 代表 William Tu
发送时间: 2020年1月1日 6:19
收件人: <dev at openvswitch.org> <dev at openvswitch.org>; dev at dpdk.org
抄送: Jianfeng Tan <jianfeng.tan at linux.alibaba.com>
主题: [dpdk.org代发][dpdk-dev] Question about using virtio_user in OVS-DPDK

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