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

Reply via email to