From 6d0ef1b905b798c5ac4992dd77788386aa01ebcc Mon Sep 17 00:00:00 2001 From: Adrian Chadd Date: Sat, 7 Jan 2017 01:53:27 +0000 Subject: [PATCH] [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. --- sys/net80211/ieee80211_node.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/net80211/ieee80211_node.h b/sys/net80211/ieee80211_node.h index 7a706731bb6c..7ca24c1862f3 100644 --- a/sys/net80211/ieee80211_node.h +++ b/sys/net80211/ieee80211_node.h @@ -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 */