vtnet(4) VirtIO Ethernet driver


To compile this driver into the kernel, place the following lines in your kernel configuration file:
device vtnet

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf5:



The device driver provides support for VirtIO Ethernet devices.

If the hypervisor advertises the appreciate features, the driver supports TCP/UDP checksum offload for both transmit and receive, TCP segmentation offload (TSO), TCP large receive offload (LRO), and hardware VLAN tag stripping/insertion features, as well as a multicast hash filter, as well as Jumbo Frames (up to 9216 bytes), which can be configured via the interface MTU setting. Selecting an MTU larger than 1500 bytes with the ifconfig(8) utility configures the adapter to receive and transmit Jumbo Frames.

For more information on configuring this device, see ifconfig(8).


Tunables can be set at the loader(8) prompt before booting the kernel or stored in loader.conf5.

hw.vtnet. X .csum_disable
This tunable disables receive and send checksum offload. The default value is 0.
hw.vtnet. X .tso_disable
This tunable disables TSO. The default value is 0.
hw.vtnet. X .lro_disable
This tunable disables LRO. The default value is 0.
hw.vtnet. X .mq_disable
This tunable disables multiqueue. The default value is 0.
hw.vtnet. X .mq_max_pairs
This tunable sets the maximum number of transmit and receive queue pairs. Multiple queues are only supported when the Multiqueue feature is negotiated. This driver supports a maximum of 8 queue pairs. The number of queue pairs used is the lesser of the maximum supported by the driver and the hypervisor, the number of CPUs present in the guest, and this tunable if not zero. The default value is 0.


The driver was written by An Bryan Venteicher Aq [email protected] . It first appeared in Fx 9.0 .


The driver only supports LRO when the hypervisor advertises the mergeable buffer feature.