summaryrefslogtreecommitdiff
path: root/zebra/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/main.c')
-rw-r--r--zebra/main.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/zebra/main.c b/zebra/main.c
index 27e98ed999..d83f1d0491 100644
--- a/zebra/main.c
+++ b/zebra/main.c
@@ -205,6 +205,12 @@ static void sigint(void)
list_delete(&zrouter.client_list);
list_delete(&zrouter.stale_client_list);
+ /*
+ * Besides other clean-ups zebra's vrf_disable() also enqueues installed
+ * routes for removal from the kernel, unless ZEBRA_VRF_RETAIN is set.
+ */
+ vrf_iterate(vrf_disable);
+
/* Indicate that all new dplane work has been enqueued. When that
* work is complete, the dataplane will enqueue an event
* with the 'finalize' function.