VTNET(4)
π VTNET π
okay bestie, welcome to the vtnet page from the Kernel Interfaces Manual β this is the VirtIO Ethernet driver, and she is serving networking in your virtual machine. let's get into it π«Ά
β¨ SYNOPSIS β¨
so if you wanna bake this driver right into your kernel, you drop these lines into your kernel configuration file:
device vtnet
orrr if you're more of a "load it at boot like a girlboss" type, put this line in loader.conf(5):
if_vtnet_load="YES"
πΈ DESCRIPTION πΈ
the vtnet device driver is the support system for VirtIO Ethernet devices. that's her job, that's her purpose, that's her whole personality. π
now, if the hypervisor advertises the appropriate features, our girl vtnet 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
- and Jumbo Frames (up to
9216bytes), which you configure via the interface MTU setting
and listen β if you select an MTU larger than 1500 bytes with the ifconfig(8) utility, that configures the adapter to receive and transmit Jumbo Frames. big packets, big energy. π₯
for more info on configuring this device, go read ifconfig(8). she's the main character of network config, fr fr.
π LOADER TUNABLES π
you can set these tunables at the loader(8) prompt before booting the kernel, or you can stash them in loader.conf(5). your choice, bestie.
hw.vtnet.csum_disablehw.vtnet.X.csum_disable
this tunable disables receive and send checksum offload. the default value is 0.
hw.vtnet.tso_disablehw.vtnet.X.tso_disable
this tunable disables TSO. the default value is 0.
hw.vtnet.lro_disablehw.vtnet.X.lro_disable
this tunable disables LRO. the default value is 0.
hw.vtnet.mq_disablehw.vtnet.X.mq_disable
this tunable disables multiqueue. the default value is 0.
hw.vtnet.mq_max_pairshw.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.
ngl the "lesser of" math is giving β¨constrained optimizationβ¨ but it's literally just "whichever number is smallest wins". periodt.
π¦ SEE ALSO π¦
arp(4), netintro(4), ng_ether(4), virtio(4), vlan(4), ifconfig(8)
π HISTORY π
the vtnet driver was written by Bryan Venteicher <bryanv@FreeBSD.org>. she first appeared in FreeBSD 9.0. an icon, a legend, a pioneer. π
π CAVEATS π
heads up bestie: the vtnet driver only supports LRO when the hypervisor advertises the mergeable buffer feature. no mergeable buffer, no LRO. that's just the vibe check and she does not pass. π
okay that's the whole page, you're fully caught up, go configure your NIC and slay π β¨
this page came from Debian's manpage collection, dated January 22, 2012, and yeah β it's still out here doing its thing. mwah, no notes. π
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2011 Bryan Venteicher
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms