---
name: "vtnet"
section: "4freebsd"
platform: "linux"
package: "freebsd-manpages"
version: "12.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/if_vtnet/4freebsd"
---

# vtnet(4freebsd)

VirtIO Ethernet driver

Part of [if\_vtnet(4freebsd)](/if_vtnet/4freebsd.md).

## NAME

**vtnet** – VirtIO Ethernet driver

## SYNOPSIS

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.conf(5)](/loader.conf/5.md):

```
if_vtnet_load="YES"
```

## DESCRIPTION

The **vtnet** device driver provides support for VirtIO Ethernet devices.

If the hypervisor advertises the appropriate features, the **vtnet** driver supports TCP/UDP checksum offload for both transmit and receive, TCP segmentation offload (TSO), TCP large receive offload (LRO), hardware VLAN tag stripping/insertion features, 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)](/ifconfig/8.md) utility configures the adapter to receive and transmit Jumbo Frames.

For more information on configuring this device, see [ifconfig(8)](/ifconfig/8.md).

## LOADER TUNABLES

Tunables can be set at the [loader(8)](/loader/8.md) prompt before booting the kernel or stored in [loader.conf(5)](/loader.conf/5.md).

- *hw.vtnet.csum\_disable*

  - *hw.vtnet.**X**.csum\_disable*

  This tunable disables receive and send checksum offload. The default value is 0.

- *hw.vtnet.tso\_disable*

  - *hw.vtnet.**X**.tso\_disable*

  This tunable disables TSO. The default value is 0.

- *hw.vtnet.lro\_disable*

  - *hw.vtnet.**X**.lro\_disable*

  This tunable disables LRO. The default value is 0.

- *hw.vtnet.mq\_disable*

  - *hw.vtnet.**X**.mq\_disable*

  This tunable disables multiqueue. The default value is 0.

- *hw.vtnet.mq\_max\_pairs*

  - *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.

## SEE ALSO

[arp(4)](/arp/4.md), [netintro(4)](/netintro/4.md), [ng\_ether(4)](/ng_ether/4.md), [virtio(4)](/virtio/4.md), [vlan(4)](/vlan/4.md), [ifconfig(8)](/ifconfig/8.md)

## HISTORY

The **vtnet** driver was written by Bryan Venteicher ⟨*bryanv@FreeBSD.org*⟩. It first appeared in FreeBSD 9.0.

## CAVEATS

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