[net80211] add VHT node flag; parsed chanwidth.

The VHT operational element (VHTOPMODE) isn't a uint32_t - it's
the MCS sets, freq1/freq2 parameters and channel width.
So, store the channel width too in lieu of just storing the
IE struct.

This changes the VHT parameter layout in ieee80211_node but it
doesn't change ABI at all.
This commit is contained in:
Adrian Chadd 2017-01-07 01:53:27 +00:00
parent 02527029a5
commit 6d0ef1b905
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=311575

View file

@ -142,6 +142,7 @@ struct ieee80211_node {
#define IEEE80211_NODE_ASSOCID 0x020000 /* xmit requires associd */
#define IEEE80211_NODE_AMSDU_RX 0x040000 /* AMSDU rx enabled */
#define IEEE80211_NODE_AMSDU_TX 0x080000 /* AMSDU tx enabled */
#define IEEE80211_NODE_VHT 0x100000 /* VHT enabled */
uint16_t ni_associd; /* association ID */
uint16_t ni_vlan; /* vlan tag */
uint16_t ni_txpower; /* current transmit power */
@ -226,11 +227,13 @@ struct ieee80211_node {
/* VHT state */
uint32_t ni_vhtcap;
uint32_t ni_vhtinfo;
uint16_t ni_vht_basicmcs;
uint16_t ni_vht_pad2;
struct ieee80211_vht_mcs_info ni_vht_mcsinfo;
uint8_t ni_vht_chan1; /* 20/40/80/160 - VHT chan1 */
uint8_t ni_vht_chan2; /* 80+80 - VHT chan2 */
uint16_t ni_vht_pad1;
uint8_t ni_vht_chanwidth; /* IEEE80211_VHT_CHANWIDTH_ */
uint8_t ni_vht_pad1;
uint32_t ni_vht_spare[8];
/* fast-frames state */