]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/man/man4/vmx.4
MFC r343617, r343618:
[FreeBSD/FreeBSD.git] / share / man / man4 / vmx.4
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 January 30, 2019
21 .Dt VMX 4
22 .Os
23 .Sh NAME
24 .Nm vmx
25 .Nd VMware VMXNET3 Virtual Interface Controller device
26 .Sh SYNOPSIS
27 To compile this driver into the kernel,
28 place the following lines in your
29 kernel configuration file:
30 .Bd -ragged -offset indent
31 .Cd "device iflib"
32 .Cd "device vmx"
33 .Ed
34 .Pp
35 Alternatively, to load the driver as a
36 module at boot time, place the following line in
37 .Xr loader.conf 5 :
38 .Bd -literal -offset indent
39 if_vmx_load="YES"
40 .Ed
41 .Sh DESCRIPTION
42 The
43 .Nm
44 driver provides support for the VMXNET3 virtual NIC available in virtual
45 machines by VMware.
46 It appears as a simple Ethernet device but is actually a virtual network
47 interface to the underlying host operating system.
48 .Pp
49 This driver supports the
50 .Ic VMXNET3
51 driver protocol, as an alternative to the emulated
52 .Xr pcn 4 ,
53 .Xr em 4
54 interfaces also available in the VMware environment.
55 The
56 .Nm
57 driver is optimized for the virtual machine, it can provide advanced
58 capabilities depending on the underlying host operating system and
59 the physical network interface controller of the host.
60 The
61 .Nm
62 driver supports features like multiqueue support, IPv6
63 checksum offloading, MSI/MSI-X support and hardware VLAN tagging in
64 VMware's VLAN Guest Tagging (VGT) mode.
65 .Pp
66 The
67 .Nm
68 driver supports VMXNET3 VMware virtual NICs provided by the virtual
69 machine hardware version 7 or newer, as provided by the following
70 products:
71 .Pp
72 .Bl -bullet -compact -offset indent
73 .It
74 VMware ESX/ESXi 4.0 and newer
75 .It
76 VMware Server 2.0 and newer
77 .It
78 VMware Workstation 6.5 and newer
79 .It
80 VMware Fusion 2.0 and newer
81 .El
82 .Pp
83 For more information on configuring this device, see
84 .Xr ifconfig 8 .
85 .Sh MULTIPLE QUEUES
86 The
87 .Nm
88 driver supports multiple transmit and receive queues.
89 Multiple queues are only supported by certain VMware products, such as ESXi.
90 The number of queues allocated depends on the presence of MSI-X,
91 the number of configured CPUs,
92 and the tunables listed below.
93 .Fx
94 does not enable MSI-X support on VMware by default.
95 The
96 .Va hw.pci.honor_msi_blacklist
97 tunable must be disabled to enable MSI-X support.
98 .Sh LOADER TUNABLES
99 Tunables can be set at the
100 .Xr loader 8
101 prompt before booting the kernel or stored in
102 .Xr loader.conf 5 .
103 .Bl -tag -width indent
104 .It Va hw.vmx.txnqueue
105 .It Va hw.vmx. Ns Ar X Ns Va .txnqueue
106 Maximum number of transmit queues allocated by default by the driver.
107 The default value is 8.
108 The maximum supported by the VMXNET3 virtual NIC is 8.
109 .It Va hw.vmx.rxnqueue
110 .It Va hw.vmx. Ns Ar X Ns Va .rxnqueue
111 Maximum number of receive queues allocated by default by the driver.
112 The default value is 8.
113 The maximum supported by the VMXNET3 virtual NIC is 16.
114 .It Va hw.vmx.txndesc
115 .It Va hw.vmx. Ns Ar X Ns Va .txndesc
116 .Pp
117 Number of transmit descriptors allocated by the driver.
118 The default value is 512.
119 The value must be a multiple of 32, and the maximum is 4096.
120 .It Va hw.vmx.rxndesc
121 .It Va hw.vmx. Ns Ar X Ns Va .rxndesc
122 .Pp
123 Number of receive descriptors per ring allocated by the driver.
124 The default value is 256.
125 The value must be a multiple of 32, and the maximum is 2048.
126 There are two rings so the actual usage is doubled.
127 .El
128 .Sh EXAMPLES
129 The following entry must be added to the VMware configuration file
130 to provide the
131 .Nm
132 device:
133 .Bd -literal -offset indent
134 ethernet0.virtualDev = "vmxnet3"
135 .Ed
136 .Sh SEE ALSO
137 .Xr altq 4 ,
138 .Xr arp 4 ,
139 .Xr em 4 ,
140 .Xr netintro 4 ,
141 .Xr ng_ether 4 ,
142 .Xr pcn 4 ,
143 .Xr vlan 4 ,
144 .Xr ifconfig 8
145 .Sh AUTHORS
146 .An -nosplit
147 The
148 .Nm
149 driver was ported from
150 .Ox
151 and significantly rewritten by
152 .An Bryan Venteicher Aq Mt bryanv@freebsd.org .
153 The
154 .Ox
155 driver was written by
156 .An Tsubai Masanari .