ENUM ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– enum ethtool_c33_pse_ext_substate_power_not_available(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” yes that's the manual name, and yes we're doing this πŸŽ€ This whole page is about the power_not_available states functions, straight out of IEEE 802.3-2022 33.2.4.4 Variables. It's giving very niche, very specific, very slay πŸ’…


✨ NAME ✨

enum ethtool_c33_pse_ext_substate_power_not_available β€” the power_not_available states functions, fr fr. Ground truth: IEEE 802.3-2022 33.2.4.4 Variables. πŸ¦‹


🌸 SYNOPSIS 🌸

enum ethtool_c33_pse_ext_substate_power_not_available {
    ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED,
    ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET,
    ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT,
    ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT


};

like, that's the whole enum, no cap. Four members, all of them icΓ³nica πŸ‘‘


πŸ’œ Constants πŸ’œ

  • ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED β€” power budget exceeded for the controller πŸ’Έ (it simply ran out of money, metaphorically, for power)
  • ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET β€” the configured port power limit exceeded the controller power budget 😭 the port is asking for more than the controller's whole bag can hold
  • ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT β€” the power request from the PD exceeds the port limit πŸ™ˆ the device wanted more than the port was ever gonna give it
  • ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT β€” power denied due to Hardware power limit πŸ’€ like the silicon itself said "no ma'am"

πŸ¦‹ Description πŸ¦‹

okay so here's the vibe: power_not_available is a variable, and it gets asserted in an implementation-dependent manner when the PSE is no longer capable of sourcing sufficient power to support the attached PD. 🫢

and what counts as "sufficient power"? it's defined by classification β€” see 33.2.6 ✨ (iykyk). That last bit is the important part; don't @ me, @ the spec.

⚠️ quick vibe check: the manner in which this gets asserted is implementation-dependent, so it's not one-size-fits-all behaviour across implementations. Not me putting that on blast, it's literally in the description πŸ’…

πŸŽ€ SEE ALSO πŸŽ€

literally the entire extended universe, bestie. Kernel file ./include/uapi/linux/ethtool.h plus all of these icons:

  • struct ethtool_cmd(9)
  • struct ethtool_drvinfo(9)
  • struct ethtool_wolinfo(9)
  • struct ethtool_regs(9)
  • struct ethtool_eeprom(9)
  • struct ethtool_eee(9)
  • struct ethtool_modinfo(9)
  • struct ethtool_coalesce(9)
  • struct ethtool_ringparam(9)
  • struct ethtool_channels(9)
  • struct ethtool_pauseparam(9)
  • enum ethtool_stringset(9)
  • enum ethtool_mac_stats_src(9)
  • enum ethtool_module_power_mode_policy(9)
  • enum ethtool_module_power_mode(9)
  • enum ethtool_c33_pse_ext_state(9)
  • enum ethtool_c33_pse_ext_substate_mr_mps_valid(9)
  • enum ethtool_c33_pse_ext_substate_error_condition(9)
  • enum ethtool_c33_pse_ext_substate_mr_pse_enable(9)
  • enum ethtool_c33_pse_ext_substate_option_detect_ted(9)
  • enum ethtool_c33_pse_ext_substate_option_vport_lim(9)
  • enum ethtool_c33_pse_ext_substate_ovld_detected(9)
  • enum ethtool_c33_pse_ext_substate_short_detected(9)
  • enum ethtool_pse_types(9)
  • enum ethtool_c33_pse_admin_state(9)
  • enum ethtool_c33_pse_pw_d_status(9)
  • enum ethtool_podl_pse_admin_state(9)
  • enum ethtool_podl_pse_pw_d_status(9)
  • enum ethtool_mm_verify_status(9)
  • enum ethtool_module_fw_flash_status(9)
  • struct ethtool_gstrings(9)
  • struct ethtool_sset_info(9)
  • enum ethtool_test_flags(9)
  • struct ethtool_test(9)
  • struct ethtool_stats(9)
  • struct ethtool_perm_addr(9)
  • struct ethtool_tcpip4_spec(9)
  • struct ethtool_ah_espip4_spec(9)
  • struct ethtool_usrip4_spec(9)
  • struct ethtool_tcpip6_spec(9)
  • struct ethtool_ah_espip6_spec(9)
  • struct ethtool_usrip6_spec(9)
  • struct ethtool_flow_ext(9)
  • struct ethtool_rx_flow_spec(9)
  • struct ethtool_rxnfc(9)
  • struct ethtool_rxfh_indir(9)
  • struct ethtool_rxfh(9)
  • struct ethtool_rx_ntuple_flow_spec(9)
  • struct ethtool_rx_ntuple(9)
  • struct ethtool_dump(9)
  • struct ethtool_get_features_block(9)
  • struct ethtool_gfeatures(9)
  • struct ethtool_set_features_block(9)
  • struct ethtool_sfeatures(9)
  • struct ethtool_ts_info(9)
  • struct ethtool_per_queue_op(9)
  • struct ethtool_fecparam(9)
  • enum ethtool_fec_config_bits(9)
  • struct ethtool_link_settings(9)
  • enum phy_upstream(9)

and that's the whole page, bestie, we ate and left no crumbs πŸ“

signing off from ./include/uapi/linux, dated October 2026 β€” this came from the Kernel API Manual, and honestly? iconic. πŸ’–βœ¨πŸ‘‘

πŸ“¦ where this page comes from