RX A-MPDU AGGREGATION(9)
π RX A-MPDU aggregation π
okay bestie, welcome to the Kernel API Manual β¨ this one's short and sweet β it's all about the RX side of A-MPDU aggregation, and honestly? it's giving main character simplicity π
β¨ DESCRIPTION β¨
so here's the vibe: aggregation on the RX side only needs one thing from you β implement the ampdu_action callback. that's it. that callback is what gets invoked to start and stop any block-ack sessions for RX aggregation. one callback, all the drama, periodt π
when RX aggregation gets started by the peer, the driver gets notified through the ampdu_action function, with the IEEE80211_AMPDU_RX_START action π¦ and listen β you're allowed to reject that request. if you do, a negative response gets sent to the peer. if you accept it, a positive response goes out instead. your call, no cap π
while the session is active, the device/driver are required to de-aggregate frames and pass them up one by one to mac80211 β mac80211 is the one handling the reorder buffer, so don't worry about that part, that's its job π«Ά
and when the aggregation session gets stopped again β by the peer or by ourselves β the driver's ampdu_action function gets called with the action IEEE80211_AMPDU_RX_STOP πΈ
β οΈ ok this part matters, lowkey: in this case, the call must not fail. like, it literally cannot fail. just. don't fail. π
π SEE ALSO π
- Kernel file
./net/mac80211/agg-rx.cπ
and that's the whole page, bestie, iconic brevity tbh π this lil gem came from ./net/mac80211, dated October 2026 β go forth and aggregate responsibly π§ββοΈβ
π¦ 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