Page MenuHomeFreeBSD

net80211: fix ff_approx_txtime() to handle VHT rates
ClosedPublic

Authored by adrian on Apr 10 2025, 8:38 PM.
Referenced Files
Unknown Object (File)
Sat, Dec 20, 2:24 PM
Unknown Object (File)
Thu, Dec 11, 1:36 PM
Unknown Object (File)
Nov 28 2025, 5:34 AM
Unknown Object (File)
Nov 28 2025, 1:55 AM
Unknown Object (File)
Nov 25 2025, 4:43 PM
Unknown Object (File)
Nov 23 2025, 8:42 AM
Unknown Object (File)
Nov 14 2025, 3:46 AM
Unknown Object (File)
Nov 9 2025, 3:12 AM

Details

Summary

The fast frames / A-MSDU aggregation code is calculating whether to
aggregate frames based on transmit time, which requires a frame length
calculation. Unfortunately this is another place where VHT rates
started showing up but weren't being handled.

This only shows up if IEEE80211_SUPPORT_SUPERG is enabled, which
isn't enabled by default (which means there's also no net80211
software driven A-MSDU assembly.)

So:

  • Fetch the rate type
  • Handle HT, LEGACY, VHT and UNDEFINED
  • default UNDEFINED to 4ms, which should avoid the FF/A-MSDU aggregation
  • default VHT to 1ms, to allow SOME possible A-MSDU aggregation where possible.

There needs to be a bit more work done on HT/VHT for doing A-MSDU
with and without A-MPDU running, as that drastically changes the
math.

Diff Detail

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