vmx — VMware
    VMXNET3 Virtual Interface Controller device
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):
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:
  - 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).
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.
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.
   
The following entry must be added to the VMware configuration file
    to provide the vmx device:
ethernet0.virtualDev = "vmxnet3"
 
The vmx driver was ported from
    OpenBSD and significantly rewritten by
    Bryan Venteicher
    <bryanv@freebsd.org>.
    The OpenBSD driver was written by
    Tsubai Masanari.