summaryrefslogtreecommitdiff
path: root/batman-adv/patches/0016-batman-adv-do-not-add-loop-detection-mac-addresses-t.patch
diff options
context:
space:
mode:
Diffstat (limited to 'batman-adv/patches/0016-batman-adv-do-not-add-loop-detection-mac-addresses-t.patch')
-rw-r--r--batman-adv/patches/0016-batman-adv-do-not-add-loop-detection-mac-addresses-t.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/batman-adv/patches/0016-batman-adv-do-not-add-loop-detection-mac-addresses-t.patch b/batman-adv/patches/0016-batman-adv-do-not-add-loop-detection-mac-addresses-t.patch
new file mode 100644
index 0000000..225cf58
--- /dev/null
+++ b/batman-adv/patches/0016-batman-adv-do-not-add-loop-detection-mac-addresses-t.patch
@@ -0,0 +1,35 @@
+From: Simon Wunderlich <sw@simonwunderlich.de>
+Date: Thu, 1 Jun 2017 17:11:24 +0200
+Subject: [PATCH] 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>
+
+Origin: upstream, https://git.open-mesh.org/batman-adv.git/commit/1f1b6c0d96129e6445652061d93a7fb1f0476fa3
+---
+ net/batman-adv/translation-table.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c
+index 30ecbfb40adfa6f9f1c777fc93e42df8c39e4581..199da2abe6ab92161ab66faa01fa3d06aeb68c89 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)))