xref: /freebsd/share/man/man4/vmx.4 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
1e3c97c2cSBryan Venteicher.\"
2e3c97c2cSBryan Venteicher.\" Copyright (c) 2006,2013 Reyk Floeter <reyk@openbsd.org>
3e3c97c2cSBryan Venteicher.\"
4e3c97c2cSBryan Venteicher.\" Permission to use, copy, modify, and distribute this software for any
5e3c97c2cSBryan Venteicher.\" purpose with or without fee is hereby granted, provided that the above
6e3c97c2cSBryan Venteicher.\" copyright notice and this permission notice appear in all copies.
7e3c97c2cSBryan Venteicher.\"
8e3c97c2cSBryan Venteicher.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9e3c97c2cSBryan Venteicher.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10e3c97c2cSBryan Venteicher.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11e3c97c2cSBryan Venteicher.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12e3c97c2cSBryan Venteicher.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13e3c97c2cSBryan Venteicher.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14e3c97c2cSBryan Venteicher.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15e3c97c2cSBryan Venteicher.\"
16e3c97c2cSBryan Venteicher.\" $OpenBSD: src/share/man/man4/vmx.4,v 1.1 2013/05/31 20:18:44 reyk Exp $
17e3c97c2cSBryan Venteicher.\"
1823af96adSMarius Strobl.Dd December 26, 2020
19e3c97c2cSBryan Venteicher.Dt VMX 4
20e3c97c2cSBryan Venteicher.Os
21e3c97c2cSBryan Venteicher.Sh NAME
22e3c97c2cSBryan Venteicher.Nm vmx
23e3c97c2cSBryan Venteicher.Nd VMware VMXNET3 Virtual Interface Controller device
24e3c97c2cSBryan Venteicher.Sh SYNOPSIS
25e3c97c2cSBryan VenteicherTo compile this driver into the kernel,
26c75f49f7SKonstantin Belousovplace the following lines in your
27e3c97c2cSBryan Venteicherkernel configuration file:
28e3c97c2cSBryan Venteicher.Bd -ragged -offset indent
29c75f49f7SKonstantin Belousov.Cd "device iflib"
30e3c97c2cSBryan Venteicher.Cd "device vmx"
31e3c97c2cSBryan Venteicher.Ed
32e3c97c2cSBryan Venteicher.Pp
33e3c97c2cSBryan VenteicherAlternatively, to load the driver as a
34e3c97c2cSBryan Venteichermodule at boot time, place the following line in
35e3c97c2cSBryan Venteicher.Xr loader.conf 5 :
36e3c97c2cSBryan Venteicher.Bd -literal -offset indent
37e3c97c2cSBryan Venteicherif_vmx_load="YES"
38e3c97c2cSBryan Venteicher.Ed
39e3c97c2cSBryan Venteicher.Sh DESCRIPTION
40e3c97c2cSBryan VenteicherThe
41e3c97c2cSBryan Venteicher.Nm
42e3c97c2cSBryan Venteicherdriver provides support for the VMXNET3 virtual NIC available in virtual
43e3c97c2cSBryan Venteichermachines by VMware.
44e3c97c2cSBryan VenteicherIt appears as a simple Ethernet device but is actually a virtual network
45e3c97c2cSBryan Venteicherinterface to the underlying host operating system.
46e3c97c2cSBryan Venteicher.Pp
47e3c97c2cSBryan VenteicherThis driver supports the
48e3c97c2cSBryan Venteicher.Ic VMXNET3
49e3c97c2cSBryan Venteicherdriver protocol, as an alternative to the emulated
5023af96adSMarius Strobl.Xr le 4 ,
51e3c97c2cSBryan Venteicher.Xr em 4
52e3c97c2cSBryan Venteicherinterfaces also available in the VMware environment.
53e3c97c2cSBryan VenteicherThe
54e3c97c2cSBryan Venteicher.Nm
55e3c97c2cSBryan Venteicherdriver is optimized for the virtual machine, it can provide advanced
56e3c97c2cSBryan Venteichercapabilities depending on the underlying host operating system and
57e3c97c2cSBryan Venteicherthe physical network interface controller of the host.
58e3c97c2cSBryan VenteicherThe
59e3c97c2cSBryan Venteicher.Nm
60e3c97c2cSBryan Venteicherdriver supports features like multiqueue support, IPv6
61e3c97c2cSBryan Venteicherchecksum offloading, MSI/MSI-X support and hardware VLAN tagging in
62e3c97c2cSBryan VenteicherVMware's VLAN Guest Tagging (VGT) mode.
63e3c97c2cSBryan Venteicher.Pp
64e3c97c2cSBryan VenteicherThe
65e3c97c2cSBryan Venteicher.Nm
66e3c97c2cSBryan Venteicherdriver supports VMXNET3 VMware virtual NICs provided by the virtual
67e3c97c2cSBryan Venteichermachine hardware version 7 or newer, as provided by the following
68e3c97c2cSBryan Venteicherproducts:
69e3c97c2cSBryan Venteicher.Pp
70e3c97c2cSBryan Venteicher.Bl -bullet -compact -offset indent
71e3c97c2cSBryan Venteicher.It
72e3c97c2cSBryan VenteicherVMware ESX/ESXi 4.0 and newer
73e3c97c2cSBryan Venteicher.It
74e3c97c2cSBryan VenteicherVMware Server 2.0 and newer
75e3c97c2cSBryan Venteicher.It
76e3c97c2cSBryan VenteicherVMware Workstation 6.5 and newer
77e3c97c2cSBryan Venteicher.It
78e3c97c2cSBryan VenteicherVMware Fusion 2.0 and newer
79e3c97c2cSBryan Venteicher.El
80e3c97c2cSBryan Venteicher.Pp
81e3c97c2cSBryan VenteicherFor more information on configuring this device, see
82e3c97c2cSBryan Venteicher.Xr ifconfig 8 .
83e557c1ddSBryan Venteicher.Sh MULTIPLE QUEUES
84e557c1ddSBryan VenteicherThe
85e557c1ddSBryan Venteicher.Nm
86e557c1ddSBryan Venteicherdriver supports multiple transmit and receive queues.
87e557c1ddSBryan VenteicherMultiple queues are only supported by certain VMware products, such as ESXi.
88e557c1ddSBryan VenteicherThe number of queues allocated depends on the presence of MSI-X,
89e557c1ddSBryan Venteicherthe number of configured CPUs,
90e557c1ddSBryan Venteicherand the tunables listed below.
91e557c1ddSBryan Venteicher.Fx
92e557c1ddSBryan Venteicherdoes not enable MSI-X support on VMware by default.
93e557c1ddSBryan VenteicherThe
94e557c1ddSBryan Venteicher.Va hw.pci.honor_msi_blacklist
95e557c1ddSBryan Venteichertunable must be disabled to enable MSI-X support.
963c5dfe89SBryan Venteicher.Sh LOADER TUNABLES
973c5dfe89SBryan VenteicherTunables can be set at the
983c5dfe89SBryan Venteicher.Xr loader 8
993c5dfe89SBryan Venteicherprompt before booting the kernel or stored in
1003c5dfe89SBryan Venteicher.Xr loader.conf 5 .
1013c5dfe89SBryan Venteicher.Bl -tag -width indent
102e557c1ddSBryan Venteicher.It Va hw.vmx.txnqueue
103e557c1ddSBryan Venteicher.It Va hw.vmx. Ns Ar X Ns Va .txnqueue
104e557c1ddSBryan VenteicherMaximum number of transmit queues allocated by default by the driver.
105e557c1ddSBryan VenteicherThe default value is 8.
106e557c1ddSBryan VenteicherThe maximum supported by the VMXNET3 virtual NIC is 8.
107e557c1ddSBryan Venteicher.It Va hw.vmx.rxnqueue
108e557c1ddSBryan Venteicher.It Va hw.vmx. Ns Ar X Ns Va .rxnqueue
109e557c1ddSBryan VenteicherMaximum number of receive queues allocated by default by the driver.
110e557c1ddSBryan VenteicherThe default value is 8.
111e557c1ddSBryan VenteicherThe maximum supported by the VMXNET3 virtual NIC is 16.
1123c5dfe89SBryan Venteicher.It Va hw.vmx.txndesc
1133c5dfe89SBryan Venteicher.It Va hw.vmx. Ns Ar X Ns Va .txndesc
1143c5dfe89SBryan Venteicher.Pp
1153c5dfe89SBryan VenteicherNumber of transmit descriptors allocated by the driver.
1163c5dfe89SBryan VenteicherThe default value is 512.
1173c5dfe89SBryan VenteicherThe value must be a multiple of 32, and the maximum is 4096.
1183c5dfe89SBryan Venteicher.It Va hw.vmx.rxndesc
1193c5dfe89SBryan Venteicher.It Va hw.vmx. Ns Ar X Ns Va .rxndesc
1203c5dfe89SBryan Venteicher.Pp
1213c5dfe89SBryan VenteicherNumber of receive descriptors per ring allocated by the driver.
1223c5dfe89SBryan VenteicherThe default value is 256.
1233c5dfe89SBryan VenteicherThe value must be a multiple of 32, and the maximum is 2048.
1243c5dfe89SBryan VenteicherThere are two rings so the actual usage is doubled.
125a648be6aSJoel Dahl.El
126e3c97c2cSBryan Venteicher.Sh EXAMPLES
127e3c97c2cSBryan VenteicherThe following entry must be added to the VMware configuration file
128e3c97c2cSBryan Venteicherto provide the
129e3c97c2cSBryan Venteicher.Nm
130e3c97c2cSBryan Venteicherdevice:
131e3c97c2cSBryan Venteicher.Bd -literal -offset indent
132e3c97c2cSBryan Venteicherethernet0.virtualDev = "vmxnet3"
133e3c97c2cSBryan Venteicher.Ed
134e3c97c2cSBryan Venteicher.Sh SEE ALSO
135e3c97c2cSBryan Venteicher.Xr altq 4 ,
136e3c97c2cSBryan Venteicher.Xr arp 4 ,
137e3c97c2cSBryan Venteicher.Xr em 4 ,
1384d302c1aSKevin Lo.Xr iflib 4 ,
139*68445e34SChristian Brueffer.Xr le 4 ,
140e3c97c2cSBryan Venteicher.Xr netintro 4 ,
141e3c97c2cSBryan Venteicher.Xr ng_ether 4 ,
142e3c97c2cSBryan Venteicher.Xr vlan 4 ,
143e3c97c2cSBryan Venteicher.Xr ifconfig 8
144e3c97c2cSBryan Venteicher.Sh AUTHORS
145e3c97c2cSBryan Venteicher.An -nosplit
146e3c97c2cSBryan VenteicherThe
147e3c97c2cSBryan Venteicher.Nm
148e3c97c2cSBryan Venteicherdriver was ported from
149e3c97c2cSBryan Venteicher.Ox
1503c5dfe89SBryan Venteicherand significantly rewritten by
1516c899950SBaptiste Daroussin.An Bryan Venteicher Aq Mt bryanv@freebsd.org .
152e3c97c2cSBryan VenteicherThe
153e3c97c2cSBryan Venteicher.Ox
154e3c97c2cSBryan Venteicherdriver was written by
155e3c97c2cSBryan Venteicher.An Tsubai Masanari .
156