phy_ethtool_set_plca_cfg(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… phy_ethtool_set_plca_cfg β€” like, the PLCA config setter, bestie πŸŽ€

okay so this is from the Kernel API Manual, and honestly? it's giving "tiny function, big responsibilities" energy. sit down, grab a strawberry πŸ“, and let's get into it.


✨ NAME ✨

phy_ethtool_set_plca_cfg β€” sets the PLCA RS configuration. that's it, that's the whole vibe. short, sweet, iconic πŸ‘‘


🌸 SYNOPSIS 🌸

int phy_ethtool_set_plca_cfg (struct phy_device *phydev , const struct
       phy_plca_cfg *plca_cfg , struct netlink_ext_ack *extack );

like yes, it returns an int, and yes, it takes three args. we love a consistent signature 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • phydev β€” the phy_device struct. main character energy fr, this is the PHY we're messing with πŸ’–
  • plca_cfg β€” the new PLCA configuration you wanna apply. fresh fit, new config, slay ✨
  • extack β€” the netlink_ext_ack used for reporting useful error messages. lowkey the most underrated arg here, because when stuff goes wrong you WANT the receipts 😭

πŸ’œ DESCRIPTION πŸ’œ

So what does it actually do? it sets the PLCA configuration in the PHY. periodt. πŸ’…

It returns 0 on success β€” ate, no notes 🌈 β€” or a negative value if an error occurred, which is your sign that something went sideways ngl πŸ’€


πŸ‘‘ SEE ALSO πŸ‘‘

bestie the crossover episode is real, look at this friend group:

Kernel file ./drivers/net/phy/phy.c phy_print_status(9), phy_get_rate_matching(9), phy_config_interrupt(9), phy_restart_aneg(9), phy_aneg_done(9), phy_supported_speeds(9), phy_check_valid(9), phy_sanitize_settings(9), phy_mii_ioctl(9), phy_do_ioctl(9), phy_do_ioctl_running(9), __phy_hwtstamp_get(9), __phy_hwtstamp_set(9), phy_queue_state_machine(9), phy_trigger_machine(9), phy_ethtool_get_strings(9), phy_ethtool_get_sset_count(9), phy_ethtool_get_stats(9), __phy_ethtool_get_phy_stats(9), __phy_ethtool_get_link_ext_stats(9), phy_ethtool_get_plca_cfg(9), plca_check_valid(9), phy_ethtool_get_plca_status(9), phy_start_cable_test(9), phy_start_cable_test_tdr(9), phy_check_link_status(9), phy_inband_caps(9), phy_config_inband(9), _phy_start_aneg(9), phy_start_aneg(9), phy_speed_down(9), phy_speed_up(9), phy_start_machine(9), phy_stop_machine(9), phy_error(9), phy_write_barrier(9), phy_disable_interrupts(9), phy_interrupt(9), phy_enable_interrupts(9), phy_update_stats(9), phy_request_interrupt(9), phy_free_interrupt(9), phy_get_next_update_time(9), phy_state_machine(9), phy_stop(9), phy_start(9), phy_mac_interrupt(9), phy_loopback(9), phy_eee_tx_clock_stop_capable(9), phy_eee_rx_clock_stop(9), phy_init_eee(9), phy_get_eee_err(9), phy_ethtool_get_eee(9), phy_ethtool_set_eee_noneg(9), phy_ethtool_set_eee(9), phy_ethtool_set_wol(9), phy_ethtool_get_wol(9), phy_ethtool_nway_reset(9)

like, that's a whole friend group chat right there β€” and yes, phy_ethtool_get_plca_cfg(9) is literally the sibling function, iykyk 🧚


ngl the only warning here is the return value: 0 means slay, negative means the situation is not giving. check your extack for the deets πŸ’€

and that's the page!! brought to you by the source at ./drivers/net/phy, dated October 2026 β€” mwah, love that for us πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from