t3_link_changed(9)
π t3_link_changed β handle interface link changes
okay so bestie, quick vibe check first: this is a Kernel API Manual page, section 9, and the function in the spotlight is t3_link_changed. Yes, the whole page is literally named after it. Main character energy fr fr π
β¨ SYNOPSIS β¨
void t3_link_changed (struct adapter *adapter , int port_id );
that's it. that's the whole signature. two args, returns nothing, absolute icon behavior π
πΈ ARGUMENTS πΈ
adapterβ the adapter π that's it, that's the whole description, she's lowkey mysteriousport_idβ the port index that changed link state. like, which port is having a moment rn π¦
π« DESCRIPTION π«
So picture this: a port's link settings just changed. The universe shifted. And t3_link_changed is the function that gets called to propagate the new values to the associated PHY and MAC β¨ like she's the group chat admin forwarding the update to everyone who needs to know.
And after she's done performing the common tasks? She doesn't gatekeep β she invokes an OS-specific handler so the OS can do its own little thing ππ«Ά
ngl that's the whole description. short, sweet, does exactly what it says on the tin. periodt π
π₯ SEE ALSO π₯
first of all, the kernel file this lives in, because you know you're gonna want to go read it:
Kernel file ./drivers/net/ethernet/chelsio/cxgb3/t3_hw.c
and nowβ¦ the friend group π there are 59 of them and I'm listing every single one because I would never do them dirty like that:
t3_wait_op_done_val(9), t3_write_regs(9), t3_set_reg_field(9), t3_read_indirect(9), t3_mc7_bd_read(9), t3_mdio_change_bits(9), t3_phy_reset(9), t3_phy_advertise(9), t3_phy_advertise_fiber(9), t3_set_phy_speed_duplex(9), t3_seeprom_wp(9), get_vpd_params(9), sf1_read(9), sf1_write(9), flash_wait_op(9), t3_read_flash(9), t3_write_flash(9), t3_get_tp_version(9), t3_check_tpsram_version(9), t3_check_tpsram(9), t3_get_fw_version(9), t3_check_fw_version(9), t3_flash_erase_sectors(9), t3_load_fw(9), t3_cim_ctl_blk_read(9), t3_link_start(9), t3_set_vlan_accel(9), t3_handle_intr_status(9), t3_intr_enable(9), t3_intr_disable(9), t3_intr_clear(9), t3_port_intr_enable(9), t3_port_intr_disable(9), t3_port_intr_clear(9), t3_sge_write_context(9), clear_sge_ctxt(9), t3_sge_init_ecntxt(9), t3_sge_init_flcntxt(9), t3_sge_init_rspcntxt(9), t3_sge_init_cqcntxt(9), t3_sge_enable_ecntxt(9), t3_sge_disable_fl(9), t3_sge_disable_rspcntxt(9), t3_sge_disable_cqcntxt(9), t3_sge_cqcntxt_op(9), t3_config_rss(9), t3_tp_set_offload_mode(9), pm_num_pages(9), partition_mem(9), tp_set_timers(9), t3_tp_set_coalescing_size(9), t3_tp_set_max_rxsize(9), t3_load_mtus(9), t3_tp_get_mib_stats(9), t3_set_proto_sram(9), t3_config_sched(9), get_pci_mode(9), init_link_config(9), mc7_calc_size(9)
obsessed with how long that list is, honestly. ate and left no crumbs π
okay that's the page!! mwah π and for the cute sign-off: this gem came out of ./drivers/net/ethernet/chelsio... (yes the source path is literally truncated in the footer, I don't make the rules π) and it's dated October 2026. see u in the kernel, 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