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)
Mon, Jul 7, 4:48 PM
Unknown Object (File)
Mon, Jul 7, 1:14 PM
Unknown Object (File)
Sun, Jul 6, 3:50 PM
Unknown Object (File)
Sat, Jul 5, 1:35 PM
Unknown Object (File)
Tue, Jul 1, 10:51 PM
Unknown Object (File)
Tue, Jul 1, 7:00 PM
Unknown Object (File)
Tue, Jul 1, 1:58 AM
Unknown Object (File)
Mon, Jun 30, 3:24 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