batman-adv: Do not add multicast MAC addresses to translation table
authorLinus Lüssing <linus.luessing@web.de>
Wed, 17 Oct 2012 13:07:35 +0000 (15:07 +0200)
committerAntonio Quartulli <ordex@autistici.org>
Sat, 12 Jan 2013 10:58:19 +0000 (20:58 +1000)
The current translation table mechanism is not suitable for multicast
addresses and we are currently flooding such frames anyway.

Therefore this patch prevents multicast MAC addresses being added to the
translation table.

Signed-off-by: Linus Lüssing <linus.luessing@web.de>
Acked-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
net/batman-adv/soft-interface.c

index 90f4049a90ddf0aabd8cdd77764703be46d70c6d..f8cc1429942fad671a3cdba36016f8c76422eca6 100644 (file)
@@ -180,7 +180,8 @@ static int batadv_interface_tx(struct sk_buff *skb,
                goto dropped;
 
        /* Register the client MAC in the transtable */
-       batadv_tt_local_add(soft_iface, ethhdr->h_source, skb->skb_iif);
+       if (!is_multicast_ether_addr(ethhdr->h_source))
+               batadv_tt_local_add(soft_iface, ethhdr->h_source, skb->skb_iif);
 
        /* don't accept stp packets. STP does not help in meshes.
         * better use the bridge loop avoidance ...