1b7795b92a
iflib is already a module, but it is unconditionally compiled into the kernel. There are drivers which do not need iflib(4), and there are situations where somebody might not want iflib in kernel because of using the corresponding driver as module. Reviewed by: marius Discussed with: erj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D19041
157 lines
4.4 KiB
Groff
157 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 January 30, 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 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 .
|