diff options
author | sam <sam@FreeBSD.org> | 2008-09-21 23:44:15 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2008-09-21 23:44:15 +0000 |
commit | b823d18ca491ab2a0d4996a20a7368650e7d7715 (patch) | |
tree | 68592baf2027c37efcdcd6532dbf42b70cde44eb /sys/net80211/ieee80211_ht.h | |
parent | 40f433ee351dc5c31546fb51df1fb8be5e330955 (diff) | |
download | FreeBSD-src-b823d18ca491ab2a0d4996a20a7368650e7d7715.zip FreeBSD-src-b823d18ca491ab2a0d4996a20a7368650e7d7715.tar.gz |
Revamp ht ie handling:
o change ieee80211_parse_htcap and ieee80211_parse_htinfo to save only
internal state obtained from the ie's; no dynamic state such as
ni_chw is altered
o add ieee80211_ht_updateparams to parse ht cap+info ie's and update
dynamic node state
o change ieee80211_ht_node_init to not take an htcap ie that is parsed;
instead have the caller make a separate call as one caller wants to
parse the ie while another wants to parse both cap+info ie's and
update state so can better do this with ieee80211_ht_updateparams
These changes fix sta mode state handling where the node's channel
width was shifted to ht20/ht40 prematurely.
Diffstat (limited to 'sys/net80211/ieee80211_ht.h')
-rw-r--r-- | sys/net80211/ieee80211_ht.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_ht.h b/sys/net80211/ieee80211_ht.h index dfad584..62d2f2e 100644 --- a/sys/net80211/ieee80211_ht.h +++ b/sys/net80211/ieee80211_ht.h @@ -165,7 +165,7 @@ void ieee80211_setup_basic_htrates(struct ieee80211_node *, struct mbuf *ieee80211_decap_amsdu(struct ieee80211_node *, struct mbuf *); int ieee80211_ampdu_reorder(struct ieee80211_node *, struct mbuf *); void ieee80211_recv_bar(struct ieee80211_node *, struct mbuf *); -void ieee80211_ht_node_init(struct ieee80211_node *, const uint8_t *); +void ieee80211_ht_node_init(struct ieee80211_node *); void ieee80211_ht_node_cleanup(struct ieee80211_node *); void ieee80211_ht_node_age(struct ieee80211_node *); @@ -178,6 +178,9 @@ void ieee80211_htprot_update(struct ieee80211com *, int protmode); void ieee80211_ht_timeout(struct ieee80211com *); void ieee80211_parse_htcap(struct ieee80211_node *, const uint8_t *); void ieee80211_parse_htinfo(struct ieee80211_node *, const uint8_t *); +void ieee80211_ht_updateparams(struct ieee80211_node *, const uint8_t *, + const uint8_t *); +void ieee80211_ht_updatehtcap(struct ieee80211_node *, const uint8_t *); void ieee80211_recv_action(struct ieee80211_node *, const uint8_t *, const uint8_t *); int ieee80211_ampdu_request(struct ieee80211_node *, |