HomeFreeBSD

[net80211] Initial VHT node upgrade/downgrade support and initial IE parsing.

Description

[net80211] Initial VHT node upgrade/downgrade support and initial IE parsing.

This is the bulk of the magic to start enabling VHT channel negotiation.
It is absolutely, positively not yet even a complete VHT wave-1 implementation.

  • parse IEs in scan, assoc req/resp, probe req/resp;
  • break apart the channel upgrade from the HT IE parsing - do it after the VHT IEs are parsed;
  • (dirty! sigh) add channel width decision making in ieee80211_ht.c htinfo_update_chw(). This is the main bit where negotiated channel promotion through IEs occur.
  • Shoehorn in VHT node init ,teardown, rate control, etc calls like the HT versions;
  • Do VHT channel adjustment where appropriate

Tested:

  • monitor mode, ath10k port
  • STA mode, ath10k port - VHT20, VHT40, VHT80 modes

TODO:

  • IBSS;
  • hostap;
  • (ignore mesh, wds for now);
  • finish 11n state engine - channel width change, opmode notifications, SMPS, etc;
  • VHT basic rate negotiation and acceptance criteria when scanning, associating, etc;
  • VHT control/management frame handling (group managment and operating mode being the two big ones);
  • Verify TX/RX VHT rate negotiation is actually working correctly.

Whilst here, add some comments about seqno allocation and locking. To achieve
the full VHT rates I need to push seqno allocation into the drivers and
finally remove the IEEE80211_TX_LOCK() I added years ago to fix issues. :/

Details

Provenance
adrianAuthored on Jan 13 2017, 7:02 AM
Parents
rG67f4aa3878ef: [net80211] initial, somewhat incomplete VHT channel setup code and attach path.
Branches
Unknown
Tags
Unknown