summaryrefslogtreecommitdiff
path: root/ripd/rip_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'ripd/rip_main.c')
-rw-r--r--ripd/rip_main.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/ripd/rip_main.c b/ripd/rip_main.c
index 8c6340f6c7..46babe2e0b 100644
--- a/ripd/rip_main.c
+++ b/ripd/rip_main.c
@@ -79,10 +79,17 @@ static void sighup(void)
/* SIGINT handler. */
static void sigint(void)
{
+ struct vrf *vrf;
+
zlog_notice("Terminating on signal");
- if (rip)
- rip_clean();
+ RB_FOREACH (vrf, vrf_id_head, &vrfs_by_id) {
+ struct rip *rip;
+
+ rip = vrf->info;
+ if (rip)
+ rip_clean(rip);
+ }
rip_zclient_stop();
frr_fini();