STRUCT IWL_HT_AGG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct iwl_ht_agg(9) β€” the aggregation state machine, bestie edition πŸ¦‹

okay so this is a page from the Kernel API Manual, and the star of the show is struct iwl_ht_agg β€” literally the aggregation state machine. yes it's a whole vibe. let's get into it ✨


🌸 NAME 🌸

struct iwl_ht_agg β€” aggregation state machine πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

struct iwl_ht_agg {
    u32 rate_n_flags;
    enum iwl_agg_state state;
    u16 txq_id;
    u16 ssn;
    bool wait_for_ba;
 };

no cap, that's the whole struct. keep reading for the tea on each member πŸ“


πŸ’– Members πŸ’–

  • rate_n_flags β€” the rate at which Tx was attempted, bestie. it holds the data between the Tx response (REPLY_TX) and the block ack notification (REPLY_COMPRESSED_BA). like it's literally babysitting that data in the gap πŸ‘‘
  • state β€” the state of the BA agreement establishment / tear down. that's it, that's the field 🫢
  • txq_id β€” the Tx queue used by the BA session. iykyk πŸŽ€
  • ssn β€” okay so: it's the first packet to be sent in the AGG HW queue in the Tx AGG start flow, or the first packet to be sent in the legacy HW queue in the Tx AGG stop flow. basically, when next_reclaimed reaches ssn, we can tell mac80211 that we're ready to finish the Tx AGG stop / start flow. the way that little rendezvous works?? iconic 🌟
  • wait_for_ba β€” expect block-ack before next Tx reply. simple as that, no notes πŸ’…

✨ Description ✨

this struct holds the states for the BA agreement establishment and tear down. it also holds the state during the BA session itself. and the fun part: this struct is duplicated for each RA / TID 🌈

so like, one of these per RA/TID, each holding its own little story. main character energy but make it multiplied πŸ™ˆ


πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./drivers/net/wireless/intel/iwlwifi/dvm/dev.h
  • enum iwl_agg_state(9)
  • struct iwl_tid_data(9)
  • struct iwl_hw_params(9)
  • struct iwl_dvm_bt_params(9)
  • struct iwl_dvm_cfg(9)

πŸ’œ go read those too, they're all connected, it's giving a whole cinematic universe fr fr

okay that's the page!! source is ./drivers/net/wireless/intel/i... and it's dated October 2026, and the whole thing is filed under struct iwl_ht_agg(9). mwah, love that for us πŸ˜­πŸ’– slay responsibly bestie 🧚

πŸ“¦ where this page comes from