1.\" 2.\" Copyright (c) 2006,2013 Reyk Floeter <reyk@openbsd.org> 3.\" 4.\" Permission to use, copy, modify, and distribute this software for any 5.\" purpose with or without fee is hereby granted, provided that the above 6.\" copyright notice and this permission notice appear in all copies. 7.\" 8.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15.\" 16.\" $OpenBSD: src/share/man/man4/vmx.4,v 1.1 2013/05/31 20:18:44 reyk Exp $ 17.\" 18.\" $FreeBSD$ 19.\" 20.Dd August 4, 2013 21.Dt VMX 4 22.Os 23.Sh NAME 24.Nm vmx 25.Nd VMware VMXNET3 Virtual Interface Controller device 26.Sh SYNOPSIS 27To compile this driver into the kernel, 28place the following line in your 29kernel configuration file: 30.Bd -ragged -offset indent 31.Cd "device vmx" 32.Ed 33.Pp 34Alternatively, to load the driver as a 35module at boot time, place the following line in 36.Xr loader.conf 5 : 37.Bd -literal -offset indent 38if_vmx_load="YES" 39.Ed 40.Sh DESCRIPTION 41The 42.Nm 43driver provides support for the VMXNET3 virtual NIC available in virtual 44machines by VMware. 45It appears as a simple Ethernet device but is actually a virtual network 46interface to the underlying host operating system. 47.Pp 48This driver supports the 49.Ic VMXNET3 50driver protocol, as an alternative to the emulated 51.Xr pcn 4 , 52.Xr em 4 53interfaces also available in the VMware environment. 54The 55.Nm 56driver is optimized for the virtual machine, it can provide advanced 57capabilities depending on the underlying host operating system and 58the physical network interface controller of the host. 59The 60.Nm 61driver supports features like multiqueue support, IPv6 62checksum offloading, MSI/MSI-X support and hardware VLAN tagging in 63VMware's VLAN Guest Tagging (VGT) mode. 64.Pp 65The 66.Nm 67driver supports VMXNET3 VMware virtual NICs provided by the virtual 68machine hardware version 7 or newer, as provided by the following 69products: 70.Pp 71.Bl -bullet -compact -offset indent 72.It 73VMware ESX/ESXi 4.0 and newer 74.It 75VMware Server 2.0 and newer 76.It 77VMware Workstation 6.5 and newer 78.It 79VMware Fusion 2.0 and newer 80.El 81.Pp 82For more information on configuring this device, see 83.Xr ifconfig 8 . 84.Sh LOADER TUNABLES 85Tunables can be set at the 86.Xr loader 8 87prompt before booting the kernel or stored in 88.Xr loader.conf 5 . 89.Bl -tag -width indent 90.It Va hw.vmx.txndesc 91.It Va hw.vmx. Ns Ar X Ns Va .txndesc 92.Pp 93Number of transmit descriptors allocated by the driver. 94The default value is 512. 95The value must be a multiple of 32, and the maximum is 4096. 96.It Va hw.vmx.rxndesc 97.It Va hw.vmx. Ns Ar X Ns Va .rxndesc 98.Pp 99Number of receive descriptors per ring allocated by the driver. 100The default value is 256. 101The value must be a multiple of 32, and the maximum is 2048. 102There are two rings so the actual usage is doubled. 103.El 104.Sh EXAMPLES 105The following entry must be added to the VMware configuration file 106to provide the 107.Nm 108device: 109.Bd -literal -offset indent 110ethernet0.virtualDev = "vmxnet3" 111.Ed 112.Sh SEE ALSO 113.Xr altq 4 , 114.Xr arp 4 , 115.Xr em 4 , 116.Xr netintro 4 , 117.Xr ng_ether 4 , 118.Xr pcn 4 , 119.Xr vlan 4 , 120.Xr ifconfig 8 121.Sh AUTHORS 122.An -nosplit 123The 124.Nm 125driver was ported from 126.Ox 127and significantly rewritten by 128.An Bryan Venteicher Aq bryanv@freebsd.org . 129The 130.Ox 131driver was written by 132.An Tsubai Masanari . 133