Commit e9c00136a4754829faf885cf966c9754c7734660

Authored by Antonio Quartulli
1 parent 80d11788fb

batman-adv: fix tt_global_entries flags update

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 30cfd02b60e1cb16f5effb0a01f826c5bb7e4c59
("batman-adv: detect not yet announced clients")

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>

Showing 1 changed file with 6 additions and 0 deletions Side-by-side Diff

net/batman-adv/translation-table.c
... ... @@ -769,6 +769,12 @@
769 769 */
770 770 tt_global_entry->common.flags &= ~BATADV_TT_CLIENT_TEMP;
771 771  
  772 + /* the change can carry possible "attribute" flags like the
  773 + * TT_CLIENT_WIFI, therefore they have to be copied in the
  774 + * client entry
  775 + */
  776 + tt_global_entry->common.flags |= flags;
  777 +
772 778 /* If there is the BATADV_TT_CLIENT_ROAM flag set, there is only
773 779 * one originator left in the list and we previously received a
774 780 * delete + roaming change for this originator.