aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ath/if_athvar.h
diff options
context:
space:
mode:
authorSam Leffler <sam@FreeBSD.org>2005-01-24 20:31:24 +0000
committerSam Leffler <sam@FreeBSD.org>2005-01-24 20:31:24 +0000
commitd3be6f5b0cfd923739641189f1dc0c49623a0647 (patch)
treeb65bbe97e3774fd1461d9174203e5b9f0a4cf90b /sys/dev/ath/if_athvar.h
parent8a579692b2ca58249ada2d1429b45f83744c0219 (diff)
downloadsrc-d3be6f5b0cfd923739641189f1dc0c49623a0647.tar.gz
src-d3be6f5b0cfd923739641189f1dc0c49623a0647.zip
Fixup radiotap handling of FCS and QoS frames per discussion with David Young:
o mark rx frames including FCS in the payload with the IEEE80211_RADIOTAP_F_FCS flag o remove hack to copy 802.11 headers with padding out of line; instead mark the frames with IEEE80211_RADIOTAP_F_DATAPAD and require applications to do the work o split precalculated radiotap flags into tx+rx now that they can be different Note the full usefulness of these changes depends on updates to applications that process radiotap data.
Notes
Notes: svn path=/head/; revision=140761
Diffstat (limited to 'sys/dev/ath/if_athvar.h')
-rw-r--r--sys/dev/ath/if_athvar.h14
1 files changed, 5 insertions, 9 deletions
diff --git a/sys/dev/ath/if_athvar.h b/sys/dev/ath/if_athvar.h
index f3ee87b9c8d1..28c6ee6cf55d 100644
--- a/sys/dev/ath/if_athvar.h
+++ b/sys/dev/ath/if_athvar.h
@@ -185,7 +185,8 @@ struct ath_softc {
u_int8_t sc_rixmap[256]; /* IEEE to h/w rate table ix */
struct {
u_int8_t ieeerate; /* IEEE rate */
- u_int8_t flags; /* radiotap flags */
+ u_int8_t rxflags; /* radiotap rx flags */
+ u_int8_t txflags; /* radiotap tx flags */
u_int16_t ledon; /* softled on time */
u_int16_t ledoff; /* softled off time */
} sc_hwmap[32]; /* h/w rate ix mappings */
@@ -212,13 +213,10 @@ struct ath_softc {
} u_tx_rt;
int sc_tx_th_len;
union {
- struct {
- struct ath_rx_radiotap_header th;
- struct ieee80211_qosframe wh;
- } u;
+ struct ath_rx_radiotap_header th;
u_int8_t pad[64];
} u_rx_rt;
- int sc_rx_rt_len;
+ int sc_rx_th_len;
struct task sc_fataltask; /* fatal int processing */
@@ -260,9 +258,7 @@ struct ath_softc {
};
#define sc_if sc_arp.ac_if
#define sc_tx_th u_tx_rt.th
-#define sc_rx u_rx_rt.u
-#define sc_rx_th sc_rx.th
-#define sc_rx_wh sc_rx.wh
+#define sc_rx_th u_rx_rt.th
#define ATH_LOCK_INIT(_sc) \
mtx_init(&(_sc)->sc_mtx, device_get_nameunit((_sc)->sc_dev), \