A tt_local_entry which ROAM flag is set cannot be considered a local
client anymore. Having the ROAM flag set means that the client roamed
away and that the nodes received a ROAMING_ADV for such event

This was introduced by ("batman-adv: roaming handling mechanism
redesign")

Signed-off-by: Antonio Quartulli <[email protected]>
---
 translation-table.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/translation-table.c b/translation-table.c
index 517324a..fdcb726 100644
--- a/translation-table.c
+++ b/translation-table.c
@@ -2044,7 +2044,8 @@ bool batadv_is_my_client(struct batadv_priv *bat_priv, 
const uint8_t *addr)
        /* Check if the client has been logically deleted (but is kept for
         * consistency purpose)
         */
-       if (tt_local_entry->common.flags & BATADV_TT_CLIENT_PENDING)
+       if ((tt_local_entry->common.flags & BATADV_TT_CLIENT_PENDING) ||
+           (tt_local_entry->common.flags & BATADV_TT_CLIENT_ROAM))
                goto out;
        ret = true;
 out:
-- 
1.8.0

Reply via email to