svn commit: r308952 - head/sys/net80211

Adrian Chadd adrian at FreeBSD.org
Tue Nov 22 02:51:08 UTC 2016


Author: adrian
Date: Tue Nov 22 02:51:06 2016
New Revision: 308952
URL: https://svnweb.freebsd.org/changeset/base/308952

Log:
  [net80211] store references to VHT and related IEs.
  
  This just stores pointers to the IE; it doesn't yet parse anything.
  
  Note: it blows out the size of ieee80211_node, so this will require
  ye olde kernel/modules recompile.

Modified:
  head/sys/net80211/ieee80211_node.c
  head/sys/net80211/ieee80211_node.h

Modified: head/sys/net80211/ieee80211_node.c
==============================================================================
--- head/sys/net80211/ieee80211_node.c	Tue Nov 22 02:42:00 2016	(r308951)
+++ head/sys/net80211/ieee80211_node.c	Tue Nov 22 02:51:06 2016	(r308952)
@@ -896,6 +896,10 @@ ieee80211_sta_join(struct ieee80211vap *
 		if (ni->ni_ies.tdma_ie != NULL)
 			ieee80211_parse_tdma(ni, ni->ni_ies.tdma_ie);
 #endif
+
+		/* XXX parse VHT IEs */
+		/* XXX parse BSSLOAD IE */
+		/* XXX parse APCHANREP IE */
 	}
 
 	vap->iv_dtim_period = se->se_dtimperiod;
@@ -1055,6 +1059,21 @@ ieee80211_ies_expand(struct ieee80211_ie
 			ies->meshid_ie = ie;
 			break;
 #endif
+		case IEEE80211_ELEMID_VHT_CAP:
+			ies->vhtcap_ie = ie;
+			break;
+		case IEEE80211_ELEMID_VHT_OPMODE:
+			ies->vhtopmode_ie = ie;
+			break;
+		case IEEE80211_ELEMID_VHT_PWR_ENV:
+			ies->vhtpwrenv_ie = ie;
+			break;
+		case IEEE80211_ELEMID_BSSLOAD:
+			ies->bssload_ie = ie;
+			break;
+		case IEEE80211_ELEMID_APCHANREP:
+			ies->apchanrep_ie = ie;
+			break;
 		}
 		ielen -= 2 + ie[1];
 		ie += 2 + ie[1];

Modified: head/sys/net80211/ieee80211_node.h
==============================================================================
--- head/sys/net80211/ieee80211_node.h	Tue Nov 22 02:42:00 2016	(r308951)
+++ head/sys/net80211/ieee80211_node.h	Tue Nov 22 02:51:06 2016	(r308952)
@@ -83,6 +83,11 @@ struct ieee80211_ies {
 	uint8_t	*htinfo_ie;	/* captured HTINFO ie */
 	uint8_t	*tdma_ie;	/* captured TDMA ie */
 	uint8_t *meshid_ie;	/* captured MESH ID ie */
+	uint8_t	*vhtcap_ie;	/* captured VHTCAP ie */
+	uint8_t	*vhtopmode_ie;	/* captured VHTOPMODE ie */
+	uint8_t	*vhtpwrenv_ie;	/* captured VHTPWRENV ie */
+	uint8_t	*apchanrep_ie;	/* captured APCHANREP ie */
+	uint8_t	*bssload_ie;	/* captured BSSLOAD ie */
 	uint8_t	*spare[4];
 	/* NB: these must be the last members of this structure */
 	uint8_t	*data;		/* frame data > 802.11 header */


More information about the svn-src-all mailing list