GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
VMX(4) FreeBSD Kernel Interfaces Manual VMX(4)

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):

if_vmx_load="YES"

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"

altq(4), arp(4), em(4), iflib(4), netintro(4), ng_ether(4), le(4), vlan(4), ifconfig(8)

The vmx driver was ported from OpenBSD and significantly rewritten by Bryan Venteicher <bryanv@freebsd.org>. The OpenBSD driver was written by Tsubai Masanari.
December 26, 2020 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 4 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.