I find that changing the vdev in the l2fwd command line to virtio_user helps..
shiv@shiv-lenovo-v310:~/work/docker$ docker run -it -v /tmp/sock1.sock:/tmp/sock1.sock -v /mnt/huge_vhost/:/mnt/huge_vhost dpdk_app_l2fwd l2fwd -c 0x4 -n 4 -m 1024 --no-pci --vdev=*virtio_user0* ,path=/tmp/sock1.sock -- -p 0x1. However, now the error is EAL: Fail to configure port 0.. Start ports failed.. Regards, Shiv On Fri, Dec 29, 2017 at 10:49 AM, Akshaya Nadahalli <aksh...@rtbrick.com> wrote: > Hi Shiv, > > Not sure about vhost interfaces, but should be doable with tap/veth > pairs. Refer to below links: > > https://wiki.fd.io/view/VPP/Configure_VPP_TAP_Interfaces_ > For_Container_Routing > https://wiki.fd.io/view/VPP/Configure_VPP_As_A_Router_Between_Namespaces > > I had used veth pairs to communicate with each other via VPP instances > running under different lxc containers. Procedure I followed was as below > and i think same should work for docker as well: > > 1. Create Veth pair with command: > sudo ip link add name <container1 interface> type veth peer name > <container2 interface> > > 2. Findout the network namespace of conatiners and move the veth > interfaces to corresponding namespaces: > > sudo lxc-info --name <container_name> | grep "PID:" | awk '{print $2}' > ---> for lxc containers > > docker inspect -f '{{.State.Pid}}' <container_name> ----> for docker > > sudo ip link set netns <lxc-pid/docker-pid> dev <link to be moved to > container> > > 3. Login to VPP within the container and take over the host interface with > the command: > create host-interface name <container interface> > > -- > HTH, > Akshaya N > > > -----Original Message----- > *From*: Shiv Dev <shivfs...@gmail.com > <shiv%20dev%20%3cshivfs...@gmail.com%3e>> > *To*: vpp-dev@lists.fd.io > *Subject*: [vpp-dev] Docker containers > *Date*: Thu, 28 Dec 2017 21:51:15 +0530 > > > > Hi VPP Team, > > I am trying to interface docker containers to VPP through an vhost-user > device. > > The page here (https://wiki.fd.io/view/VPP/Use_VPP_to_connect_VMs_Using_ > Vhost-User_Interface) explains how to do it for VMs. Is there any page > that explains it for docker containers ? > > As explained in the above page, I have setup the vhost-user interfaces > in VPP. I am getting a problem when I try to pass the vhost information to > the docker container. > > vpp# show vhost-user Virtio vhost-user interfaces .. Interface: > VirtualEthernet0/0/0 (ifindex 1) virtio_net_hdr_sz 0 ... Interface: > VirtualEthernet0/0/1 (ifindex 2) virtio_net_hdr_sz 0 .. > > shiv@shiv-lenovo-v310:~/work/docker$ docker run -it -v > /tmp/sock1.sock:/tmp/sock1.sock -v /mnt/huge_vhost/:/mnt/huge_vhost > dpdk_app_l2fwd l2fwd -c 0x4 -n 4 -m 1024 --no-pci > --vdev=virtio-user0,path=/tmp/sock1.sock -- -p 0x1 EAL: Detected 4 > lcore(s) EAL: No free hugepages reported in hugepages-1048576kB EAL: Cannot > obtain physical addresses: Success. Only vfio will function. EAL: Failed to > get current mempolicy: Operation not permitted. Assuming MPOL_DEFAULT. > ERROR: failed to parse device "virtio-user0" EAL: Unable to parse device > 'virtio-user0,path=/tmp/sock1.sock' EAL: Error - exiting with code: 1 > Cause: Invalid EAL arguments > > Basically, how do we pass virtio-user devices to container app ? Is there > any way to check if the virtio-user devices are available in the kernel ? > > Regards, Shiv > > > > _______________________________________________ > vpp-dev mailing > listvpp-...@lists.fd.iohttps://lists.fd.io/mailman/listinfo/vpp-dev > > > -- > Regards, > Akshaya N >
_______________________________________________ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev