HomeFreeBSD

net80211: convert ni_txrate to a struct, with extra rate information

Description

net80211: convert ni_txrate to a struct, with extra rate information

  • create struct ieee80211_node_txrate, which represents both the existing legacy / HT rates, and makes space for VHT rates
  • convert the ieee80211_node_* routines that manipulate the txrate field to use the new format
  • return OFDM6 for now if a VHT rate is set but the driver calls ieee80211_node_get_txrate_dot11rate(). It SHOULD be the lowest available rate - which for 11b will be a CCK rate, for turbo/half/quarter will be different rates! - but this is just for development.

This should be a no-op for existing drivers and rate control, as
everything now uses the accessor functions instead of directly
accessing ni->ni_txrate.

Locally tested:

  • RTL8821AU, STA mode (5GHz VHT/40)

Differential Revision: https://reviews.freebsd.org/D48604
Reviewed by: bz, thj

Details

Provenance
adrianAuthored on Jan 12 2025, 11:58 PM
Reviewer
bz
Differential Revision
D48604: net80211: convert ni_txrate to a struct, with extra rate information
Parents
rG46de4d9fc21d: net80211: change ieee80211_ratectl_rate() to not return a rix
Branches
Unknown
Tags
Unknown