diff mbox series

[net,14/14] net: hsr: Fix node prune function for forget time expiry

Message ID 20190405173136.18050-15-m-karicheri2@ti.com
State New
Headers show
Series net: hsr: improvements and bug fixes | expand

Commit Message

Murali Karicheri April 5, 2019, 5:31 p.m. UTC
From: Aaron Kramer <a-kramer@ti.com>


HSR should forget nodes after configured node forget time expiry based
on HSR_NODE_FORGET_TIME. As part of hsr_prune_nodes(), code checks to
see if entries are to be flushed out if not heard for longer than forget
time. But currently hsr_prune_nodes() is called only once during device
creation. Restart the timer at the end of hsr_prune_nodes() so that
hsr_prune_nodes() gets called periodically and forgotten entries are
removed from node table.

Signed-off-by: Aaron Kramer <a-kramer@ti.com>

Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>

---
 net/hsr/hsr_framereg.c | 4 ++++
 1 file changed, 4 insertions(+)

-- 
2.17.0
diff mbox series

Patch

diff --git a/net/hsr/hsr_framereg.c b/net/hsr/hsr_framereg.c
index a3cc30ac8a5a..9fa9abd83018 100644
--- a/net/hsr/hsr_framereg.c
+++ b/net/hsr/hsr_framereg.c
@@ -405,6 +405,10 @@  void hsr_prune_nodes(struct timer_list *t)
 		}
 	}
 	rcu_read_unlock();
+
+	/* Restart timer */
+	mod_timer(&hsr->prune_timer,
+		  jiffies + msecs_to_jiffies(PRUNE_PERIOD));
 }
 
 void *hsr_get_next_node(struct hsr_priv *hsr, void *_pos,