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)
Wed, Oct 8, 8:46 PM
Unknown Object (File)
Thu, Oct 2, 4:23 AM
Unknown Object (File)
Wed, Oct 1, 8:48 AM
Unknown Object (File)
Sat, Sep 20, 4:05 PM
Unknown Object (File)
Fri, Sep 19, 9:00 AM
Unknown Object (File)
Sep 9 2025, 6:05 AM
Unknown Object (File)
Sep 8 2025, 4:32 PM
Unknown Object (File)
Sep 5 2025, 6:41 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 Not Applicable
Unit
Tests Not Applicable