]> git.puffer.fish Git - mirror/frr.git/commitdiff
ospfd: clean route map prefixlist vrf during exit 1674/head
authorChirag Shah <chirag@cumulusnetworks.com>
Thu, 25 Jan 2018 00:41:07 +0000 (16:41 -0800)
committerChirag Shah <chirag@cumulusnetworks.com>
Thu, 25 Jan 2018 01:21:22 +0000 (17:21 -0800)
Call Route-map, prefix-list clean up routines and
vrf clearnup during ospf daemon exit routine.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
ospfd/ospfd.c

index 89b08552a897f4d6c3773c74ad242487d755d72e..e6f19369ef5b87f450a2bee27bd4e34fa8a78a05 100644 (file)
@@ -32,6 +32,7 @@
 #include "log.h"
 #include "sockunion.h" /* for inet_aton () */
 #include "zclient.h"
+#include "routemap.h"
 #include "plist.h"
 #include "sockopt.h"
 #include "bfd.h"
@@ -554,6 +555,20 @@ void ospf_terminate(void)
        for (ALL_LIST_ELEMENTS(om->ospf, node, nnode, ospf))
                ospf_finish(ospf);
 
+       /* Cleanup route maps */
+       route_map_add_hook(NULL);
+       route_map_delete_hook(NULL);
+       route_map_event_hook(NULL);
+       route_map_finish();
+
+       /* reverse prefix_list_init */
+       prefix_list_add_hook(NULL);
+       prefix_list_delete_hook(NULL);
+       prefix_list_reset();
+
+       /* Cleanup vrf info */
+       ospf_vrf_terminate();
+
        /* Deliberately go back up, hopefully to thread scheduler, as
         * One or more ospf_finish()'s may have deferred shutdown to a timer
         * thread