ET(4)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

πŸ’… ET(4) β€” the Agere ET1310 10/100/Gigabit Ethernet driver, bestie

okay so real talk: this is the manual page for et, and it lives in the Kernel Interfaces Manual section 4. it's giving "niche but essential," and honestly? we respect it. let's get into it πŸ¦‹


✨ NAME ✨

et β€” the Agere ET1310 10/100/Gigabit Ethernet driver. that's the whole vibe. one driver, one chip family, zero drama πŸ’–


🌸 SYNOPSIS 🌸

compiling it into the kernel (the committed relationship option)

drop these lines into your kernel configuration file:

device miibus
device et

or, like, load it as a module at boot (the situationship option)

put this line in loader.conf(5):

if_et_load="YES"

both are valid. pick your lane, queen πŸ‘‘


πŸŽ€ DESCRIPTION πŸŽ€

the et driver supports PCI Express Ethernet adapters based on the Agere ET1310 chip. that's the flex. no cap.

the et driver supports the following media types:

  • autoselect β€” turns on autoselection of the media types and options. you can manually override the autoselected mode by adding media options to the /etc/rc.conf file. main character energy: it picks for you, but you still get final say πŸ’…
  • 10baseT/UTP β€” sets 10Mbps operation. the mediaopt option can also be used to select either full-duplex or half-duplex modes.
  • 100baseTX β€” sets 100Mbps (Fast Ethernet) operation. the mediaopt option can also be used to select either full-duplex or half-duplex modes. fast, but like, mid-fast.
  • 1000baseT β€” sets 1000Mbps (Gigabit Ethernet) operation. the mediaopt option can only be set to full-duplex mode. gigabit said "half-duplex? never heard of her." πŸ’€

the et driver supports the following media options:

  • full-duplex β€” force full-duplex operation. both directions at once, iconic.
  • half-duplex β€” force half-duplex operation. one at a time, we take turns 🫢
heads up bestie: the 1000baseT media type is only available if it is supported by the adapter. so like, check before you commit. for more info on configuring this device, see ifconfig(8).

πŸ‘‘ HARDWARE πŸ‘‘

the et driver supports Agere ET1310 10/100/Gigabit Ethernet adapters. yes, that's it, that's the list. short, sweet, slay ✨


🧚 TUNABLES 🧚

these are the sysctl knobs, and honestly they're where the driver gets interesting. buckle up πŸ“

  • hw.et.rx_intr_npkts β€” this value controls how many packets should be received before a receive interrupt is generated. the default value is 32. it is recommended to set this value above 38 to prevent the host from being livelocked under a high degree of stress. livelock is NOT the vibe, so fr fr bump it up 😭
  • hw.et.rx_intr_delay β€” this value delays the generation of receive interrupts in units of ~4 microseconds. it's used together with hw.et.rx_intr_npkts to achieve RX interrupt moderation. the default value is 20. teamwork makes the dream work πŸ’œ
  • hw.et.tx_intr_nsegs β€” this value controls how many segments (not packets β€” read it again, bestie, segments) should be transmitted before a transmit interrupt is generated. the default value is 126. it is recommended to set this value below 280 to prevent the TX ring from underflowing. underflow = bad. keep it under 280 πŸ”₯
  • hw.et.timer β€” this value controls how often a timer interrupt should be generated. it's used together with hw.et.tx_intr_nsegs to achieve TX interrupt moderation. the default value is 1000000000 (nanoseconds). yes that's a billion. yes that's in nanoseconds because of course it is ⭐

🌈 SEE ALSO 🌈

altq(4), arp(4), miibus(4), netintro(4), ng_ether(4), vlan(4), ifconfig(8)

the whole friend group. go read them, iykyk πŸ’…


πŸ’– HISTORY πŸ’–

the et device driver first appeared in DragonFly 1.11. the first FreeBSD release to include it was FreeBSD 8.0. glow-up arc complete 🌸


πŸ¦‹ AUTHORS πŸ¦‹

the et driver was written by Sepherosa Ziehau <sepherosa@gmail.com> for DragonFly. it was ported to FreeBSD by Xin LI <delphij@FreeBSD.org>. absolute legends, both of them πŸ™ˆ


and that's the page, bestie πŸŽ€ this lil writeup is from the Debian package, dated December 9, 2011 β€” oldie but a goodie, still serving looks in section 4 πŸ’œβ­

πŸ“¦ where this page comes from