diff options
Diffstat (limited to 'ripd/rip_main.c')
| -rw-r--r-- | ripd/rip_main.c | 11 |
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(); |
