Page MenuHomeFreeBSD

net80211: add IEEE80211_CONF_AMPDU_OFFLOAD for AMPDU[-TX] offload
AcceptedPublic

Authored by bz on Mon, Apr 14, 6:38 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Apr 19, 7:32 AM
Unknown Object (File)
Thu, Apr 17, 6:15 AM
Unknown Object (File)
Thu, Apr 17, 2:45 AM
Unknown Object (File)
Thu, Apr 17, 2:10 AM
Unknown Object (File)
Wed, Apr 16, 7:05 AM
Unknown Object (File)
Wed, Apr 16, 7:03 AM
Unknown Object (File)
Wed, Apr 16, 5:20 AM
Unknown Object (File)
Wed, Apr 16, 12:18 AM

Details

Reviewers
adrian
Group Reviewers
wireless
Summary

Drivers will set IEEE80211_FEXT_AMPDU_OFFLOAD to indicate to
net80211 that the driver or the firmware will handle AMPDU[-TX]
entirely on their own and net80211 should not do anything.

Following the IEEE80211_CONF_FRAG_OFFLOAD() example add a
IEEE80211_CONF_AMPDU_OFFLOAD() check in net80211 to handle the
condition.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 63512
Build 60396: arc lint + arc unit

Event Timeline

bz requested review of this revision.Mon, Apr 14, 6:38 PM

ah, this is to entirely bypass even tagging the frames as candidates, right?

The way I did it for other drivers was just to use an empty callback, but this is nice and clean!

This revision is now accepted and ready to land.Mon, Apr 14, 6:57 PM

oh heh don't forget FEXT_BITS!

oh heh don't forget FEXT_BITS!

YES! I thought about it and did forget it after all given I went and looked at ...

.. @thj I still wonder after checking how iwx gets around that. It seems it does need the addba callback to enable a queue and then sets the ni internals `ni->ni_tx_ampdu[tid].txa_flags = IEEE80211_AGGR_RUNNING;`.
But iwlwifi is very cranky if I even try to send an AddBA Requests. I cannot synch back TID and other information anymore. In fact I hit dead code which contained a bug back in January. It's all just done for us by fw.

Update IEEE80211_FEXT_BITS . Thanks @adrian for catching this!

This revision now requires review to proceed.Mon, Apr 14, 7:18 PM
This revision is now accepted and ready to land.Mon, Apr 14, 7:27 PM
In D49829#1136055, @bz wrote:

oh heh don't forget FEXT_BITS!

YES! I thought about it and did forget it after all given I went and looked at ...

.. @thj I still wonder after checking how iwx gets around that. It seems it does need the addba callback to enable a queue and then sets the ni internals `ni->ni_tx_ampdu[tid].txa_flags = IEEE80211_AGGR_RUNNING;`.
But iwlwifi is very cranky if I even try to send an AddBA Requests. I cannot synch back TID and other information anymore. In fact I hit dead code which contained a bug back in January. It's all just done for us by fw.

Yeah, if the firmware is handling the ADDBA exchange then we absolutely do not want to try doing it. :-)