diff options
author | Chirag Shah <chirag@cumulusnetworks.com> | 2018-01-25 01:41:07 +0100 |
---|---|---|
committer | Chirag Shah <chirag@cumulusnetworks.com> | 2018-01-25 02:21:22 +0100 |
commit | ded42248750dee84fe0a5ce73905568bac188d78 (patch) | |
tree | 3470fa3c4f8b8327c4f59f9c8f72eb2a57ce7dde /ospfd/ospfd.c | |
parent | Merge pull request #1664 from chiragshah6/ospfv3_dev (diff) | |
download | frr-ded42248750dee84fe0a5ce73905568bac188d78.tar.xz frr-ded42248750dee84fe0a5ce73905568bac188d78.zip |
ospfd: clean route map prefixlist vrf during exit
Call Route-map, prefix-list clean up routines and
vrf clearnup during ospf daemon exit routine.
Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
Diffstat (limited to 'ospfd/ospfd.c')
-rw-r--r-- | ospfd/ospfd.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index 89b08552a..e6f19369e 100644 --- a/ospfd/ospfd.c +++ b/ospfd/ospfd.c @@ -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 |