STRUCT IWL_COMPRESSED_BA_NOTIF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct iwl_compressed_ba_notif(9) β€” a Kernel API Manual moment

okay bestie, so this is one of those pages from the Kernel API Manual, section 9, and it's genuinely iconic if you're into wifi firmware internals. it's giving "the firmware is texting you back to tell you what happened to your Block Ack" energy. let's get into it 🫢


✨ NAME ✨

struct iwl_compressed_ba_notif β€” notifies about reception of BA ( BA_NOTIF = 0xc5 )

like, literally the notification struct. it shows up, it's got the receipt, and it tells you how the BA went. no cap πŸ’Œ


πŸ¦‹ SYNOPSIS πŸ¦‹

struct iwl_compressed_ba_notif {
    __le32 flags;
    u8 sta_id;
    u8 reduced_txp;
    u8 tlc_rate_info;
    u8 retry_cnt;
    __le32 query_byte_cnt;
    __le16 query_frame_cnt;
    __le16 txed;
    __le16 done;
    u8 rts_retry_cnt;
    u8 reserved;
    __le32 wireless_time;
    __le32 tx_rate;
    __le16 tfd_cnt;
    __le16 ra_tid_cnt;
    union {
      struct iwl_compressed_ba_ratid  ra_tid[];
      struct iwl_compressed_ba_tfd  tfd[];
    };
   };

look at her. she's structured. she's got a union at the end. main character energy fr fr πŸ‘‘


🌸 Members 🌸

  • flags β€” the status flag, bestie. go check iwl_mvm_ba_resp_flags for the whole lore.
  • sta_id β€” the index of the recipient (BA-sending) station in the firmware's station table. that's the station's little seat number πŸͺ‘
  • reduced_txp β€” power reduced according to TPC. and listen, this is the actual value, not a copy from the LQ command. so if it wasn't the first rate that got used for Tx-ing, then FW sets this bad boy to 0. periodt πŸ’€
  • tlc_rate_info β€” TLC rate info, the initial rate index, and the TLC table color. it's giving palette ✨
  • retry_cnt β€” retry count. you already know.
  • query_byte_cnt β€” SCD query byte count.
  • query_frame_cnt β€” SCD query frame count. sibling of the one above, slay πŸŽ€
  • txed β€” number of frames sent in the aggregation (all-TIDs). the "how much did we yeet" number πŸ”₯
  • done β€” number of frames that were Acked by the BA (all-TIDs). the "how much actually landed" number βœ…
  • rts_retry_cnt β€” RTS retry count.
  • reserved β€” reserved (for alignment). she's just here so the struct lines up. filler queen but we respect her πŸ’…
  • wireless_time β€” Wireless-media time. clock it ⏰
  • tx_rate β€” the rate the aggregation was sent at. heads up: the format depends on the command version, so don't assume, okay? πŸ™ˆ
  • tfd_cnt β€” number of TFD-Q elements.
  • ra_tid_cnt β€” number of RATID-Q elements.
  • {unnamed_union} β€” anonymous. yeah, she has no name. mysterious. we love a mystery πŸ•΅οΈβ€β™€οΈ
  • ra_tid β€” array of RA-TID queue status updates. for debug purposes only ngl β€” don't build your whole life on it. see iwl_compressed_ba_ratid for more details. length lives in ra_tid_cnt.
  • tfd β€” array of TFD queue status updates. see iwl_compressed_ba_tfd for details. length lives in tfd_cnt.

πŸ’œ SEE ALSO πŸ’œ

the whole friendship group, in the kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/tx.h:

  • enum iwl_tx_flags(9)
  • enum iwl_tx_cmd_flags(9)
  • enum iwl_tx_pm_timeouts(9)
  • enum iwl_tx_cmd_sec_ctrl(9)
  • enum iwl_tx_offload_assist_flags_pos(9)
  • struct iwl_tx_cmd_v6_params(9)
  • struct iwl_tx_cmd_v6(9)
  • struct iwl_tx_cmd_v9(9)
  • struct iwl_tx_cmd(9)
  • struct agg_tx_status(9)
  • struct iwl_tx_resp_v3(9)
  • struct iwl_tx_resp(9)
  • struct iwl_mvm_ba_notif(9)
  • struct iwl_compressed_ba_tfd(9)
  • struct iwl_compressed_ba_ratid(9)
  • struct iwl_mac_beacon_cmd_v6(9)
  • struct iwl_mac_beacon_cmd_v7(9)
  • struct iwl_mac_beacon_cmd(9)
  • struct iwl_extended_beacon_notif_v5(9)
  • struct iwl_extended_beacon_notif(9)
  • enum iwl_dump_control(9)
  • struct iwl_tx_path_flush_cmd_v1(9)
  • struct iwl_tx_path_flush_cmd(9)
  • struct iwl_flush_queue_info(9)
  • struct iwl_tx_path_flush_cmd_rsp(9)
  • struct iwl_scd_txq_cfg_cmd(9)
  • struct iwl_scd_txq_cfg_rsp(9)

and that's the page, bestie 🧚 go read the whole squad, they're all linked above and they all ate πŸ’–

source: ./drivers/net/wireless/intel/i... β€” dated October 2026 β€” and yes she's still struct iwl_compressed_ba_notif(9). mwah πŸ’‹βœ¨
πŸ“¦ where this page comes from