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.