TSEC(4)
π TSEC(4) π
okay so bestie, this is a page from the powerpc Kernel Interfaces Manual β yes we're in kernel-land today, put your hair up, we're getting into it π
π NAME π
tsec β the Freescale Three-Speed Ethernet Controller device driver. that's it, that's the name, she's an Ethernet girlie π
β¨ SYNOPSIS β¨
so if you wanna compile this driver into the kernel (not as a module, like a real one), you drop these lines into your kernel configuration file:
device tsec
device miibus
both of them, okay? don't forget miibus, she's not optional, she's the whole supporting cast π«Ά
π DESCRIPTION π
the tsec driver is what gives you support for the gigabit Ethernet controller that's built right into some of the Freescale system-on-chip devices. integrated. no PCI card, no dongle, just vibes and silicon πΈ
π¦ media types she supports
autoselectβ lets her autoselect the media type and the options. main character energy, she picks for you π10baseT/UTPβ locks it in at 10Mbps operation. slow and steady, retro icon π100baseTXβ sets 100Mbps operation. the middle child, still slaying β1000baseTβ sets 1000baseT operation. gigabit queen, no notes π
π media options she supports
full-duplexβ sets full duplex operation. talking and listening at the same time, we love a multitasker β¨
π₯ polled operation
the tsec driver also supports polled operation β but only when the system is configured with the DEVICE_POLLING kernel option. for the full tea, go read polling(4). iykyk π
πΈ vlan extended frames
she supports reception and transmission of extended frames for vlan(4). you control this capability of tsec with the vlanmtu parameter to ifconfig(8). yes, ifconfig(8). go set it, bestie π«Ά
π interrupt coalescing (IC)
okay this part is actually so cool. tsec supports interrupt coalescing (IC), which means raising a transmit/receive frame interrupt gets delayed β if possible β until either:
- a threshold-defined period of time has elapsed, or
- a threshold-defined frame counter has been reached
whichever happens first, periodt. β°
these sysctls are the ones running the whole situation:
dev.tsec.X.int_coal.rx_timedev.tsec.X.int_coal.rx_countdev.tsec.X.int_coal.tx_timedev.tsec.X.int_coal.tx_count
and here's the actual deets on the values, don't skip this part π:
a value of 0 for either time or count disables IC on the given path. a time value of 1-65535 corresponds to a real time period, expressed in units equivalent to 64 ticks of the TSEC clock. a count of 1-255 represents the number of frames β heads up, a value of 1 is equivalent to IC disabled. if you hand her values larger than she supports, they get trimmed down to the maximum supported. more details live in the reference manual of the device, if you're feeling studious π
π» HARDWARE π»
these Freescale system-on-chip devices have gigabit Ethernet controllers built in that are known to work with the tsec driver:
- MPC8349
- MPC8533, MPC8541, MPC8555
and the enhanced version of the controller (eTSEC), integrated into these devices, is also supported by this driver:
- MPC8548, MPC8572
slay, backwards and enhanced compatibility π§
π SEE ALSO π
altq(4), arp(4), miibus(4), netintro(4), ng_ether(4), polling(4), vlan(4), ifconfig(8)
go read them, they're all connected, it's giving cinematic universe π
π HISTORY π
the tsec device driver first appeared in FreeBSD 8.0. a legend was born β¨
π«Ά AUTHORS π«Ά
the base version of the tsec device driver was written by Piotr Kruszynski. it got extended with polling and interrupt coalescing support by Rafal Jaworowski. then it was further enhanced with multicast, h/w checksum calculation and vlan support by Piotr Ziecik. and this manual page was written by Rafal Jaworowski.
three icons, one driver, we stan π
ngl bestie, if you're messing with theint_coalsysctls, double-check your units before you go "why is my interrupt latency like that" β64ticks of the TSEC clock, remember, and oversized values get trimmed, no cap π
okay that's the whole page, mwah π β this cutie came from Debian, dated February 20, 2015, and it's the TSEC(4) page, so go forth and configure your Ethernet responsibly π¦βπ
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- Copyright (c) 2009 Semihalf, Rafal Jaworowski
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms