summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_ht.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2008-10-26 00:43:11 +0000
committersam <sam@FreeBSD.org>2008-10-26 00:43:11 +0000
commitfc829915ea59cfd1de911771b669f2a518af9e7d (patch)
tree260e94c0e9e18680fa119b48731551c2eb58e68b /sys/net80211/ieee80211_ht.c
parent826606e081d0df3e11d91e451f468dd502b767fe (diff)
downloadFreeBSD-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.c10
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(&params, 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,
+ &params);
bad:
ieee80211_free_node(ni);
if (m != NULL)
OpenPOWER on IntegriCloud