FreeBSD manual
download PDF document: vmx.4.pdf
VMX(4) FreeBSD Kernel Interfaces Manual VMX(4)
NAME
vmx - VMware VMXNET3 Virtual Interface Controller device
SYNOPSIS
To compile this driver into the kernel, place the following lines in your
kernel configuration file:
device iflib
device vmx
Alternatively, to load the driver as a module at boot time, place the
following line in loader.conf(5):
if_vmx_load="YES"
DESCRIPTION
The vmx driver provides support for the VMXNET3 virtual NIC available in
virtual machines by VMware. It appears as a simple Ethernet device but
is actually a virtual network interface to the underlying host operating
system.
This driver supports the VMXNET3 driver protocol, as an alternative to
the emulated le(4), em(4) interfaces also available in the VMware
environment. The vmx driver is optimized for the virtual machine, it can
provide advanced capabilities depending on the underlying host operating
system and the physical network interface controller of the host. The
vmx driver supports features like multiqueue support, IPv6 checksum
offloading, MSI/MSI-X support and hardware VLAN tagging in VMware's VLAN
Guest Tagging (VGT) mode.
The vmx driver supports VMXNET3 VMware virtual NICs provided by the
virtual machine hardware version 7 or newer, as provided by the following
products:
o VMware ESX/ESXi 4.0 and newer
o VMware Server 2.0 and newer
o VMware Workstation 6.5 and newer
o VMware Fusion 2.0 and newer
For more information on configuring this device, see ifconfig(8).
MULTIPLE QUEUES
The vmx driver supports multiple transmit and receive queues. Multiple
queues are only supported by certain VMware products, such as ESXi. The
number of queues allocated depends on the presence of MSI-X, the number
of configured CPUs, and the tunables listed below. FreeBSD does not
enable MSI-X support on VMware by default. The
hw.pci.honor_msi_blacklist tunable must be disabled to enable MSI-X
support.
LOADER TUNABLES
Tunables can be set at the loader(8) prompt before booting the kernel or
stored in loader.conf(5).
hw.vmx.txnqueue
hw.vmx.X.txnqueue
Maximum number of receive queues allocated by default by the
driver. The default value is 8. The maximum supported by the
VMXNET3 virtual NIC is 16.
hw.vmx.txndesc
hw.vmx.X.txndesc
Number of transmit descriptors allocated by the driver. The
default value is 512. The value must be a multiple of 32, and
the maximum is 4096.
hw.vmx.rxndesc
hw.vmx.X.rxndesc
Number of receive descriptors per ring allocated by the driver.
The default value is 256. The value must be a multiple of 32,
and the maximum is 2048. There are two rings so the actual usage
is doubled.
EXAMPLES
The following entry must be added to the VMware configuration file to
provide the vmx device:
ethernet0.virtualDev = "vmxnet3"
SEE ALSO
altq(4), arp(4), em(4), iflib(4), le(4), netintro(4), ng_ether(4),
vlan(4), ifconfig(8)
AUTHORS
The vmx driver was ported from OpenBSD and significantly rewritten by
Bryan Venteicher <bryanv@freebsd.org>. The OpenBSD driver was written by
Tsubai Masanari.
FreeBSD 14.0-RELEASE-p11 December 26, 2020 FreeBSD 14.0-RELEASE-p11