PMD configuration

Virtio Host PMD supports several parameters on the command line. The arguments are comma-separated after the name of the device on the --vdev DPDK application command line. For instance: --vdev pmd-vhost0,verbose=1,sockname=/tmp/sock.

Parameters

sockname=[path]

Set the path of the UNIX socket. This socket is used to negociate features and configure Virtio Host PMD using the vhost-user protocol.

sockmode=[server|client]

Configure the socket in server or client (default) mode. In server mode, the Virtio Host PMD listens on the socket and waits that QEMU to connect on it.

In client mode, the Virtio Host PMD connects directly to the socket. Thus QEMU needs to be started before the Virtio Host PMD is configured. And the vhost-user netdevice created by QEMU needs to be configured in server mode.

sockuser=[username|uid]

Set the owner of the UNIX socket file to sockname. This option can only be used if sockmode option is set to server.

sockgroup=[groupname|gid]

Set the group of the UNIX socket file to sockgroup. This option can only be used if sockmode option is set to server.

sockperm=[permission]

Set the permission of the UNIX socket file to sockperm. This option can only be used if sockmode option is set to server.

verbose=[0|1]

Display the debug messages of the Virtio Host PMD. The dpdk log-level needs also be set to debug.

macaddr=[macaddr]

Set the MAC address of the host interface.

rxqmap

Configure the list of rings to be polled by receive queues. See below for details.

txqmap

Configure the list of rings to transmit on for transmit queues. See below for details.

profile

Define the usage profile. Valid values are endpoint or nfv. In nfv mode, the Virtio Host PMD is optimized for the NFV use-case:

  • the mergeable buffer feature is disabled, allowing the guest to use a faster RX function that does not support large receive offload.

  • the number of vring referenced by a TX qmap is lower to decrease lock contention. See the qmap configuration section for details.

txhash

Select which packet layers are used to calculate the Tx hash. It can be l3l4 (default) or l3.