STRUCT IEEE80211_STA_AGGREGATES(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct ieee80211_sta_aggregates β€” NAME πŸŽ€

okay so this is a Kernel API Manual page about struct ieee80211_sta_aggregates β€” literally the little bundle of info that is aggregated from active links. that's the whole vibe. bestie, it's giving "one struct to hold the per-link tea." ✨


🌸 SYNOPSIS 🌸

struct ieee80211_sta_aggregates {
    u16 max_amsdu_len;
    u16 max_rc_amsdu_len;
    u16 max_tid_amsdu_len[IEEE80211_NUM_TIDS];
 };

no cap, that's the whole struct. three fields. immaculate. 🫢


✨ Members ✨

πŸ’… max_amsdu_len

indicates the maximal length of an A-MSDU in bytes. this field is always valid for packets with a VHT preamble β€” like, always, no notes. for packets with a HT preamble tho, additional limits apply (scroll down babe, they're right there πŸ‘€).

πŸ¦‹ max_rc_amsdu_len

Maximum A-MSDU size in bytes recommended by rate control. that's it, that's the field. rate control's little suggestion box. πŸ’Œ

πŸŽ€ max_tid_amsdu_len

Maximum A-MSDU size in bytes for this TID. per-TID sizing, because of course it's per-TID. iykyk.


πŸ”₯ Description πŸ”₯

so this whole struct is Used for any per-link data that needs to be aggregated and updated in the main struct ieee80211_sta when updated or the active links change. like, it's the aggregate-inator. whenever the links shift or something updates, this is the data that gets collected up and pushed into the main struct ieee80211_sta. periodt.

and then there's the two additional HT limits, which are the important bit so pay attention:

  • If the skb is transmitted as part of a BA agreement, the A-MSDU maximal size is min(max_amsdu_len, 4065) bytes. πŸ“
  • If the skb is not part of a BA agreement, the A-MSDU maximal size is min(max_amsdu_len, 7935) bytes. πŸ’€
Both additional HT limits must be enforced by the low level driver. not "should", not "maybe", must. lowkey this is a hard requirement, bestie. this is defined by the spec (IEEE 802.11-2012 section 8.3.2.2 NOTE 2). so like, cite it in your PR. πŸ‘‘

🌈 SEE ALSO 🌈

bestie, take a breath, this list is long and it ate. πŸ’…

Kernel file ./include/net/mac80211.h


and that's the page! 🧚 slay. before u go: this was struct ieee80211_sta_aggregates(9) from the Kernel API Manual, living in ./include/net, dated October 2026 β€” go read it, it's iconic, mwah πŸ’œπŸŽ€βœ¨

πŸ“¦ where this page comes from