mac80211: fix a bug in broadcast handling of wds sta interfaces

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18363 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2009-11-11 05:15:41 +00:00
parent 9a724ec84e
commit 57109ac50c
1 changed files with 9 additions and 0 deletions

View File

@ -213,6 +213,15 @@
return ieee80211_data_to_8023(rx->skb, dev->dev_addr, sdata->vif.type); return ieee80211_data_to_8023(rx->skb, dev->dev_addr, sdata->vif.type);
} }
@@ -1285,7 +1292,7 @@ ieee80211_deliver_skb(struct ieee80211_r
if ((sdata->vif.type == NL80211_IFTYPE_AP ||
sdata->vif.type == NL80211_IFTYPE_AP_VLAN) &&
!(sdata->flags & IEEE80211_SDATA_DONT_BRIDGE_PACKETS) &&
- (rx->flags & IEEE80211_RX_RA_MATCH)) {
+ (rx->flags & IEEE80211_RX_RA_MATCH) && !rx->sdata->use_4addr) {
if (is_multicast_ether_addr(ehdr->h_dest)) {
/*
* send multicast frames both to higher layers in
@@ -1590,6 +1597,7 @@ ieee80211_rx_h_data(struct ieee80211_rx_ @@ -1590,6 +1597,7 @@ ieee80211_rx_h_data(struct ieee80211_rx_
{ {
struct net_device *dev = rx->dev; struct net_device *dev = rx->dev;