The following commit has been merged in the master branch: commit 7e7fc81375bfbcf00688968a53b63f5227bfac48 Author: Antonio Quartulli ordex@autistici.org Date: Mon Jan 16 00:36:58 2012 +0100
batman-adv: unset the TT_CLIENT_PENDING flag if the new local entry already exists
When trying to add a new tt_local_entry, if such entry already exists, we have to ensure that the TT_CLIENT_PENDING flag is not set, otherwise the entry will be deleted soon.
Reported-by: Simon Wunderlich siwu@hrz.tu-chemnitz.de Signed-off-by: Antonio Quartulli ordex@autistici.org
diff --git a/translation-table.c b/translation-table.c index 934900d..b3e608a 100644 --- a/translation-table.c +++ b/translation-table.c @@ -206,6 +206,8 @@ void tt_local_add(struct net_device *soft_iface, const uint8_t *addr,
if (tt_local_entry) { tt_local_entry->last_seen = jiffies; + /* possibly unset the TT_CLIENT_PENDING flag */ + tt_local_entry->common.flags &= ~TT_CLIENT_PENDING; goto out; }