phylink_eth...settings_get(9)
π phylink_ethtool_ksettings_get β get the current link settings
okay bestie so this is a page from the Kernel API Manual and it's genuinely not scary, i promise π«Ά it's just one little function that reads your link settings for you. let's go β¨
πΈ NAME πΈ
phylink_ethtool_ksettings_get β get the current link settings
π SYNOPSIS π
int phylink_ethtool_ksettings_get (struct phylink *pl , struct
ethtool_link_ksettings *kset );
like, that's it. that's the whole signature. iconic π
π¦ ARGUMENTS π¦
plβ a pointer to astruct phylinkreturned fromphylink_create. yes, thatphylink_createβ you gotta get it from there, no cap, don't be out here making your own πksetβ a pointer to astruct ethtool_link_ksettingsto hold link settings. this is the lil container where the settings get dropped off. it's giving "bring your own bucket" energy π
β DESCRIPTION β
Read the current link settings for the phylink instance specified by pl. π
and here's the part that's lowkey important β the settings you get back are the link settings read from the MAC, PHY or fixed link settings, depending on the current negotiation mode. so like, where it pulls from is literally decided by whatever negotiation mode is active atm. highkey it's just "trust the function, it knows where to look" π§
π₯ SEE ALSO π₯
the whole phylink friend group showed up, and honestly? they ate π
Kernel file ./drivers/net/phy/phylink.c
struct phylink(9)phylink_set_port_modes(9)phylink_interface_max_speed(9)phylink_caps_to_link_caps(9)phylink_caps_to_linkmodes(9)phylink_limit_mac_speed(9)phylink_cap_from_speed_duplex(9)phylink_get_capabilities(9)phylink_validate_mask_caps(9)phylink_pcs_neg_mode(9)phylink_set_fixed_link(9)phylink_create(9)phylink_destroy(9)phylink_expects_phy(9)phylink_connect_phy(9)phylink_of_phy_connect(9)phylink_fwnode_phy_connect(9)phylink_disconnect_phy(9)phylink_mac_change(9)phylink_pcs_change(9)phylink_start(9)phylink_stop(9)phylink_rx_clk_stop_block(9)phylink_rx_clk_stop_unblock(9)phylink_suspend(9)phylink_prepare_resume(9)phylink_resume(9)phylink_ethtool_get_wol(9)phylink_ethtool_set_wol(9)phylink_ethtool_ksettings_set(9)phylink_ethtool_nway_reset(9)phylink_ethtool_get_pauseparam(9)phylink_ethtool_set_pauseparam(9)phylink_get_eee_err(9)phylink_ethtool_get_eee(9)phylink_ethtool_set_eee(9)phylink_mii_ioctl(9)phylink_speed_down(9)phylink_speed_up(9)phylink_decode_usxgmii_word(9)phylink_decode_usgmii_word(9)phylink_mii_c22_pcs_decode_state(9)phylink_mii_c22_pcs_get_state(9)phylink_mii_c22_pcs_encode_advertisement(9)phylink_mii_c22_pcs_config(9)phylink_mii_c22_pcs_an_restart(9)phylink_replay_link_begin(9)phylink_replay_link_end(9)
ngl that's a long list but every single one of them is a real one, go read them, i'll wait π
bye bestie!! this page lives in <code>./drivers/net/phy</code>, it's dated <b>October 2026</b>, and yeah β that header up top said phylink_eth...settings_get(9) but the real full name is phylink_ethtool_ksettings_get. 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