xref: /dflybsd-src/share/man/man4/vmx.4 (revision ba3d86e75043bb4772f7fabd852c89abdc6d3d5b)
1*ba3d86e7SSascha Wildner.\"
2*ba3d86e7SSascha Wildner.\" Copyright (c) 2006,2013 Reyk Floeter <reyk@openbsd.org>
3*ba3d86e7SSascha Wildner.\"
4*ba3d86e7SSascha Wildner.\" Permission to use, copy, modify, and distribute this software for any
5*ba3d86e7SSascha Wildner.\" purpose with or without fee is hereby granted, provided that the above
6*ba3d86e7SSascha Wildner.\" copyright notice and this permission notice appear in all copies.
7*ba3d86e7SSascha Wildner.\"
8*ba3d86e7SSascha Wildner.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9*ba3d86e7SSascha Wildner.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10*ba3d86e7SSascha Wildner.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11*ba3d86e7SSascha Wildner.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12*ba3d86e7SSascha Wildner.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13*ba3d86e7SSascha Wildner.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14*ba3d86e7SSascha Wildner.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15*ba3d86e7SSascha Wildner.\"
16*ba3d86e7SSascha Wildner.\" $OpenBSD: src/share/man/man4/vmx.4,v 1.1 2013/05/31 20:18:44 reyk Exp $
17*ba3d86e7SSascha Wildner.\"
18*ba3d86e7SSascha Wildner.\" $FreeBSD: head/share/man/man4/vmx.4 267938 2014-06-26 21:46:14Z bapt $
19*ba3d86e7SSascha Wildner.\"
20*ba3d86e7SSascha Wildner.Dd October 4, 2017
21*ba3d86e7SSascha Wildner.Dt VMX 4
22*ba3d86e7SSascha Wildner.Os
23*ba3d86e7SSascha Wildner.Sh NAME
24*ba3d86e7SSascha Wildner.Nm vmx
25*ba3d86e7SSascha Wildner.Nd VMware VMXNET3 Virtual Interface Controller device
26*ba3d86e7SSascha Wildner.Sh SYNOPSIS
27*ba3d86e7SSascha WildnerTo compile this driver into the kernel,
28*ba3d86e7SSascha Wildnerplace the following line in your
29*ba3d86e7SSascha Wildnerkernel configuration file:
30*ba3d86e7SSascha Wildner.Bd -ragged -offset indent
31*ba3d86e7SSascha Wildner.Cd "device vmx"
32*ba3d86e7SSascha Wildner.Ed
33*ba3d86e7SSascha Wildner.Pp
34*ba3d86e7SSascha WildnerAlternatively, to load the driver as a
35*ba3d86e7SSascha Wildnermodule at boot time, place the following line in
36*ba3d86e7SSascha Wildner.Xr loader.conf 5 :
37*ba3d86e7SSascha Wildner.Bd -literal -offset indent
38*ba3d86e7SSascha Wildnerif_vmx_load="YES"
39*ba3d86e7SSascha Wildner.Ed
40*ba3d86e7SSascha Wildner.Sh DESCRIPTION
41*ba3d86e7SSascha WildnerThe
42*ba3d86e7SSascha Wildner.Nm
43*ba3d86e7SSascha Wildnerdriver provides support for the VMXNET3 virtual NIC available in virtual
44*ba3d86e7SSascha Wildnermachines by VMware.
45*ba3d86e7SSascha WildnerIt appears as a simple Ethernet device but is actually a virtual network
46*ba3d86e7SSascha Wildnerinterface to the underlying host operating system.
47*ba3d86e7SSascha Wildner.Pp
48*ba3d86e7SSascha WildnerThis driver supports the
49*ba3d86e7SSascha Wildner.Ic VMXNET3
50*ba3d86e7SSascha Wildnerdriver protocol, as an alternative to the emulated
51*ba3d86e7SSascha Wildner.Xr pcn 4 ,
52*ba3d86e7SSascha Wildner.Xr em 4
53*ba3d86e7SSascha Wildnerinterfaces also available in the VMware environment.
54*ba3d86e7SSascha WildnerThe
55*ba3d86e7SSascha Wildner.Nm
56*ba3d86e7SSascha Wildnerdriver is optimized for the virtual machine, it can provide advanced
57*ba3d86e7SSascha Wildnercapabilities depending on the underlying host operating system and
58*ba3d86e7SSascha Wildnerthe physical network interface controller of the host.
59*ba3d86e7SSascha WildnerThe
60*ba3d86e7SSascha Wildner.Nm
61*ba3d86e7SSascha Wildnerdriver supports features like multiqueue support, IPv6
62*ba3d86e7SSascha Wildnerchecksum offloading, MSI
63*ba3d86e7SSascha Wildner.\"/MSI-X
64*ba3d86e7SSascha Wildnersupport and hardware VLAN tagging in
65*ba3d86e7SSascha WildnerVMware's VLAN Guest Tagging (VGT) mode.
66*ba3d86e7SSascha Wildner.Pp
67*ba3d86e7SSascha WildnerThe
68*ba3d86e7SSascha Wildner.Nm
69*ba3d86e7SSascha Wildnerdriver supports VMXNET3 VMware virtual NICs provided by the virtual
70*ba3d86e7SSascha Wildnermachine hardware version 7 or newer, as provided by the following
71*ba3d86e7SSascha Wildnerproducts:
72*ba3d86e7SSascha Wildner.Pp
73*ba3d86e7SSascha Wildner.Bl -bullet -compact -offset indent
74*ba3d86e7SSascha Wildner.It
75*ba3d86e7SSascha WildnerVMware ESX/ESXi 4.0 and newer
76*ba3d86e7SSascha Wildner.It
77*ba3d86e7SSascha WildnerVMware Server 2.0 and newer
78*ba3d86e7SSascha Wildner.It
79*ba3d86e7SSascha WildnerVMware Workstation 6.5 and newer
80*ba3d86e7SSascha Wildner.It
81*ba3d86e7SSascha WildnerVMware Fusion 2.0 and newer
82*ba3d86e7SSascha Wildner.El
83*ba3d86e7SSascha Wildner.Pp
84*ba3d86e7SSascha WildnerFor more information on configuring this device, see
85*ba3d86e7SSascha Wildner.Xr ifconfig 8 .
86*ba3d86e7SSascha Wildner.\".Sh MULTIPLE QUEUES
87*ba3d86e7SSascha Wildner.\"The
88*ba3d86e7SSascha Wildner.\".Nm
89*ba3d86e7SSascha Wildner.\"driver supports multiple transmit and receive queues.
90*ba3d86e7SSascha Wildner.\"Multiple queues are only supported by certain VMware products, such as ESXi.
91*ba3d86e7SSascha Wildner.\"The number of queues allocated depends on the presence of MSI-X,
92*ba3d86e7SSascha Wildner.\"the number of configured CPUs,
93*ba3d86e7SSascha Wildner.\"and the tunables listed below.
94*ba3d86e7SSascha Wildner.\".Fx
95*ba3d86e7SSascha Wildner.\"does not enable MSI-X support on VMware by default.
96*ba3d86e7SSascha Wildner.\"The
97*ba3d86e7SSascha Wildner.\".Va hw.pci.honor_msi_blacklist
98*ba3d86e7SSascha Wildner.\"tunable must be disabled to enable MSI-X support.
99*ba3d86e7SSascha Wildner.Sh LOADER TUNABLES
100*ba3d86e7SSascha WildnerTunables can be set at the
101*ba3d86e7SSascha Wildner.Xr loader 8
102*ba3d86e7SSascha Wildnerprompt before booting the kernel or stored in
103*ba3d86e7SSascha Wildner.Xr loader.conf 5 .
104*ba3d86e7SSascha Wildner.Bl -tag -width indent
105*ba3d86e7SSascha Wildner.It Va hw.vmx.txnqueue
106*ba3d86e7SSascha Wildner.It Va hw.vmx. Ns Ar X Ns Va .txnqueue
107*ba3d86e7SSascha WildnerMaximum number of transmit queues allocated by default by the driver.
108*ba3d86e7SSascha WildnerThe default value is 8.
109*ba3d86e7SSascha WildnerThe maximum supported by the VMXNET3 virtual NIC is 8.
110*ba3d86e7SSascha Wildner.It Va hw.vmx.rxnqueue
111*ba3d86e7SSascha Wildner.It Va hw.vmx. Ns Ar X Ns Va .rxnqueue
112*ba3d86e7SSascha WildnerMaximum number of receive queues allocated by default by the driver.
113*ba3d86e7SSascha WildnerThe default value is 8.
114*ba3d86e7SSascha WildnerThe maximum supported by the VMXNET3 virtual NIC is 16.
115*ba3d86e7SSascha Wildner.It Va hw.vmx.txndesc
116*ba3d86e7SSascha Wildner.It Va hw.vmx. Ns Ar X Ns Va .txndesc
117*ba3d86e7SSascha Wildner.Pp
118*ba3d86e7SSascha WildnerNumber of transmit descriptors allocated by the driver.
119*ba3d86e7SSascha WildnerThe default value is 512.
120*ba3d86e7SSascha WildnerThe value must be a multiple of 32, and the maximum is 4096.
121*ba3d86e7SSascha Wildner.It Va hw.vmx.rxndesc
122*ba3d86e7SSascha Wildner.It Va hw.vmx. Ns Ar X Ns Va .rxndesc
123*ba3d86e7SSascha Wildner.Pp
124*ba3d86e7SSascha WildnerNumber of receive descriptors per ring allocated by the driver.
125*ba3d86e7SSascha WildnerThe default value is 256.
126*ba3d86e7SSascha WildnerThe value must be a multiple of 32, and the maximum is 2048.
127*ba3d86e7SSascha WildnerThere are two rings so the actual usage is doubled.
128*ba3d86e7SSascha Wildner.El
129*ba3d86e7SSascha Wildner.Sh EXAMPLES
130*ba3d86e7SSascha WildnerThe following entry must be added to the VMware configuration file
131*ba3d86e7SSascha Wildnerto provide the
132*ba3d86e7SSascha Wildner.Nm
133*ba3d86e7SSascha Wildnerdevice:
134*ba3d86e7SSascha Wildner.Bd -literal -offset indent
135*ba3d86e7SSascha Wildnerethernet0.virtualDev = "vmxnet3"
136*ba3d86e7SSascha Wildner.Ed
137*ba3d86e7SSascha Wildner.Sh SEE ALSO
138*ba3d86e7SSascha Wildner.Xr altq 4 ,
139*ba3d86e7SSascha Wildner.Xr arp 4 ,
140*ba3d86e7SSascha Wildner.Xr em 4 ,
141*ba3d86e7SSascha Wildner.Xr ifmedia 4 ,
142*ba3d86e7SSascha Wildner.Xr netintro 4 ,
143*ba3d86e7SSascha Wildner.Xr ng_ether 4 ,
144*ba3d86e7SSascha Wildner.Xr pcn 4 ,
145*ba3d86e7SSascha Wildner.Xr vlan 4 ,
146*ba3d86e7SSascha Wildner.Xr ifconfig 8
147*ba3d86e7SSascha Wildner.Sh AUTHORS
148*ba3d86e7SSascha Wildner.An -nosplit
149*ba3d86e7SSascha WildnerThe
150*ba3d86e7SSascha Wildner.Nm
151*ba3d86e7SSascha Wildnerdriver was ported from
152*ba3d86e7SSascha Wildner.Ox
153*ba3d86e7SSascha Wildnerand significantly rewritten by
154*ba3d86e7SSascha Wildner.An Bryan Venteicher Aq Mt bryanv@freebsd.org .
155*ba3d86e7SSascha WildnerThe
156*ba3d86e7SSascha Wildner.Ox
157*ba3d86e7SSascha Wildnerdriver was written by
158*ba3d86e7SSascha Wildner.An Tsubai Masanari .
159