public inbox for linux-wireless@vger.kernel.org
 help / color / mirror / Atom feed
* Userspace client MLME and BSSID-mismatch filtering for scans
@ 2008-08-18 16:47 Jouni Malinen
  2008-08-18 19:08 ` Jouni Malinen
  0 siblings, 1 reply; 3+ messages in thread
From: Jouni Malinen @ 2008-08-18 16:47 UTC (permalink / raw)
  To: linux-wireless

I'm trying to get userspace client MLME working again and the next
blocker seems to be in Probe Response frames being dropped during
scanning (prepare_for_handlers() rejects frame due to BSSID mismatch
when "not in scan" (which is currently defined as kernel MLME or hw
scan).

I can workaround this with the patch below, but I would assume there are
some consequences in doing this (at least as far as CPU use is
concerned). Would there be a better way of doing this? Should I add yet
another parameter (like sdata->flags IEEE80211_SDATA_USERSPACE_MLME) for
indicating another type of scan (userspace MLME scanning) and get
wpa_supplicant setting that around scan operations? That would get
rx->flags IEEE80211_RX_IN_SCAN set in __ieee80211_rx_handle_packet and
consequently, would likely allow the ProbeResp frames to be received in
this case.

Any preferences or comments on this?



Index: wireless-testing/net/mac80211/rx.c
===================================================================
--- wireless-testing.orig/net/mac80211/rx.c
+++ wireless-testing/net/mac80211/rx.c
@@ -1828,7 +1828,8 @@ static int prepare_for_handlers(struct i
 		if (!bssid)
 			return 0;
 		if (!ieee80211_bssid_match(bssid, sdata->u.sta.bssid)) {
-			if (!(rx->flags & IEEE80211_RX_IN_SCAN))
+			if (!(rx->flags & IEEE80211_RX_IN_SCAN) &&
+			    !(sdata->flags & IEEE80211_SDATA_USERSPACE_MLME))
 				return 0;
 			rx->flags &= ~IEEE80211_RX_RA_MATCH;
 		} else if (!multicast &&

-- 
Jouni Malinen                                            PGP id EFC895FA

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-08-19 12:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-18 16:47 Userspace client MLME and BSSID-mismatch filtering for scans Jouni Malinen
2008-08-18 19:08 ` Jouni Malinen
2008-08-19 12:35   ` Tomas Winkler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox