batman-adv: do not add loop detection mac addresses to global tt
authorSimon Wunderlich <sw@simonwunderlich.de>
Thu, 1 Jun 2017 15:11:24 +0000 (17:11 +0200)
committerSimon Wunderlich <sw@simonwunderlich.de>
Fri, 9 Jun 2017 13:56:59 +0000 (15:56 +0200)
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>
net/batman-adv/translation-table.c

index e75b4937b497401284bc553182737a2f7af54605..4b64a9a633d9219644e318283962706dbd89d76d 100644 (file)
@@ -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)))