STRUCT ETHTOOL_NETDEV_STATE(9)
π struct ethtool_netdev_state(9) β a Kernel API Manual moment
okay so bestie, welcome to the glow-up era of your kernel's ethtool state β¨ this is the page for struct ethtool_netdev_state, which is literally the per-netdevice state for ethtool features. like, every netdevice gets its own lil vibe check locker π and this struct is what's inside it.
β¨ NAME β¨
struct ethtool_netdev_state β per-netdevice state for ethtool features π«Ά
πΈ SYNOPSIS πΈ
struct ethtool_netdev_state {
struct xarray rss_ctx;
struct mutex rss_lock;
u32 rss_indir_user_size;
unsigned phys_id_busy:1;
unsigned wol_enabled:1;
unsigned module_fw_flash_in_progress:1;
};
π Members π (yes, the members are the main characters here)
rss_ctxβ anXArrayof custom RSS contexts. it's giving "collection of situations" πrss_lockβ this is the bouncer that protects the entries inrss_ctx. and hear me out: it may be taken from within RTNL. iykyk, that's a whole thing π₯rss_indir_user_sizeβ the number of user provided entries for the default (context0) indirection table. like, the count of things the user actually brought to the party πphys_id_busyβ the loop blinking the device LED is running. yes, the physical-identification light show is live, periodt πβwol_enabledβ Wake-on-LAN is enabled. your NIC can be summoned from across the network, iconic πmodule_fw_flash_in_progressβ module firmware flashing is in progress. do NOT touch anything, this is a moment ππ
π¦ SEE ALSO π¦
bestie, the cross-reference list is long, and not me about to list every single one because we do not skip entries in this house π«Ά
- Kernel file
./include/linux/ethtool.h enum ethtool_phys_id_state(9)struct kernel_ethtool_ringparam(9)enum ethtool_supported_ring_param(9)ethtool_rxfh_indir_default(9)struct ethtool_rxfh_context(9)ethtool_link_ksettings_zero_link_mode(9)ethtool_link_ksettings_add_link_mode(9)ethtool_link_ksettings_del_link_mode(9)ethtool_link_ksettings_test_link_mode(9)ethtool_intersect_link_masks(9)struct ethtool_phy_stats(9)struct ethtool_pause_stats(9)struct ethtool_fec_hist_range(9)struct ethtool_fec_stats(9)struct ethtool_rmon_hist_range(9)struct ethtool_rmon_stats(9)struct ethtool_ts_stats(9)struct ethtool_module_eeprom(9)struct ethtool_module_power_mode_params(9)struct ethtool_mm_state(9)struct ethtool_mm_cfg(9)struct ethtool_mm_stats(9)struct ethtool_mmsv_ops(9)struct ethtool_mmsv(9)struct ethtool_rxfh_param(9)struct ethtool_rxfh_fields(9)struct kernel_ethtool_ts_info(9)struct ethtool_ops(9)struct ethtool_phy_ops(9)ethtool_set_ethtool_phy_ops(9)ethtool_params_from_link_mode(9)ethtool_get_phc_vclocks(9)ethtool_mm_frag_size_add_to_min(9)ethtool_mm_frag_size_min_to_add(9)ethtool_get_ts_info_by_layer(9)ethtool_sprintf(9)ethtool_puts(9)ethtool_cpy(9)
ok that's the whole page, no cap π go read the other ethtool ones next, they're lowkey obsessed with each other.
and that's the wrap bestie π«Ά this lil beauty lives in ./include/linux and dropped October 2026 β star it, screenshot it, send it to the group chat πΈβ¨
π¦ 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