158 lines
4.4 KiB
Groff
158 lines
4.4 KiB
Groff
.\"
|
|
.\" Copyright (c) 2006,2013 Reyk Floeter <reyk@openbsd.org>
|
|
.\"
|
|
.\" Permission to use, copy, modify, and distribute this software for any
|
|
.\" purpose with or without fee is hereby granted, provided that the above
|
|
.\" copyright notice and this permission notice appear in all copies.
|
|
.\"
|
|
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
.\"
|
|
.\" $OpenBSD: src/share/man/man4/vmx.4,v 1.1 2013/05/31 20:18:44 reyk Exp $
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd July 17, 2019
|
|
.Dt VMX 4
|
|
.Os
|
|
.Sh NAME
|
|
.Nm vmx
|
|
.Nd VMware VMXNET3 Virtual Interface Controller device
|
|
.Sh SYNOPSIS
|
|
To compile this driver into the kernel,
|
|
place the following lines in your
|
|
kernel configuration file:
|
|
.Bd -ragged -offset indent
|
|
.Cd "device iflib"
|
|
.Cd "device vmx"
|
|
.Ed
|
|
.Pp
|
|
Alternatively, to load the driver as a
|
|
module at boot time, place the following line in
|
|
.Xr loader.conf 5 :
|
|
.Bd -literal -offset indent
|
|
if_vmx_load="YES"
|
|
.Ed
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
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.
|
|
.Pp
|
|
This driver supports the
|
|
.Ic VMXNET3
|
|
driver protocol, as an alternative to the emulated
|
|
.Xr pcn 4 ,
|
|
.Xr em 4
|
|
interfaces also available in the VMware environment.
|
|
The
|
|
.Nm
|
|
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
|
|
.Nm
|
|
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.
|
|
.Pp
|
|
The
|
|
.Nm
|
|
driver supports VMXNET3 VMware virtual NICs provided by the virtual
|
|
machine hardware version 7 or newer, as provided by the following
|
|
products:
|
|
.Pp
|
|
.Bl -bullet -compact -offset indent
|
|
.It
|
|
VMware ESX/ESXi 4.0 and newer
|
|
.It
|
|
VMware Server 2.0 and newer
|
|
.It
|
|
VMware Workstation 6.5 and newer
|
|
.It
|
|
VMware Fusion 2.0 and newer
|
|
.El
|
|
.Pp
|
|
For more information on configuring this device, see
|
|
.Xr ifconfig 8 .
|
|
.Sh MULTIPLE QUEUES
|
|
The
|
|
.Nm
|
|
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.
|
|
.Fx
|
|
does not enable MSI-X support on VMware by default.
|
|
The
|
|
.Va hw.pci.honor_msi_blacklist
|
|
tunable must be disabled to enable MSI-X support.
|
|
.Sh LOADER TUNABLES
|
|
Tunables can be set at the
|
|
.Xr loader 8
|
|
prompt before booting the kernel or stored in
|
|
.Xr loader.conf 5 .
|
|
.Bl -tag -width indent
|
|
.It Va hw.vmx.txnqueue
|
|
.It Va hw.vmx. Ns Ar X Ns Va .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.
|
|
.It Va hw.vmx.rxnqueue
|
|
.It Va hw.vmx. Ns Ar X Ns Va .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.
|
|
.It Va hw.vmx.txndesc
|
|
.It Va hw.vmx. Ns Ar X Ns Va .txndesc
|
|
.Pp
|
|
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.
|
|
.It Va hw.vmx.rxndesc
|
|
.It Va hw.vmx. Ns Ar X Ns Va .rxndesc
|
|
.Pp
|
|
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.
|
|
.El
|
|
.Sh EXAMPLES
|
|
The following entry must be added to the VMware configuration file
|
|
to provide the
|
|
.Nm
|
|
device:
|
|
.Bd -literal -offset indent
|
|
ethernet0.virtualDev = "vmxnet3"
|
|
.Ed
|
|
.Sh SEE ALSO
|
|
.Xr altq 4 ,
|
|
.Xr arp 4 ,
|
|
.Xr em 4 ,
|
|
.Xr iflib 4 ,
|
|
.Xr netintro 4 ,
|
|
.Xr ng_ether 4 ,
|
|
.Xr pcn 4 ,
|
|
.Xr vlan 4 ,
|
|
.Xr ifconfig 8
|
|
.Sh AUTHORS
|
|
.An -nosplit
|
|
The
|
|
.Nm
|
|
driver was ported from
|
|
.Ox
|
|
and significantly rewritten by
|
|
.An Bryan Venteicher Aq Mt bryanv@freebsd.org .
|
|
The
|
|
.Ox
|
|
driver was written by
|
|
.An Tsubai Masanari .
|