diff options
author | sam <sam@FreeBSD.org> | 2008-10-26 00:43:11 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2008-10-26 00:43:11 +0000 |
commit | fc829915ea59cfd1de911771b669f2a518af9e7d (patch) | |
tree | 260e94c0e9e18680fa119b48731551c2eb58e68b /sys/net80211/ieee80211_ht.c | |
parent | 826606e081d0df3e11d91e451f468dd502b767fe (diff) | |
download | FreeBSD-src-fc829915ea59cfd1de911771b669f2a518af9e7d.zip FreeBSD-src-fc829915ea59cfd1de911771b669f2a518af9e7d.tar.gz |
o change ieee80211_mgmt_output to take a raw xmit parameters block so
the net80211 layer has complete control over the handling of mgt frames
(in particular, the ac, tx rate, and retry count); this also allows us
to purge the M_LINK0 flag that was attached to mbufs to mark them as
needing encryption for shared key auth
o change ieee80211_send_setup to take a tid parameter so it can be used
to setup QoS frames
Diffstat (limited to 'sys/net80211/ieee80211_ht.c')
-rw-r--r-- | sys/net80211/ieee80211_ht.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_ht.c b/sys/net80211/ieee80211_ht.c index 2fcc9a8..d22437a 100644 --- a/sys/net80211/ieee80211_ht.c +++ b/sys/net80211/ieee80211_ht.c @@ -2104,6 +2104,7 @@ ieee80211_send_action(struct ieee80211_node *ni, } while (0) struct ieee80211vap *vap = ni->ni_vap; struct ieee80211com *ic = ni->ni_ic; + struct ieee80211_bpf_params params; struct mbuf *m; uint8_t *frm; uint16_t baparamset; @@ -2207,7 +2208,14 @@ ieee80211_send_action(struct ieee80211_node *ni, } m->m_pkthdr.len = m->m_len = frm - mtod(m, uint8_t *); - return ieee80211_mgmt_output(ni, m, IEEE80211_FC0_SUBTYPE_ACTION); + memset(¶ms, 0, sizeof(params)); + params.ibp_pri = WME_AC_VO; + params.ibp_rate0 = ni->ni_txparms->mgmtrate; + /* NB: we know all frames are unicast */ + params.ibp_try0 = ni->ni_txparms->maxretry; + params.ibp_power = ni->ni_txpower; + return ieee80211_mgmt_output(ni, m, IEEE80211_FC0_SUBTYPE_ACTION, + ¶ms); bad: ieee80211_free_node(ni); if (m != NULL) |