[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.
This commit is contained in:
parent
609696a16c
commit
67fd11d420
@ -896,6 +896,10 @@ ieee80211_sta_join(struct ieee80211vap *vap, struct ieee80211_channel *chan,
|
||||
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_ies *ies)
|
||||
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];
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user