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