Thanks for your help.
I will then try with the "socket-abstract=yes" to memif.

Regards
Staffan

Den ons 16 feb. 2022 kl 19:46 skrev Stephen Hemminger <stephen@networkplumber.org>:
On Wed, 16 Feb 2022 10:19:02 +0100
Staffan Wiklund <staffan491@gmail.com> wrote:

> Hello
>
> I wonder if it is possible for a DPDK application using the memif feature
> to communicate with a native Linux application?
>
> I have tried to create a Docker container and start the image by:
> docker run -ti --privileged -v "/mnt/huge:/mnt/huge" -v "/var/run:/var/run"
> -v "/tmp:/tmp" -v "/run:/run" -v "/sys:/sys" -v "/dev:/dev" testpmd
> /bin/bash
>
> In this container I start the dpdk-testpmd application in server mode by:
> ./dpdk-testpmd -l 1-2  --no-pci  --proc-type=primary --file-prefix=td1
> --vdev=net_memif,role=server,mac=00:00:00:00:00:01 -- -i
>
> From a UNIX shell in the same server I start the dpdk-testpmd in client
> mode:
> sudo ./dpdk-testpmd -l 3-4  --no-pci --proc-type=primary --file-prefix=td2
> --vdev=net_memif,zero-copy=yes,mac=00:00:00:00:00:02 --single-file-segments
> -- -i
>
> This results in the following error message on the client side:
> . . .
> Configuring Port 0 (socket 0)
> memif_connect_client(): Failed to connect socket: /run/memif.sock.
> Fail to start port 0
> . . .
>
> If I start both sides in a UNIX shell, the client can connect to the server.
> Do you know what can be the fault when executing in a Docker container and
> in a UNIX shell for communication using the DPDK memif feature?
>
> Thanks
> Staffan

The docker container is in a different filesystem namespace so the two can't
talk to each other. You might get it to work with the abstract option to memif.