summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorSimon Wunderlich <sw@simonwunderlich.de>2017-06-01 17:11:24 +0200
committerSimon Wunderlich <sw@simonwunderlich.de>2017-06-09 15:56:59 +0200
commit1227c9ae018b1d537349380cef8f6bbbf24082a6 (patch)
treea6ef7ea6ac16300a98dbf873ad66d13cedf7ce7f /net
parentbatman-adv: tp_meter: mark init function with __init (diff)
downloadlinux-1227c9ae018b1d537349380cef8f6bbbf24082a6.tar.xz
linux-1227c9ae018b1d537349380cef8f6bbbf24082a6.zip
batman-adv: do not add loop detection mac addresses to global tt
This change has been made for local TT already, add another one for global TT - but only for temporary entries (aka speedy join), to prevent inconsistencies between local and global tables in case an older batman-adv version is still announcing those entries from its local table. Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de> Signed-off-by: Sven Eckelmann <sven@narfation.org>
Diffstat (limited to 'net')
-rw-r--r--net/batman-adv/translation-table.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
index e75b4937b497..4b64a9a633d9 100644
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@ -4012,6 +4012,12 @@ bool batadv_tt_add_temporary_global_entry(struct batadv_priv *bat_priv,
{
bool ret = false;
+ /* ignore loop detect macs, they are not supposed to be in the tt local
+ * data as well.
+ */
+ if (batadv_bla_is_loopdetect_mac(addr))
+ return false;
+
if (!batadv_tt_global_add(bat_priv, orig_node, addr, vid,
BATADV_TT_CLIENT_TEMP,
atomic_read(&orig_node->last_ttvn)))