Provided by: freebsd-manpages_12.2-2_all bug

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 pcn(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:

              VMware ESX/ESXi 4.0 and newer
              VMware Server 2.0 and newer
              VMware Workstation 6.5 and newer
              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 transmit queues allocated by default by the driver.  The default
             value is 8.  The maximum supported by the VMXNET3 virtual NIC is 8.

     hw.vmx.rxnqueue

     hw.vmx.X.rxnqueue
             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), netintro(4), ng_ether(4), pcn(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.