[B.A.T.M.A.N.] [PATCHv2 5/5] batman-adv: fix local client recognition in is_my_client()

Antonio Quartulli
2012-11-06T11:05:23Z

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 <ordex@autistici.org>
---
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