phylink_suspend(9)
π€ phylink_suspend(9) β like, the Kernel API Manual page, bestie π€
okay so this is phylink_suspend, straight out of the Kernel API Manual, and it's literally the "your network device is going night-night" handler. bestie, it's a whole vibe check for suspend events π
β¨ NAME β¨
phylink_suspend β handle a network device suspend event π
πΈ SYNOPSIS πΈ
void phylink_suspend (struct phylink *pl , bool mac_wol );
π¦ ARGUMENTS π¦
plβ a pointer to astruct phylinkthat came back fromphylink_create. that's your lil phylink handle, your main character π«Άmac_wolβtrueif the MAC needs to keep receiving packets for Wake-on-Lan. like, the MAC is staying up for WOL purposes, okurrr π₯
π DESCRIPTION π
Handle a network device suspend event. and ngl, there are several cases, so let's break it down like a group chat π¬
- If Wake-on-Lan is not active, we can bring down the link between the MAC and PHY by calling
phylink_stop. easy, link goes bye-bye π΄ - If Wake-on-Lan is active, and it's being handled only by the PHY, we can also bring down the link between the MAC and PHY. slay, the PHY's got it, MAC can chill π
- If Wake-on-Lan is active, but it's being handled by the MAC, then the MAC still needs to receive packets β so we can not bring the link down. nope, absolutely not, the MAC is still on duty π
β οΈ NOTE β οΈ
when phylink managed Wake-on-Lan is in use, mac_wol is ignored. periodt. (struct phylink_mac_ops.mac_set_wol populated.) π
π SEE ALSO π
Kernel file ./drivers/net/phy/phylink.c β and like, the whole phylink cinematic universe, fr fr:
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_prepare_resume(9)phylink_resume(9)phylink_ethtool_get_wol(9)phylink_ethtool_set_wol(9)phylink_ethtool_ksettings_get(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)
okay that's the whole page, you ate that π this lil manpage lives in ./drivers/net/phy and it's dated October 2026 β yes, future queen behavior πβ¨ mwah, go read the source π
π¦ 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