Page MenuHomeFreeBSD

net80211: add IEEE80211_IS_QOS_NULL()
ClosedPublic

Authored by adrian on Sun, Nov 17, 6:09 AM.
Referenced Files
F103141195: D47645.id.diff
Thu, Nov 21, 1:30 PM
Unknown Object (File)
Wed, Nov 20, 9:04 AM
Unknown Object (File)
Wed, Nov 20, 1:37 AM
Unknown Object (File)
Tue, Nov 19, 12:55 PM
Unknown Object (File)
Tue, Nov 19, 11:24 AM
Unknown Object (File)
Tue, Nov 19, 5:07 AM
Unknown Object (File)
Tue, Nov 19, 4:53 AM
Unknown Object (File)
Tue, Nov 19, 2:49 AM

Details

Reviewers
None
Group Reviewers
wireless
Commits
rG1375790a15b1: net80211: add IEEE80211_IS_QOS_NULL()
Summary

This will be useful when fixing up the sequence number generation
and checks, as the rules around how sequence numbers are generated
have been clarified in 802.11-2016 and later. QoS-NULL frames are
explicitly marked as "any sequence number".

But for now, just create a macro and use it in the one place
it's currently being used as a check - ath(4).

  • Add IEEE80211_IS_QOS_NULL()
  • Change the "will this frame go into the TX block-ack window" check in the ath(4) transmit path.

Locally tested:

  • ath(4), AR9380, STA mode w/ AMPDU TX/RX enabled and negotiated

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 60640
Build 57524: arc lint + arc unit

Event Timeline

The commit message sounds like this is a NFC but IEEE80211_FC0_VERSION_MASK and `IEEE80211_FC0_TYPE_MASK are now being checked where they were not before? I think this should be clarified in the commit message.

The commit message sounds like this is a NFC but IEEE80211_FC0_VERSION_MASK and `IEEE80211_FC0_TYPE_MASK are now being checked where they were not before? I think this should be clarified in the commit message.

good call, lemme go edit that.

bz added inline comments.
sys/dev/ath/if_ath_tx.c
2993

Can we move this into the DPRINTF at the end and remove the local variable "subtype" entirely? If I am not wrong we are not adjusting tha part of wh so should be possible?

sys/net80211/ieee80211.h
278

Funny enough I missed this. It does not actually return anything given it's not a function. "Evaluate to true". You also don't really need those comments given the macros are IS QOS_NULL is more or less self-explanatory. Could at least condense them to a single line comment. But you could also just ignore me on this one ;-)

sys/dev/ath/if_ath_tx.c
2993

Yeah, lemme look at how else I can clean this up.

I think we'd also benefit from a couple of macros to fetch the type and subtype, and also set the type and subtype. What do you think?

sys/net80211/ieee80211.h
278

ah good call on condensing to one line. And yeah, "returns true" is a stretch, I know. :-) Lemme go clean that up.

update commit message, from emaste

This revision was not accepted when it landed; it landed in state Needs Review.Tue, Nov 19, 4:54 AM
This revision was automatically updated to reflect the committed changes.