ethtool_link...dd_link_mode(9)
π ethtool_link...dd_link_mode(9) πΈ
okay so first things first, the name of this page is ethtool_link...dd_link_mode(9) and it lives in the Kernel API Manual β yes the title looks like it got cut off mid-sentence, no that's not a typo on my end, that's literally just how it's printed. moving on bestie π«Ά
β¨ NAME β¨
ethtool_link_ksettings_add_link_mode β sets a bit in the link_ksettings link mode mask. that's it. that's the whole job. she's a one-task icon π
π¦ SYNOPSIS π¦
ethtool_link_ksettings_add_link_mode (ptr , name , mode );
literally just three little guys going in. look at them. so brave π₯Ή
π ARGUMENTS π
ptrβ your pointer tostruct ethtool_link_ksettings. yeah. that one. the big one. she's the main character here πnameβ must be one ofsupported/advertising/lp_advertising. those three, bestie, pick one. not a fourth thing, i'm begging πmodeβ one of theETHTOOL_LINK_MODE_*_BITvalues. and now for the vibe check:
β οΈ not atomic, no bound checking β οΈ likeβ¦ ma'am. this is the "no seatbelt, no airbags, vibes only" of kernel functions π nobody is gonna catch you if you mess this up. it's not atomic and it will NOT check your bounds. you are on your own, gorgeous. proceed with intention. π₯
π SEE ALSO π
the whole extended friend group, and yes i mean the whole group chat, they all live in the kernel file ./include/linux/ethtool.h:
- enum
ethtool_phys_id_state(9) - struct
kernel_ethtool_ringparam(9) - enum
ethtool_supported_ring_param(9) ethtool_rxfh_indir_default(9)- struct
ethtool_rxfh_context(9) ethtool_link_ksettings_zero_link_mode(9)ethtool_link_ksettings_del_link_mode(9)ethtool_link_ksettings_test_link_mode(9)ethtool_intersect_link_masks(9)- struct
ethtool_phy_stats(9) - struct
ethtool_pause_stats(9) - struct
ethtool_fec_hist_range(9) - struct
ethtool_fec_stats(9) - struct
ethtool_rmon_hist_range(9) - struct
ethtool_rmon_stats(9) - struct
ethtool_ts_stats(9) - struct
ethtool_module_eeprom(9) - struct
ethtool_module_power_mode_params(9) - struct
ethtool_mm_state(9) - struct
ethtool_mm_cfg(9) - struct
ethtool_mm_stats(9) - struct
ethtool_mmsv_ops(9) - struct
ethtool_mmsv(9) - struct
ethtool_rxfh_param(9) - struct
ethtool_rxfh_fields(9) - struct
kernel_ethtool_ts_info(9) - struct
ethtool_ops(9) - struct
ethtool_netdev_state(9) - struct
ethtool_phy_ops(9) ethtool_set_ethtool_phy_ops(9)ethtool_params_from_link_mode(9)ethtool_get_phc_vclocks(9)ethtool_mm_frag_size_add_to_min(9)ethtool_mm_frag_size_min_to_add(9)ethtool_get_ts_info_by_layer(9)ethtool_sprintf(9)ethtool_puts(9)ethtool_cpy(9)
(this page is like the most social member of the family, she knows everyone iykyk π)
and that's the whole page!! mwah π
cute little sign-off for the record: this one's sourced from ./include/linux and dated October 2026 β so yes, we're reading kernel docs from the future, and honestly? slay. βππ
π¦ 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