Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b331615722779b078822988843ddffd4eaec9f83 Commit: b331615722779b078822988843ddffd4eaec9f83 Parent: 3c3b00caf98e5fdaa0184026a68f0008a5bf393e Author: John W. Linville <[EMAIL PROTECTED]> AuthorDate: Tue Aug 28 17:01:55 2007 -0400 Committer: David S. Miller <[EMAIL PROTECTED]> CommitDate: Wed Oct 10 16:48:56 2007 -0700
[MAC80211]: filter locally-originated multicast frames In STA mode, the AP will echo our traffic. This includes multicast traffic. Receiving these frames confuses some protocols and applications, notably IPv6 Duplicate Address Detection. Signed-off-by: John W. Linville <[EMAIL PROTECTED]> Signed-off-by: Johannes Berg <[EMAIL PROTECTED]> Acked-by: Michael Wu <[EMAIL PROTECTED]> Signed-off-by: John W. Linville <[EMAIL PROTECTED]> Signed-off-by: David S. Miller <[EMAIL PROTECTED]> --- net/mac80211/rx.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index e2c6f5c..969be3a 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -988,9 +988,10 @@ ieee80211_rx_h_data(struct ieee80211_txrx_data *rx) memcpy(dst, hdr->addr1, ETH_ALEN); memcpy(src, hdr->addr3, ETH_ALEN); - if (sdata->type != IEEE80211_IF_TYPE_STA) { + if (sdata->type != IEEE80211_IF_TYPE_STA || + (is_multicast_ether_addr(dst) && + !compare_ether_addr(src, dev->dev_addr))) return TXRX_DROP; - } break; case 0: /* DA SA BSSID */ - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html