summaryrefslogtreecommitdiffstats
path: root/sys/net80211
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2015-09-28 00:51:24 +0000
committeradrian <adrian@FreeBSD.org>2015-09-28 00:51:24 +0000
commit4c97ea521c88b4d617af0a68f26ba8669fcb2d57 (patch)
treeb76e6f40a4e4bf02e1d7cc746126a1faa6691847 /sys/net80211
parenteb19154b866bff2bc4645cc133dd71952088f5ac (diff)
downloadFreeBSD-src-4c97ea521c88b4d617af0a68f26ba8669fcb2d57.zip
FreeBSD-src-4c97ea521c88b4d617af0a68f26ba8669fcb2d57.tar.gz
Comments, mostly to remind myself of what's going on and why.
Diffstat (limited to 'sys/net80211')
-rw-r--r--sys/net80211/ieee80211_output.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c
index 4e061d8..27fe929 100644
--- a/sys/net80211/ieee80211_output.c
+++ b/sys/net80211/ieee80211_output.c
@@ -213,6 +213,22 @@ ieee80211_vap_pkt_send_dest(struct ieee80211vap *vap, struct mbuf *m,
}
}
+ /*
+ * XXX If we aren't doing AMPDU TX then we /could/ do
+ * fast-frames encapsulation, however right now this
+ * output logic doesn't handle that case.
+ *
+ * So we'll be limited to "fast-frames" xmit for non-11n STA
+ * and "no fast frames" xmit for 11n STAs.
+ * It'd be nice to eventually test fast-frames out by
+ * gracefully falling from failing A-MPDU transmission
+ * (driver says no, fail to negotiate it with peer) to
+ * using fast-frames.
+ *
+ * Note: we can actually put A-MSDU's inside an A-MPDU,
+ * so hopefully we can figure out how to make that particular
+ * combination work right.
+ */
#ifdef IEEE80211_SUPPORT_SUPERG
else if (IEEE80211_ATH_CAP(vap, ni, IEEE80211_NODE_FF)) {
m = ieee80211_ff_check(ni, m);
@@ -230,6 +246,11 @@ ieee80211_vap_pkt_send_dest(struct ieee80211vap *vap, struct mbuf *m,
*/
IEEE80211_TX_LOCK(ic);
+ /*
+ * XXX make the encap and transmit code a separate function
+ * so things like the FF (and later A-MSDU) path can just call
+ * it for flushed frames.
+ */
if (__predict_true((vap->iv_caps & IEEE80211_C_8023ENCAP) == 0)) {
/*
* Encapsulate the packet in prep for transmission.
OpenPOWER on IntegriCloud