STRUCT IWL_STATISTICS_HE_NTFY(9)
π NAME π
struct iwl_statistics_he_ntfy β the HE statistics struct, bestie. It's the Kernel API Manual's take on it, and yes we're getting into all of it β¨
πΈ SYNOPSIS πΈ
struct iwl_statistics_he_ntfy {
struct iwl_statistics_ntfy_hdr hdr;
__le32 rx_siga_valid_cnt;
__le32 rx_siga_invalid_cnt;
__le32 rx_trig_based_frame_cnt;
__le32 rx_su_frame_cnt;
__le32 rx_sigb_invalid_cnt;
__le32 rx_our_bss_color_cnt;
__le32 rx_other_bss_color_cnt;
__le32 rx_zero_bss_color_cnt;
__le32 rx_mu_for_us_cnt;
__le32 rx_mu_not_for_us_cnt;
__le32 rx_mu_nss_ar[2];
__le32 rx_mu_mimo_cnt;
__le32 rx_mu_ru_bw_ar[7];
__le32 rx_trig_for_us_cnt;
__le32 rx_trig_not_for_us_cnt;
__le32 rx_trig_with_cs_req_cnt;
__le32 rx_trig_type_ar[8 + 1];
__le32 rx_trig_in_agg_cnt;
__le32 rx_basic_trig_alloc_nss_ar[2];
__le32 rx_basic_trig_alloc_mu_mimo_cnt;
__le32 rx_basic_trig_alloc_ru_bw_ar[7];
__le32 rx_basic_trig_total_byte_cnt;
__le32 tx_trig_based_cs_req_fail_cnt;
__le32 tx_trig_based_sifs_ok_cnt;
__le32 tx_trig_based_sifs_fail_cnt;
__le32 tx_trig_based_byte_cnt;
__le32 tx_trig_based_pad_byte_cnt;
__le32 tx_trig_based_frame_cnt;
__le32 tx_trig_based_acked_frame_cnt;
__le32 tx_trig_based_ack_timeout_cnt;
__le32 tx_su_frame_cnt;
__le32 tx_edca_to_mu_edca_cnt;
__le32 tx_mu_edca_to_edca_by_timeout_cnt;
__le32 tx_mu_edca_to_edca_by_ack_fail_cnt;
__le32 tx_mu_edca_to_edca_by_small_alloc_cnt;
__le32 reserved;
};
π Members π
Okay so it's a whole vibe of __le32 counters, one hdr, and a reserved at the end for luck. Let's go down the list, no skipping, fr fr π«Ά
hdrβ the general statistics header received HE frames. It's giving "main character" energy, the header all the rest live under.rx_siga_valid_cntβ rx HE SIG-A valid.rx_siga_invalid_cntβ rx HE SIG-A invalid received HE frames w/ valid Sig-A.rx_trig_based_frame_cntβ rx HE-TB (trig-based).rx_su_frame_cntβ rx HE-SU.rx_sigb_invalid_cntβ rx (suspected) HE-MU w/ bad SIG-B.rx_our_bss_color_cntβ rx valid HE SIG-A w/ our BSS color.rx_other_bss_color_cntβ rx valid HE SIG-A w/ other BSS color.rx_zero_bss_color_cntβ???received HE-MU frames w/ good Sig-B. (Yes the???is literally in there π)rx_mu_for_us_cntβ match AID.rx_mu_not_for_us_cntβ no matched AID received HE-MU frames for us (w/ our AID).rx_mu_nss_arβ0- SISO,1- MIMO2.rx_mu_mimo_cntβ full BW RU, compressed SIG-B.rx_mu_ru_bw_arβ MU alloc, MHz:0- 2,1- 5,2- 10,3- 20,4- 40,5- 80,6- 160 received trigger frames.rx_trig_for_us_cntβ???rx_trig_not_for_us_cntβ???trigger for us.rx_trig_with_cs_req_cntβ???rx_trig_type_arβ???rx_trig_in_agg_cntβ???basic trigger for us allocations.rx_basic_trig_alloc_nss_arβ???rx_basic_trig_alloc_mu_mimo_cntβ???rx_basic_trig_alloc_ru_bw_arβ???rx_basic_trig_total_byte_cntβ???trig-based TX.tx_trig_based_cs_req_fail_cntβ???tx_trig_based_sifs_ok_cntβ???tx_trig_based_sifs_fail_cntβ???tx_trig_based_byte_cntβ???tx_trig_based_pad_byte_cntβ???tx_trig_based_frame_cntβ???tx_trig_based_acked_frame_cntβ???tx_trig_based_ack_timeout_cntβ???HE-SU TX.tx_su_frame_cntβ???EDCA <--> MU-EDCA transitions.tx_edca_to_mu_edca_cntβ???tx_mu_edca_to_edca_by_timeout_cntβ???tx_mu_edca_to_edca_by_ack_fail_cntβ???tx_mu_edca_to_edca_by_small_alloc_cntβ???reservedβ reserved. (The moment of silence at the end, we respect it π)
ngl bestie, those ??? are straight from the source β the docs literally shrug at us there. Don't come for me, come for the kernel devs π
π¦ SEE ALSO π¦
Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/stats.h and its whole friend group β our struct is not solo, it's a group chat:
struct mvm_statistics_rx_non_phy(9)struct mvm_statistics_load(9)enum iwl_statistics_notif_flags(9)enum iwl_statistics_cmd_flags(9)struct iwl_statistics_cmd(9)enum iwl_statistics_notify_type_id(9)enum iwl_statistics_cfg_flags(9)struct iwl_system_statistics_cmd(9)enum iwl_fw_statistics_type(9)struct iwl_statistics_ntfy_hdr(9)struct iwl_stats_ntfy_per_link(9)struct iwl_stats_ntfy_part1_per_link(9)struct iwl_stats_ntfy_per_mac(9)struct iwl_stats_ntfy_per_phy_v1(9)struct iwl_stats_ntfy_coex(9)struct iwl_stats_ntfy_per_phy(9)struct iwl_stats_ntfy_per_sta(9)struct iwl_system_statistics_notif_oper_v3(9)struct iwl_system_statistics_notif_oper(9)struct iwl_system_statistics_part1_notif_oper(9)struct iwl_system_statistics_end_notif(9)struct iwl_statistics_operational_ntfy(9)struct iwl_statistics_operational_ntfy_ver_14(9)struct iwl_statistics_phy_ntfy(9)struct iwl_statistics_mac_ntfy(9)struct iwl_statistics_rx_ntfy(9)struct iwl_statistics_tx_ntfy(9)struct iwl_statistics_duration_ntfy(9)
Okay that's the whole page, mwah π This little icon came from ./drivers/net/wireless/intel/i..., dated October 2026, and it lives its best life filed under struct iwl_...tics_he_ntfy(9). Go read the source, drink some water, slay β¨ππ«Ά
π¦ 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