Skip to content

RFC mac80211 AP-side uAPSD support

Johannes Berg linux-wireless 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest5 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5mac80211: split PS buffers into ACsinclude/net/mac80211.h net/mac80211/debugfs_sta.c net/mac80211/sta_info.c +3 more+204 -800 replies
2/5mac80211: allow releasing driver-buffered framesinclude/net/mac80211.h net/mac80211/driver-ops.h net/mac80211/driver-trace.h +1 more+157 -180 replies
3/5mac80211: implement uAPSDdrivers/net/wireless/iwlegacy/iwl-4965-tx.c drivers/net/wireless/iwlwifi/iwl-agn-tx.c drivers/net/wireless/p54/txrx.c +6 more+201 -861 reply
4/5mac80211: reply only once to each PS-pollinclude/net/mac80211.h net/mac80211/rx.c net/mac80211/sta_info.c +2 more+22 -61 reply
5/5mac80211: allow out-of-band EOSP notificationinclude/net/mac80211.h net/mac80211/ieee80211_i.h net/mac80211/main.c +1 more+59 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC 0/5] mac80211 AP-side uAPSD support

Ok, here's a braindump in the form of patches for today.

Basically, adding uAPSD support has two difficulties:
1) we need to split the TX PS buffering into ACs
2) we need to appropriately open an SP when the peer asks for it

Both are complicated by the fact that drivers might buffer packets, e.g. ath9k on its software aggregation queues and iwlwifi on its HW queues. This warrants a separate patch in this set, but the drivers will have to follow and implement the new API properly.

Also included is another fix, and a patch to notify mac80211 about the end of the SP (EOSP) "out of band", i.e. not with a TX status notification. I don't think this will be used by ath9k since it can add the EOSP status flag to the right packet when adding the EOSP bit in the QoS header, but iwlwifi will probably need this -- I'm not quite sure yet.

Please comment!

NB: I wouldn't try to run this if I were you, unless you're interested in adding support to a driver. Since I don't have driver support for any of it yet I haven't yet tested this at all. It compiles and seems to make sense ;-)

johannes