Implementing a simple TAP PMD to dpdk-vhost structure

Nicolson Ken (ニコルソン ケン) ken.nicolson at jp.panasonic.com
Wed Sep 6 03:56:15 CEST 2023


Hi all,

Using dpdk 22.11.2 on Ubuntu 22.04

I have a really simple use case, but I cannot find how to implement it. I've set up QEMU with all the required virtio support, so I just need to configure my Host OS-side. I want to send data from a PCAP file via tcpreplay from the Host to the Guest, so I use this command line:

$ sudo /home/integ/dpdk-stable-22.11.2/build/examples/dpdk-vhost -l 0-3 -n 4 --socket-mem 1024 --vdev 'net_tap0' -- --socket-file /tmp/sock0 --client -p 1

However, this fails with:

EAL: Detected CPU lcores: 20
EAL: Detected NUMA nodes: 1
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
VHOST_PORT: Failed to get VMDq info.
EAL: Error - exiting with code: 1
  Cause: Cannot initialize network ports

The offending code is from examples/vhost/main.c:

	if (dev_info.max_vmdq_pools == 0) {
		RTE_LOG(ERR, VHOST_PORT, "Failed to get VMDq info.\n");
		return -1;
	}

This is because the TAP PMD doesn't support VMDq pools.

Is there an easy way to get this to work?

Thanks,
Ken


More information about the users mailing list