| Submitter | Antonio Quartulli |
|---|---|
| Date | Oct. 29, 2012, 8:58 a.m. |
| Message ID | <1351501097-1289-12-git-send-email-ordex@autistici.org> |
| Download | mbox | patch |
| Permalink | /patch/194904/ |
| State | Accepted |
| Delegated to: | David Miller |
| Headers | show |
Comments
Patch
diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c index 42a74e3..0ac39d5 100644 --- a/net/batman-adv/translation-table.c +++ b/net/batman-adv/translation-table.c @@ -726,6 +726,12 @@ int batadv_tt_global_add(struct batadv_priv *bat_priv, common->flags = flags; tt_global_entry->roam_at = 0; + /* node must store current time in case of roaming. This is + * needed to purge this entry out on timeout (if nobody claims + * it) + */ + if (flags & BATADV_TT_CLIENT_ROAM) + tt_global_entry->roam_at = jiffies; atomic_set(&common->refcount, 2); common->added_at = jiffies;
in case of a new global entry added because of roaming, the roam_at field must be properly initiated with the current time. This value will be later use to purge this entry out on time out (if nobody claims it). Instead roam_at field is now set to zero in this situation leading to an immediate purging of the related entry. Signed-off-by: Antonio Quartulli <ordex@autistici.org> --- net/batman-adv/translation-table.c | 6 ++++++ 1 file changed, 6 insertions(+)