xref: /freebsd/share/man/man4/vmx.4 (revision 13de33a5dc2304b13d595d75d48c51793958474f)
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