STRUCT ETHTOOL_PAUSEPARAM(9)
πΈ 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 eitherETHTOOL_GPAUSEPARAMorETHTOOL_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
- 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