Flags carried by a change_entry have to be always copied into the client entry as they may contain important attributes (e.g. TT_CLIENT_WIFI).
For instance, a client added by means of the "early detection mechanism" has no flag set at the beginning, so they must be updated once the proper ADD event is received.
This was introduced by ("batman-adv: detect not yet announced clients")
Signed-off-by: Antonio Quartulli ordex@autistici.org ---
This patch is based on "maint"
translation-table.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/translation-table.c b/translation-table.c index 112edd3..64c0012 100644 --- a/translation-table.c +++ b/translation-table.c @@ -769,6 +769,12 @@ int batadv_tt_global_add(struct batadv_priv *bat_priv, */ tt_global_entry->common.flags &= ~BATADV_TT_CLIENT_TEMP;
+ /* the change can carry possible "attribute" flags like the + * TT_CLIENT_WIFI, therefore they have to be copied in the + * client entry + */ + tt_global_entry->common.flags |= flags; + /* If there is the BATADV_TT_CLIENT_ROAM flag set, there is only * one originator left in the list and we previously received a * delete + roaming change for this originator.
On Wednesday, November 07, 2012 22:05:33 Antonio Quartulli wrote:
Flags carried by a change_entry have to be always copied into the client entry as they may contain important attributes (e.g. TT_CLIENT_WIFI).
For instance, a client added by means of the "early detection mechanism" has no flag set at the beginning, so they must be updated once the proper ADD event is received.
This was introduced by ("batman-adv: detect not yet announced clients")
Signed-off-by: Antonio Quartulli ordex@autistici.org
This patch is based on "maint"
translation-table.c | 6 ++++++ 1 file changed, 6 insertions(+)
Applied in revision fa614fd.
Thanks, Marek
b.a.t.m.a.n@lists.open-mesh.org