mac80211: when operating as a 4-addr station, do not pick up 4-addr frames meant for other stations, as this would confuse the bridge layer

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25378 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2011-02-05 22:38:23 +00:00
parent de51e40c7e
commit cb0133131d
1 changed files with 12 additions and 0 deletions

View File

@ -0,0 +1,12 @@
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -2609,7 +2609,8 @@ static int prepare_for_handlers(struct i
return 0;
if (!multicast &&
compare_ether_addr(sdata->vif.addr, hdr->addr1) != 0) {
- if (!(sdata->dev->flags & IFF_PROMISC))
+ if (!(sdata->dev->flags & IFF_PROMISC) ||
+ sdata->u.mgd.use_4addr)
return 0;
status->rx_flags &= ~IEEE80211_RX_RA_MATCH;
}