svn commit: r311575 - head/sys/net80211

Adrian Chadd adrian at FreeBSD.org
Sat Jan 7 01:53:28 UTC 2017


Author: adrian
Date: Sat Jan  7 01:53:27 2017
New Revision: 311575
URL: https://svnweb.freebsd.org/changeset/base/311575

Log:
  [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.

Modified:
  head/sys/net80211/ieee80211_node.h

Modified: head/sys/net80211/ieee80211_node.h
==============================================================================
--- head/sys/net80211/ieee80211_node.h	Sat Jan  7 01:51:54 2017	(r311574)
+++ head/sys/net80211/ieee80211_node.h	Sat Jan  7 01:53:27 2017	(r311575)
@@ -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 */


More information about the svn-src-head mailing list