The data plane vNIC must use the paravirtual VMXNET3 driver because it has improved performance as compared to other virtual network interfaces.
VMXNET3 provides several advanced features including multi-queue support, Receive Side Scaling (RSS), LRO, IPv4 and IPv6 offloads, and MSI and MSI-X interrupt delivery. By default, VMXNET3 also supports the interrupt coalescing algorithm. Virtual interrupt coalescing helps drive a high throughput to VMs with multiple vCPUs with parallelized workloads (for example, multiple threads), whereas at the same time striving to minimize the latency of the virtual interrupt delivery.
To benefit from the performance and efficiency offered by N-VDS (E), a data plane intensive VNF-C must always use a poll mode driver (PMD) for its VMXNET3 vNIC.
Since the release of Linux 2.6.32 in October 2009, VMXNET3 is included in several modern Linux distributions such as Red Hat Enterprise Linux and SUSE Linux. At the time this guide is written, the latest VMXNET3 driver version 1.4.17.0-k is up-streamed to Linux and is available from kernel version 5.3.
For more information about the DPDK support in the VMXNET3 driver, see the article Poll Mode Driver for Paravirtual VMXNET3 NIC.
Summary of Recommendations:
-
Use the latest paravirtualized VMXNET3 vNIC driver.
-
Install and use the latest DPDK PMD for VMXNET3.