[PATCH] mac80211: pass up beacons from external BSS when operating as AP

Subsystems: mac80211, the rest

STALE5676d

5 messages, 3 authors, 2011-02-01 · open the first message on its own page

[PATCH] mac80211: pass up beacons from external BSS when operating as AP

From: Arik Nemtsov <hidden>
Date: 2011-02-01 11:23:11

Beacons from external BSSes are required for updating overlapping BSS
info (i.e. ERP protection). Pass them up unconditionally.

Signed-off-by: Arik Nemtsov <redacted>
---
 net/mac80211/rx.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index f36d70f..42dbb6f 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -2658,7 +2658,8 @@ static int prepare_for_handlers(struct ieee80211_rx_data *rx,
 				return 0;
 		} else if (!ieee80211_bssid_match(bssid,
 					sdata->vif.addr)) {
-			if (!(status->rx_flags & IEEE80211_RX_IN_SCAN))
+			if (!(status->rx_flags & IEEE80211_RX_IN_SCAN) &&
+			    !ieee80211_is_beacon(hdr->frame_control))
 				return 0;
 			status->rx_flags &= ~IEEE80211_RX_RA_MATCH;
 		}
-- 
1.7.1

Re: [PATCH] mac80211: pass up beacons from external BSS when operating as AP

From: Johannes Berg <johannes@sipsolutions.net>
Date: 2011-02-01 13:56:56

On Tue, 2011-02-01 at 13:23 +0200, Arik Nemtsov wrote:
Beacons from external BSSes are required for updating overlapping BSS
info (i.e. ERP protection). Pass them up unconditionally.
Where will they be processed though?

johannes

Re: [PATCH] mac80211: pass up beacons from external BSS when operating as AP

From: Jouni Malinen <hidden>
Date: 2011-02-01 14:51:07

On Tue, Feb 01, 2011 at 02:56:54PM +0100, Johannes Berg wrote:
On Tue, 2011-02-01 at 13:23 +0200, Arik Nemtsov wrote:
quoted
Beacons from external BSSes are required for updating overlapping BSS
info (i.e. ERP protection). Pass them up unconditionally.
Where will they be processed though?
In src/ap/ap_list.c (hostap.git) ;-)

This code has been there for a long time, but the functionality was
broken at some point (maybe already during d80211 -> mac80211 process)
due to the beacons not getting delivered there anymore.

-- 
Jouni Malinen                                            PGP id EFC895FA

Re: [PATCH] mac80211: pass up beacons from external BSS when operating as AP

From: Johannes Berg <johannes@sipsolutions.net>
Date: 2011-02-01 14:52:56

On Tue, 2011-02-01 at 16:51 +0200, Jouni Malinen wrote:
On Tue, Feb 01, 2011 at 02:56:54PM +0100, Johannes Berg wrote:
quoted
On Tue, 2011-02-01 at 13:23 +0200, Arik Nemtsov wrote:
quoted
Beacons from external BSSes are required for updating overlapping BSS
info (i.e. ERP protection). Pass them up unconditionally.
Where will they be processed though?
In src/ap/ap_list.c (hostap.git) ;-)

This code has been there for a long time, but the functionality was
broken at some point (maybe already during d80211 -> mac80211 process)
due to the beacons not getting delivered there anymore.
Oh, I guess then they are delivered via the monitor interface?

johannes

Re: [PATCH] mac80211: pass up beacons from external BSS when operating as AP

From: Jouni Malinen <hidden>
Date: 2011-02-01 14:57:01

On Tue, Feb 01, 2011 at 03:52:53PM +0100, Johannes Berg wrote:
On Tue, 2011-02-01 at 16:51 +0200, Jouni Malinen wrote:
quoted
This code has been there for a long time, but the functionality was
broken at some point (maybe already during d80211 -> mac80211 process)
due to the beacons not getting delivered there anymore.
Oh, I guess then they are delivered via the monitor interface?
I haven't tested this patch, but yes, I would assume so. They used to be
delivered in the exact same way as other management frames and at this
point, that would indeed be the monitor interface.

-- 
Jouni Malinen                                            PGP id EFC895FA
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help