From 68f7a1034ab73897585652ceedd3727d57150c12 Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 20 May 2009 20:00:40 +0000 Subject: Overhaul monitor mode handling: o replace DLT_IEEE802_11 support in net80211 with DLT_IEEE802_11_RADIO and remove explicit bpf support from wireless drivers; drivers now use ieee80211_radiotap_attach to setup shared data structures that hold the radiotap header for each packet tx/rx o remove rx timestamp from the rx path; it was used only by the tdma support for debugging and was mostly useless due to it being 32-bits and mostly unavailable o track DLT_IEEE80211_RADIO bpf attachments and maintain per-vap and per-com state when there are active taps o track the number of monitor mode vaps o use bpf tap and monitor mode vap state to decide when to collect radiotap state and dispatch frames; drivers no longer explicitly directly check bpf state or use bpf calls to tap frames o handle radiotap state updates on channel change in net80211; drivers should not do this (unless they bypass net80211 which is almost always a mistake) o update various drivers to be more consistent/correct in handling radiotap o update ral to include TSF in radiotap'd frames o add promisc mode callback to wi Reviewed by: cbzimmer, rpaulo, thompsa --- sys/dev/wi/if_wivar.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'sys/dev/wi/if_wivar.h') diff --git a/sys/dev/wi/if_wivar.h b/sys/dev/wi/if_wivar.h index 3739a8e..c5bc139 100644 --- a/sys/dev/wi/if_wivar.h +++ b/sys/dev/wi/if_wivar.h @@ -60,8 +60,8 @@ struct wi_vap { struct ieee80211vap wv_vap; struct ieee80211_beacon_offsets wv_bo; - void (*wv_recv_mgmt)(struct ieee80211_node *, - struct mbuf *, int, int, int, u_int32_t); + void (*wv_recv_mgmt)(struct ieee80211_node *, struct mbuf *, + int, int, int); int (*wv_newstate)(struct ieee80211vap *, enum ieee80211_state, int); }; @@ -141,9 +141,7 @@ struct wi_softc { u_int16_t sc_txbuf[IEEE80211_MAX_LEN/2]; struct wi_tx_radiotap_header sc_tx_th; - int sc_tx_th_len; struct wi_rx_radiotap_header sc_rx_th; - int sc_rx_th_len; }; /* maximum consecutive false change-of-BSSID indications */ -- cgit v1.1