CXGB(4)

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

πŸ’– CXGB(4) β€” the cxgb manual, but make it make sense πŸ’–

okay so bestie, buckle up: this is the manual page for cxgb, and it's literally the driver for the Chelsio T3 10 Gigabit Ethernet adapter. yes. ten gigs. we love a speedy queen. 🌈


✨ NAME ✨

cxgb β€” the Chelsio T3 10 Gigabit Ethernet adapter driver. that's her. that's the whole name. iconic. πŸ‘‘


πŸŽ€ SYNOPSIS πŸŽ€

so there's two ways to get her in the car, and it depends on when you want her there.

Want it baked into the kernel? (main character energy, always loaded) β€” drop these lines into your kernel configuration file:

device firmware
device cxgb

Want it as a module at boot time? (lowkey, load-on-demand) β€” put this line in loader.conf(5):

if_cxgb_load="YES"

no cap, that's it. 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

the cxgb driver is out here doing the absolute most, and honestly? she ate. here's the whole feature list, fr fr:

  • Transmit/Receive checksum offload
  • Jumbo Frames
  • TCP segmentation offload (TSO)
  • Large Receive Offload (LRO)
  • VLAN hardware insertion / extraction
  • VLAN checksum offload

for further hardware info, the original points you at http://www.chelsio.com/ β€” go look, she's got lore. πŸ“–

got questions about hardware requirements? those live in the documentation that ships with your Chelsio T3 adapter. and heads up: all hardware requirements listed there apply to use with FreeBSD. every single one. don't skip. πŸ™ˆ


🌸 jumbo frames, explained 🌸

support for Jumbo Frames is provided via the interface MTU setting. so like, you pick an MTU larger than 1500 bytes using the ifconfig(8) utility, and that configures the adapter to receive and transmit Jumbo Frames. bestie math:

  • bigger than 1500 bytes β†’ jumbo mode activated ✨
  • maximum MTU size for Jumbo Frames is 9000 β€” that's the ceiling, don't push her πŸ’…

for more info on configuring this device, see ifconfig(8). she's the one with the answers. 🧚


πŸ”₯ HARDWARE πŸ”₯

the cxgb driver supports 10 Gigabit and 1 Gigabit Ethernet adapters based on the T3 and T3B chipset. the roster:

  • Chelsio 10GBase-CX4
  • Chelsio 10GBase-LR
  • Chelsio 10GBase-SR

three icons. all in the same friend group. ⭐


βš™οΈ LOADER TUNABLES βš™οΈ

okay so tunables can be set at the loader(8) prompt before booting the kernel, or stored in loader.conf(5).

and that's... the entire section. that's the whole vibe check. no tunables listed, no names, nothing. i'm as shook as you are. 😭


πŸ’€ DIAGNOSTICS πŸ’€

these are the messages she yells at you when things are going wrong. and ngl, all three are fatal initialization errors β€” so like, not a "try again later" situation. 🚨

  • cxgb%d: Unable to allocate bus resource: memory β€” a fatal initialization error has occurred.
  • cxgb%d: Unable to allocate bus resource: interrupt β€” a fatal initialization error has occurred.
  • cxgb%d: Could not find firmware image %s β€” the appropriate firmware kld module was not installed. this is a fatal initialization error.
bestie the third one is your reminder that device firmware in the kernel config isn't decorative. she needed that. 🫠

🫢 SUPPORT 🫢

for general information and support, go to the Chelsio support website at http://www.chelsio.com/.

and if an issue is identified with the released source code on the supported kernel with a supported adapter β€” note the very specific combination there, no guessing β€” email the specific information related to the issue to ⟨support@chelsio.com⟩. give them the deets. they want the deets. πŸ“©


πŸŽ€ SEE ALSO πŸŽ€

the whole squad. read them. iykyk. ✨


🌈 HISTORY 🌈

the cxgb device driver first appeared in FreeBSD 6.3 and FreeBSD 7.0. vintage. πŸ’œ


πŸ‘‘ AUTHORS πŸ‘‘

the cxgb driver was written by Kip Macy ⟨kmacy@FreeBSD.org⟩ with substantial support from Scott Long ⟨scottl@FreeBSD.org⟩. two legends. we stan. πŸ¦‹


okay that's the page, bestie β€” go forth and configure. and hey, this little love letter came from the Debian peeps, dated March 14, 2007, and it lives at CXGB(4) in the manual. drink water, set your MTU responsibly, mwah πŸ’…πŸ’–

πŸ“¦ where this page comes from