aboutsummaryrefslogtreecommitdiffstats
path: root/net/batman-adv/soft-interface.c
diff options
context:
space:
mode:
authorLinus Lüssing <linus.luessing@web.de>2012-10-17 15:07:35 +0200
committerAntonio Quartulli <ordex@autistici.org>2013-01-12 20:58:19 +1000
commit02233e0c75fc512ca60e7e82943f0a4395a85411 (patch)
tree885def6f0b41455b6ced8eb01d07a1b520f18866 /net/batman-adv/soft-interface.c
parentbatman-adv: use per_cpu_add helper (diff)
downloadlinux-dev-02233e0c75fc512ca60e7e82943f0a4395a85411.tar.xz
linux-dev-02233e0c75fc512ca60e7e82943f0a4395a85411.zip
batman-adv: Do not add multicast MAC addresses to translation table
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>
Diffstat (limited to '')
-rw-r--r--net/batman-adv/soft-interface.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c
index 90f4049a90dd..f8cc1429942f 100644
--- a/net/batman-adv/soft-interface.c
+++ b/net/batman-adv/soft-interface.c
@@ -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 ...