[dpdk-users] docker container, EAL: failed to initialize virtio_user0 device

Wu, Xiaoban Xiaoban_Wu at student.uml.edu
Sun May 21 05:53:48 CEST 2017


Hi DPDK Users,


I am trying to use docker container and ovs(2.6.0)-dpdk(16.07) to setup a test. I want to setup two docker containers, each of them will use a virtual device (socket) created by the ovs-dpdk. The final purpose would let the two containers talk to each other.


Setup ovs-dpdk

  1.  ovsdb-tool create $ovs-dir/etc/openvswitch/conf.db $ovs-dir/share/openvswitch/vswitch.ovsschema
  2.  ovsdb-server --remote=punix:$ovs-dir/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach
  3.  ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true
  4.  ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem="512,512"
  5.  ovs-vswitchd  unix:$ovs-dir/var/run/openvswitch/db.sock --pidfile --detach  --log-file=$ovs-dir/temp.log

Setup bridge and ports

  1.  ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev
  2.  ovs-vsctl add-port br0 vhost-user1 -- set Interface vhost-user1 type=dpdkvhostuser ofport_request=1
  3.  ovs-vsctl add-port br0 vhost-user2 -- set Interface vhost-user2 type=dpdkvhostuser ofport_request=2
  4.  ovs-ofctl add-flow br0 priority=1000,in_port=1,actions=output:2
  5.  ovs-ofctl add-flow br0 priority=1000,in_port=2,actions=output:1

Run the docker container

  1.  docker run -it --privileged -v $ovs-dir/var/run/openvswitch/vhost-user1:/var/run/usvhost -v /mnt/huge/:/dev/hugepages/ $docker-image bash

Run the dpdk application in the docker container

  1.  $dpdk-app -c 0x01 --socket-mem=128,0 --vdev=virtio_user0,path=/var/run/usvhost --file-prefix="docker1"

However, I encountered this error
PMD: vhost_user_setup(): connect error, Connection refused
PMD: virtio_user_dev_init(): backend set up fails
PMD: virtio_user_pmd_devinit(): virtio_user_dev_init fails
EAL: failed to initialize virtio_user0 device

It seems like the application in the docker container cannot connect the socket created by the ovs-dpdk.

Can anybody please help me and point out some possible solutions? Looking forward to your reply. Thanks very much for your help.

Best wishes,
Xiaoban



More information about the users mailing list