> IPv6 needs to ignore packets sent, which is not done in your patch. > However, I think such filtering is not zd1211 specific and could be > better done in the generic softmac layer. What is the process to patch > the softmac layer? I was also wondering if filtering ALL packets whose > sender mac is our MAC would be more appropriate? (currently, my patch > only filters out multicast packets with sender MAC being our MAC).
Benoit, I'm doing the filtering with following change: @@ -771,7 +812,8 @@ static int is_data_packet_for_us(struct } return memcmp(hdr->addr1, netdev->dev_addr, ETH_ALEN) == 0 || - is_multicast_ether_addr(hdr->addr1) || + (is_multicast_ether_addr(hdr->addr1) && + memcmp(hdr->addr3, netdev->dev_addr, ETH_ALEN) != 0) || (netdev->flags & IFF_PROMISC); } It's exactly as you are doing, but will work also in other modes. According to RFC2462 there are problems with removing frames with the identical source address. So limiting it has some value. One could implement something more complex like updating a time-stamp variable in tx for multicast packets. And suppress the incoming packet only if it is in a certain timw window after the tx. I doubt that it is worth to do it. Sharing the code with other cards, might not be possible, because the devices might behave differently. For instance doing the filtering on its own. I'm absolutely interested in test results. The patch works for me here under IPv4. Cheers, Uli -- Uli Kunitz ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Zd1211-devs mailing list - http://zd1211.ath.cx/ Unsubscribe: https://lists.sourceforge.net/lists/listinfo/zd1211-devs