Page MenuHomeFreeBSD

net80211: fix ff_approx_txtime() to handle VHT rates
ClosedPublic

Authored by adrian on Apr 10 2025, 8:38 PM.
Referenced Files
F160083280: D49766.diff
Sun, Jun 21, 6:07 AM
Unknown Object (File)
Thu, Jun 18, 7:52 PM
Unknown Object (File)
Sun, Jun 7, 5:46 AM
Unknown Object (File)
Fri, Jun 5, 1:43 AM
Unknown Object (File)
Thu, Jun 4, 11:00 PM
Unknown Object (File)
Thu, Jun 4, 3:48 PM
Unknown Object (File)
May 19 2026, 9:50 AM
Unknown Object (File)
May 18 2026, 6:37 PM

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 Not Applicable
Unit
Tests Not Applicable