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