STRUCT ETHTOOL_PAUSEPARAM(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

okay bestie, welcome to the Kernel API Manual page for struct ethtool_pauseparam(9) β€” the Ethernet pause (flow control) parameters struct. tiny struct, huge "please chill with the flooding" energy ✨


✨ SYNOPSIS ✨

she's built like this, fr fr:

struct ethtool_pauseparam {
    __u32 cmd;
    __u32 autoneg;
    __u32 rx_pause;
    __u32 tx_pause;
};

🧸 Members 🧸

  • cmd β€” the command number, and it's either ETHTOOL_GPAUSEPARAM or ETHTOOL_SPAUSEPARAM. pick your fighter πŸ’…
  • autoneg β€” flag to enable autonegotiation of pause frame use. she negotiates ✨
  • rx_pause β€” flag to enable reception of pause frames. yes bestie, receiving the chill signal 🫢
  • tx_pause β€” flag to enable transmission of pause frames. sending the chill signal right back πŸ’Œ

πŸ’¬ Description πŸ’¬

Rule one, no cap: drivers should reject a non-zero setting of autoneg when autoneogotiation is disabled (or not supported) for the link. and yes, the page literally spells it autoneogotiation β€” iconic typo behavior, but the meaning is autonegotiation πŸ’€

If the link is autonegotiated, drivers should use mii_advertise_flowctrl or similar code to set the advertised pause frame capabilities based on the rx_pause and tx_pause flags, even if autoneg is zero. They should also allow the advertised pause frame capabilities to be controlled directly through the advertising field of struct ethtool_cmd. that's the assignment, bestie πŸŽ€

If autoneg is non-zero, the MAC is configured to send and/or receive pause frames according to the result of autonegotiation. Otherwise, it is configured directly based on the rx_pause and tx_pause flags. periodt 🌈


πŸ‘€ SEE ALSO πŸ‘€

the extended universe starts in the kernel file ./include/uapi/linux/ethtool.h, and here's every cross-reference, bestie β€” no skips, no crumbs:

  • 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)
  • 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_power_not_available(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)

mwah πŸ’‹ that's the page, bestie β€” from ./include/uapi/linux, October 2026, for struct ethtool_pauseparam(9). slay and stay flow-controlled 🫢

πŸ“¦ where this page comes from