summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2021-05-17 22:47:27 -0300
committerGitHub <noreply@github.com>2021-05-17 22:47:27 -0300
commit5e6f6c964d70a2afbafeae50cb0ce5c343734973 (patch)
tree0f22adc51438f65c0eaafcd4301a89f0451b70f1
parentea9aa705476a129894a4e83a4533e9fc7b3d3fd3 (diff)
parent29ceb84855f486b43f320cacb7aa0511cde3c027 (diff)
Merge pull request #8680 from idryzhov/rip-ripng-fix-crash
ripd, ripngd: fix interface wakeup after shutdown
-rw-r--r--ripd/rip_interface.c3
-rw-r--r--ripngd/ripng_interface.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/ripd/rip_interface.c b/ripd/rip_interface.c
index 0b927c76fa..bdae2c5ef5 100644
--- a/ripd/rip_interface.c
+++ b/ripd/rip_interface.c
@@ -493,6 +493,9 @@ int rip_if_down(struct interface *ifp)
struct listnode *listnode = NULL, *nextnode = NULL;
ri = ifp->info;
+
+ THREAD_OFF(ri->t_wakeup);
+
rip = ri->rip;
if (rip) {
for (rp = route_top(rip->table); rp; rp = route_next(rp))
diff --git a/ripngd/ripng_interface.c b/ripngd/ripng_interface.c
index c4d494804f..6828398617 100644
--- a/ripngd/ripng_interface.c
+++ b/ripngd/ripng_interface.c
@@ -169,6 +169,9 @@ static int ripng_if_down(struct interface *ifp)
struct listnode *listnode = NULL, *nextnode = NULL;
ri = ifp->info;
+
+ THREAD_OFF(ri->t_wakeup);
+
ripng = ri->ripng;
if (ripng)