xref: /freebsd/share/man/man4/vtnet.4 (revision 4b9d605768acabc460aa6dcfe8a1f8db35b16794)
1.\" Copyright (c) 2011 Bryan Venteicher
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.Dd January 22, 2012
26.Dt VTNET 4
27.Os
28.Sh NAME
29.Nm vtnet
30.Nd VirtIO Ethernet driver
31.Sh SYNOPSIS
32To compile this driver into the kernel,
33place the following lines in your
34kernel configuration file:
35.Bd -ragged -offset indent
36.Cd "device vtnet"
37.Ed
38.Pp
39Alternatively, to load the driver as a
40module at boot time, place the following line in
41.Xr loader.conf 5 :
42.Bd -literal -offset indent
43if_vtnet_load="YES"
44.Ed
45.Sh DESCRIPTION
46The
47.Nm
48device driver provides support for VirtIO Ethernet devices.
49.Pp
50If the hypervisor advertises the appropriate features, the
51.Nm
52driver supports TCP/UDP checksum offload for both transmit and receive,
53TCP segmentation offload (TSO), TCP large receive offload (LRO),
54hardware VLAN tag stripping/insertion features, a multicast hash filter,
55as well as Jumbo Frames (up to 9216 bytes), which can be
56configured via the interface MTU setting.
57Selecting an MTU larger than 1500 bytes with the
58.Xr ifconfig 8
59utility configures the adapter to receive and transmit Jumbo Frames.
60.Pp
61For more information on configuring this device, see
62.Xr ifconfig 8 .
63.Sh LOADER TUNABLES
64Tunables can be set at the
65.Xr loader 8
66prompt before booting the kernel or stored in
67.Xr loader.conf 5 .
68.Bl -tag -width "xxxxxx"
69.It Va hw.vtnet.csum_disable
70.It Va hw.vtnet. Ns Ar X Ns Va .csum_disable
71This tunable disables receive and send checksum offload.
72The default value is 0.
73.It Va hw.vtnet.tso_disable
74.It Va hw.vtnet. Ns Ar X Ns Va .tso_disable
75This tunable disables TSO.
76The default value is 0.
77.It Va hw.vtnet.lro_disable
78.It Va hw.vtnet. Ns Ar X Ns Va .lro_disable
79This tunable disables LRO.
80The default value is 0.
81.It Va hw.vtnet.mq_disable
82.It Va hw.vtnet. Ns Ar X Ns Va .mq_disable
83This tunable disables multiqueue.
84The default value is 0.
85.It Va hw.vtnet.mq_max_pairs
86.It Va hw.vtnet. Ns Ar X Ns Va .mq_max_pairs
87This tunable sets the maximum number of transmit and receive queue pairs.
88Multiple queues are only supported when the Multiqueue feature is negotiated.
89This driver supports a maximum of 8 queue pairs.
90The number of queue pairs used is the lesser of the maximum supported by the
91driver and the hypervisor, the number of CPUs present in the guest, and this
92tunable if not zero.
93The default value is 0.
94.El
95.Sh SEE ALSO
96.Xr arp 4 ,
97.Xr netintro 4 ,
98.Xr ng_ether 4 ,
99.Xr virtio 4 ,
100.Xr vlan 4 ,
101.Xr ifconfig 8
102.Sh HISTORY
103The
104.Nm
105driver was written by
106.An Bryan Venteicher Aq Mt bryanv@FreeBSD.org .
107It first appeared in
108.Fx 9.0 .
109.Sh CAVEATS
110The
111.Nm
112driver only supports LRO when the hypervisor advertises the
113mergeable buffer feature.
114