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

* Re: Userspace client MLME and BSSID-mismatch filtering for scans
  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
  0 siblings, 1 reply; 3+ messages in thread
From: Jouni Malinen @ 2008-08-18 19:08 UTC (permalink / raw)
  To: linux-wireless

On Mon, Aug 18, 2008 at 07:47:42PM +0300, Jouni Malinen wrote:
> 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

I got the userspace client MLME working with the current wpa_supplicant
0.6.x git version and using -Dnl80211. mac80211 needs two changes for
this to work: cfg80211 vif configuration option for enabling userspace
MLME (I'll send an updated patch for this) and workaround/fix for
ProbeResp frames (BSSID-mismatch) dropping during scan (works with the
patch I sent in the previous message in this thread or alternatively,
could add a mechanism for letting mac80211 know when userspace MLME is
doing scanning if that is considered more preferable; that extension
would add on top of the vif configuration patch to bring in extra
parameters for indicating scan state).
 
-- 
Jouni Malinen                                            PGP id EFC895FA

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

* Re: Userspace client MLME and BSSID-mismatch filtering for scans
  2008-08-18 19:08 ` Jouni Malinen
@ 2008-08-19 12:35   ` Tomas Winkler
  0 siblings, 0 replies; 3+ messages in thread
From: Tomas Winkler @ 2008-08-19 12:35 UTC (permalink / raw)
  To: Jouni Malinen; +Cc: linux-wireless

On Mon, Aug 18, 2008 at 10:08 PM, Jouni Malinen <j@w1.fi> wrote:
> On Mon, Aug 18, 2008 at 07:47:42PM +0300, Jouni Malinen wrote:
>> 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
>
> I got the userspace client MLME working with the current wpa_supplicant
> 0.6.x git version and using -Dnl80211. mac80211 needs two changes for
> this to work: cfg80211 vif configuration option for enabling userspace
> MLME (I'll send an updated patch for this) and workaround/fix for
> ProbeResp frames (BSSID-mismatch) dropping during scan (works with the
> patch I sent in the previous message in this thread or alternatively,
> could add a mechanism for letting mac80211 know when userspace MLME is
> doing scanning if that is considered more preferable; that extension
> would add on top of the vif configuration patch to bring in extra
> parameters for indicating scan state).
>

What are benefits this type of scanning?  Is this sultion you are
looking for or this just should bridge temporal lack of  nl80211 API
for scanning?
Thanks
Tomas

^ 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