diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c index 27d74cd4fcd9..8aabfc914b2d 100644 --- a/ospfd/ospf_zebra.c +++ b/ospfd/ospf_zebra.c @@ -47,7 +47,7 @@ DEFINE_MTYPE_STATIC(OSPFD, OSPF_REDISTRIBUTE, "OSPF Redistriute"); /* Zebra structure to hold current status. */ struct zclient *zclient = NULL; /* and for the Synchronous connection to the Label Manager */ -static struct zclient *zclient_sync; +struct zclient *zclient_sync; /* For registering threads. */ extern struct event_loop *master; diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index 51e937f42c4e..0922aecc3745 100644 --- a/ospfd/ospfd.c +++ b/ospfd/ospfd.c @@ -60,6 +60,7 @@ struct ospf_master *om; unsigned short ospf_instance; extern struct zclient *zclient; +extern struct zclient *zclient_sync; static void ospf_remove_vls_through_area(struct ospf *, struct ospf_area *); @@ -681,6 +682,8 @@ void ospf_terminate(void) */ zclient_stop(zclient); zclient_free(zclient); + zclient_stop(zclient_sync); + zclient_free(zclient_sync); done: frr_fini();