ixgbe_setup...r_link_82598(9)
π ixgbe_setup_copper_link_82598(9) β yes bestie, that's the Kernel API Manual, we're doing kernel networking today π«Ά
Okay so this one is a function from the Kernel API Manual, and no I will not be normal about it. It lives in the ixgbe driver (that's Intel's 82598-era 10-gig NIC family, iykyk) and it's the little guy responsible for setting up your copper link. Let's go. β¨
πΈ NAME πΈ
ixgbe_setup_copper_link_82598 β literally the function that sets the PHY autoneg advertised field. That's the whole job. Iconic of her, honestly.
π SYNOPSIS π
int ixgbe_setup_copper_link_82598 (struct ixgbe_hw *hw ,
ixgbe_link_speed speed , bool autoneg_wait_to_complete );
She returns an int, she takes three things, and yes she's that girl. π
π¦ ARGUMENTS π¦
hwβ pointer to hardware structure. Like, the hardware. The actual vibe source. Give her a real one, okay? πspeedβ new link speed. This is anixgbe_link_speed, so it's the speed you're asking for. Slay, pick one.autoneg_wait_to_completeβtrueif waiting is needed to complete. Lowkey self-explanatory but yes:truemeans wait it out, bestie. β³
π DESCRIPTION π
So what does she actually do? She sets the link speed in the AUTOC register in the MAC, and then she restarts link.
That's it. That's the whole function. Register write, link restart, main character energy, periodt.
Ngl it's a small function but it's doing real work β the AUTOC register is where the autoneg advertisement lives, so what you put in there is what the other end of the cable hears about you. π
β SEE ALSO β
Kernel file: ./drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c β that's the source, go read it if you're obsessed (I am).
And the whole 82598 friend group, in the order the manpage gave them, because we don't reorder our besties:
ixgbe_set_pcie_completion_timeout(9)ixgbe_init_phy_ops_82598(9)ixgbe_start_hw_82598(9)ixgbe_get_link_capabilities_82598(9)ixgbe_get_media_type_82598(9)ixgbe_fc_enable_82598(9)ixgbe_start_mac_link_82598(9)ixgbe_validate_link_ready(9)ixgbe_check_mac_link_82598(9)ixgbe_setup_mac_link_82598(9)ixgbe_reset_hw_82598(9)ixgbe_set_vmdq_82598(9)ixgbe_clear_vmdq_82598(9)ixgbe_set_vfta_82598(9)ixgbe_clear_vfta_82598(9)ixgbe_read_analog_reg8_82598(9)ixgbe_write_analog_reg8_82598(9)ixgbe_read_i2c_phy_82598(9)ixgbe_read_i2c_eeprom_82598(9)ixgbe_read_i2c_sff8472_82598(9)ixgbe_set_lan_id_multi_port_pcie_82598(9)ixgbe_set_rxpba_82598(9)
Twenty-two besties and every single one of them is a real function. No cap. π₯
Okay that's the page! Sign-off time: this one comes out of ./drivers/net/ethernet/intel/i... (yes, the terminal ate the rest of the path, she's mysterious like that π) and it's dated October 2026. Go set some copper links, bestie. π§π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms