Repository : ssh://git@open-mesh.org/batman-adv
On branch : maint
commit 9b5c6ae19e49fcfe1cc353aabc6a79a487a957ce Author: Antonio Quartulli ordex@autistici.org Date: Thu Nov 8 21:55:29 2012 +0100
batman-adv: don't add TEMP clients belonging to other backbone nodes
The "early client detection" mechanism must not add clients belonging to other backbone nodes. Such clients must be reached by directly using the LAN instead of the mesh.
This was introduced by 724d05c8215e4e8186097121595ef20b6ba601b7 ("batman-adv: detect not yet announced clients")
Reported-by: Glen Page glen.page@thet.net Signed-off-by: Antonio Quartulli ordex@autistici.org Signed-off-by: Marek Lindner lindner_marek@yahoo.de
9b5c6ae19e49fcfe1cc353aabc6a79a487a957ce translation-table.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/translation-table.c b/translation-table.c index fec1a00..baae715 100644 --- a/translation-table.c +++ b/translation-table.c @@ -2456,6 +2456,13 @@ bool batadv_tt_add_temporary_global_entry(struct batadv_priv *bat_priv, { bool ret = false;
+ /* if the originator is a backbone node (meaning it belongs to the same + * LAN of this node) the temporary client must not be added because to + * reach such destination the node must use the LAN instead of the mesh + */ + if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig)) + goto out; + if (!batadv_tt_global_add(bat_priv, orig_node, addr, BATADV_TT_CLIENT_TEMP, atomic_read(&orig_node->last_ttvn)))