e1000e_force_mac_fc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– e1000e_force_mac_fc(9) β€” Kernel API Manual πŸ’–

okay so bestie, welcome to the <cyan>e1000e_force_mac_fc(9)</cyan> page, straight out of the Kernel API Manual ✨ this one's a little function with big main-character energy, and honestly? she's giving "i set two bits and the whole link behaves". let's get into it πŸŽ€


✨ NAME ✨

e1000e_force_mac_fc β€” literally forces the MAC's flow control settings. that's the whole job. no cap πŸ’…


🌸 SYNOPSIS 🌸

s32 e1000e_force_mac_fc (struct e1000_hw *hw );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • hw β€” pointer to the HW structure. yeah, the classic. hand her the hardware struct and she'll do her thing 🫢

πŸ”₯ DESCRIPTION πŸ”₯

so what's she actually doing? forcing the MAC's flow control settings, obviously πŸ’β€β™€οΈ she sets the TFCE and RFCE bits in the device control register so they reflect the adapter settings β€” like, the bits have to match the adapter, that's the vibe check.

now here's the part where you gotta pay attention, bestie πŸ‘€ TFCE and RFCE need to be explicitly set by software when a copper PHY is used. why? because autonegotiation is managed by the PHY rather than the MAC β€” the MAC isn't handling it, so nobody's setting those bits for you. it's giving "do it yourself or it doesn't happen" 😭

and that's not the only case! software must also configure these bits when link is forced on a fiber connection. so: copper PHY β†’ you set 'em. forced link on fiber β†’ you set 'em too. write that down πŸ“


πŸ‘‘ SEE ALSO πŸ‘‘

okay the extended fam is LONG and honestly iconic for it πŸ’œ first up, the kernel file:

  • Kernel file ./drivers/net/ethernet/intel/e1000e/mac.c

and now the whole group chat 🌈:

like i said. huge fam. we love them all πŸ“


lowkey a reminder: those TFCE and RFCE bits don't set themselves on copper PHY setups or forced fiber links β€” software has to do it. don't leave her hanging πŸ™ˆ

✨ and that's the page, bestie ✨ this cutie came from ./drivers/net/ethernet/intel/e... and the date stamp is October 2026 β€” that's the source and the version, mentioned here at the very end instead of copied as a boring footer line, because we're doing cute sign-offs now πŸŽ€πŸ’… mwah, go set those bits πŸ’œ

πŸ“¦ where this page comes from