Page MenuHomeFreeBSD

net80211: change ieee80211_ratectl_rate() to not return a rix
Needs ReviewPublic

Authored by adrian on Thu, Jan 23, 2:35 AM.
Referenced Files
F109267243: D48603.diff
Sun, Feb 2, 7:55 PM
F109239929: D48603.id150160.diff
Sun, Feb 2, 11:57 AM
F109239463: D48603.id149895.diff
Sun, Feb 2, 11:47 AM
F109233024: D48603.id150145.diff
Sun, Feb 2, 9:45 AM
F109217918: D48603.id149732.diff
Sun, Feb 2, 4:58 AM
Unknown Object (File)
Wed, Jan 29, 8:41 AM
Unknown Object (File)
Tue, Jan 28, 4:22 PM
Unknown Object (File)
Tue, Jan 28, 3:49 PM

Details

Reviewers
bz
Group Reviewers
wireless
Summary

There are only a few places where the returned rix is used:

  • linuxkpi - logging
  • bwi/bwn - used for finding a fallback rate to choose, which honestly should be returned by the ratectl API
  • iwm - building the rateset to program into firmware

Everyone else uses the dot11rate value in ni->ni_txnode.

This is a precursor for VHT and later rate support; where currently
there aren't rate tables in ieee80211_phy.c for VHT and later
rates.

Although it's likely doable to add tables for VHT, 11ax and MU-OFDMA
(HE) rates are sufficiently larger/different to just not fit in the
current scheme without more refactoring.

Diff Detail

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

Event Timeline

thj added inline comments.
sys/compat/linuxkpi/common/src/linux_80211.c
5970

This cast isn't needed

sys/compat/linuxkpi/common/src/linux_80211.c
5970

I'm so used to using/building in envs where you get a warning if you don't handle the return value. :-) Lemme go make sure that doesn't happen here on all of our branches and then I'll go remove em all.

bz requested changes to this revision.Sun, Jan 26, 10:31 PM
bz added a subscriber: bz.
bz added inline comments.
sys/compat/linuxkpi/common/src/linux_80211.c
5970

remove it!

sys/dev/iwm/if_iwm.c
4579

Please declare within proper scope or pass the result from the function to the next w/o variable. A dot11rate is an uint8_t anyway

sys/net80211/ieee80211_ratectl.h
135

Cast not needed.

This revision now requires changes to proceed.Sun, Jan 26, 10:31 PM

updated, please re-review!