Repository : ssh://git@open-mesh.org/batman-adv
On branch : next
commit b8416c21f9fe6c34ff4eac0cdccd5f0a922120a8 Author: Antonio Quartulli ordex@autistici.org Date: Tue Nov 6 12:05:22 2012 +0100
batman-adv: send ROAMING_ADV once
If a client roaming has already been advertised, the node should prevent it from doing the same more than once. To achieve this, the node has to check the ROAM flag on the global client: if this is set already, then the ROAMING_ADV for this client has already been sent.
This should be merged with changes done by ("batman-adv: roaming handling mechanism redesign")
Signed-off-by: Antonio Quartulli ordex@autistici.org Signed-off-by: Marek Lindner lindner_marek@yahoo.de
b8416c21f9fe6c34ff4eac0cdccd5f0a922120a8 translation-table.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/translation-table.c b/translation-table.c index f3628a2..5ed7714 100644 --- a/translation-table.c +++ b/translation-table.c @@ -336,8 +336,10 @@ add_event: batadv_tt_local_event(bat_priv, addr, tt_local->common.flags);
check_roaming: - /* Check whether it is a roaming! */ - if (tt_global) { + /* Check whether it is a roaming, but don't do anything if the roaming + * process has already been handled + */ + if (tt_global && !(tt_global->common.flags & BATADV_TT_CLIENT_ROAM)) { /* These node are probably going to update their tt table */ head = &tt_global->orig_list; rcu_read_lock();