VTE(4)
VTE(4) π
okay bestie, so this is the vte page from the Kernel Interfaces Manual, and it's literally all about a NIC driver. yes, a network card. don't scroll away, it's cute actually π¦
β¨ NAME β¨
vte β the Vortex86 RDC R6040 Fast Ethernet driver π
πΈ SYNOPSIS πΈ
so like, you got two ways to do this, queen. pick your fighter:
option one β bake it into the kernel. drop these exact lines into your kernel config file:
device miibus
device vte
option two β load it as a module at boot. put this line in loader.conf(5):
if_vte_load="YES"
slay, that's it π
π DESCRIPTION π
the vte device driver is the support system for the RDC R6040 Fast Ethernet controller, which you'll usually find chilling on a Vortex86 System On a Chip (SoC). it's giving embedded, it's giving tiny computer, it's giving iconic β¨
the RDC R6040 comes with an integrated 10/100 PHY, so you get 10/100Mbps support in either full or half-duplex, no extra hardware needed, we love a self-sufficient king π
and the controller? oh she's stacked:
- interrupt moderation mechanism β
- a 64-bit multicast hash filter β
- VLAN over-size frame β
- four station addresses β
the vte device driver uses three station addresses out of those four as a perfect multicast filter. so like, one of them is just sitting there. not invited. π
π¦ the media types π¦
the vte driver supports these media types:
autoselectβ lets it autoselect the media type and options for you. and yes, you can manually override the autoselected mode by adding media options torc.conf(5). main character energy, choosing your own destiny π«10baseT/UTPβ sets 10Mbps operation.100baseTXβ sets 100Mbps (Fast Ethernet) operation. fast. periodt π₯
π the media options π
and these media options:
full-duplexβ forces full duplex operation.half-duplexβ forces half duplex operation.
for more info on configuring this device, go look at ifconfig(8) bestie π«Ά
β HARDWARE β
the vte device driver provides support for this Ethernet controller:
- DM&P Vortex86 RDC R6040 Fast Ethernet controller
just the one. she's exclusive π
π LOADER TUNABLES π
tunables can be set at the loader(8) prompt before booting the kernel, or stored in loader.conf(5). your choice, your vibe β¨
hw.vte.tx_deep_copyβ okay so here's the tea π΅ the RDC R6040 controller has no auto-padding support for short frames, and its DMA engine does not have the capability to handle multiple buffers for a TX frame. so the driver has to create a single contiguous TX buffer. this hardware limitation leads to poor TX performance, since most of the CPU cycles get wasted on both de-fragmenting mbuf chains and padding. tragic, honestly π this tunable enables deep copy operation for TX frames, so the driver spends fewer CPU cycles on de-fragmentation β the tradeoff being extra TX buffer memory. the default value is1, which means deep copy is on. no cap π
π SYSCTL VARIABLES π
these variables are available as both sysctl(8) variables and loader(8) tunables. dual threat, we stan π«Ά
dev.vte.%d.rx_modβ maximum number of packets to fire the RX completion interrupt. accepted range is0to15, default is15.dev.vte.%d.tx_modβ maximum number of packets to fire the TX completion interrupt. accepted range is0to15, default is15.dev.vte.%d.statsβ shows the hardware MAC statistics maintained in the driver. numbers, but make it fashion π
π SEE ALSO π
altq(4), arp(4), miibus(4), netintro(4), ng_ether(4), vlan(4), ifconfig(8)
DM&P Electronics Inc. Vortex86, http://www.dmp.com.tw.
go read them, i'll wait π
π HISTORY π
the vte driver was written by Pyun YongHyeon <yongari@FreeBSD.org>. it first appeared in FreeBSD 8.3. a legend, honestly π
and that's the whole page bestie, you're officially a vte expert now, iykyk π
this lil masterpiece is from Debian, dated December 30, 2010 β vintage, but make it timeless πβ¨
mwah, go configure something. π
π¦ 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) 2010 Pyun YongHyeon
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms