STRUCT IWL_MVM_BA_NOTIF(9)
π NAME π
ok so this is struct iwl_mvm_ba_notif β it's the little guy that notifies about reception of BA (BA_NOTIF = 0xc5), and bestie, we're gonna go through every single field together, no skips, no "you'll figure it out later" π«Ά
(it lives in the Kernel API Manual β that's the manual name, folding it in here so you know where you are π)
β¨ SYNOPSIS β¨
here's the whole shape of her, character for character, don't touch anything:
struct iwl_mvm_ba_notif {
u8 sta_addr[ETH_ALEN];
__le16 reserved;
u8 sta_id;
u8 tid;
__le16 seq_ctl;
__le64 bitmap;
__le16 scd_flow;
__le16 scd_ssn;
u8 txed;
u8 txed_2_done;
u8 reduced_txp;
u8 reserved1;
};
π Members π
okay field-by-field, this is the part you actually came for π
sta_addrβ the MAC address, literally just the MAC address πreservedβ reserved. that's it. that's the field. don't touch it πsta_idβ the index of the recipient (BA-sending) station inside fw's station table ποΈtidβ the tid of the session, iykyk β¨seq_ctlβ the sequence control field πbitmapβ the bitmap of the BA notification as seen in the air π¦ (yes, as seen in the air, iconic)scd_flowβ tells you which tx queue this BA relates to π¦scd_ssnβ the index of the last contiguously sent packet π¦txedβ how many Txed frames are in this batch π₯txed_2_doneβ how many Acked frames are in this batch β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 will set this value to0β (fr fr, that's the whole caveat, don't forget it)reserved1β reserved, again, respectfully leave her alone π
lowkey a bunch of these are just reserved and that's fine, not every field needs lore π
π SEE ALSO π
all her friends live in the kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/tx.h β go say hi π
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_compressed_ba_tfd(9)struct iwl_compressed_ba_ratid(9)struct iwl_compressed_ba_notif(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 whole page, bestie, you ate that π
signing off from ./drivers/net/wireless/intel/i... β dated October 2026, still serving struct iwl_mvm_ba_notif(9) realness ππ
π¦ 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