diff options
author | Olivier Dugeon <olivier.dugeon@orange.com> | 2021-06-09 09:06:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-09 09:06:42 +0200 |
commit | 3898a4522f0d4e54f23ff76a05ad877743c10587 (patch) | |
tree | ee3f1226240c86a7875b623f5b0457cb18c33c17 /ospfd/ospfd.c | |
parent | Merge pull request #8593 from idryzhov/cmd-ambiguous (diff) | |
parent | ospfd: fix crash when displaying neighbor data in JSON (diff) | |
download | frr-3898a4522f0d4e54f23ff76a05ad877743c10587.tar.xz frr-3898a4522f0d4e54f23ff76a05ad877743c10587.zip |
Merge pull request #8798 from opensourcerouting/ospfd-fixes
ospfd: assorted fixes
Diffstat (limited to 'ospfd/ospfd.c')
-rw-r--r-- | ospfd/ospfd.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index 2f088aa81..e95ee55e6 100644 --- a/ospfd/ospfd.c +++ b/ospfd/ospfd.c @@ -386,7 +386,7 @@ struct ospf *ospf_new_alloc(unsigned short instance, const char *name) new->proactive_arp = OSPF_PROACTIVE_ARP_DEFAULT; - ospf_gr_helper_init(new); + ospf_gr_helper_instance_init(new); ospf_asbr_external_aggregator_init(new); @@ -651,6 +651,9 @@ void ospf_terminate(void) for (ALL_LIST_ELEMENTS(om->ospf, node, nnode, ospf)) ospf_finish(ospf); + /* Cleanup GR */ + ospf_gr_helper_stop(); + /* Cleanup route maps */ route_map_finish(); @@ -815,8 +818,8 @@ static void ospf_finish_final(struct ospf *ospf) if ((lsa = rn->info) != NULL) { ospf_lsa_unlock(&lsa); rn->info = NULL; + route_unlock_node(rn); } - route_unlock_node(rn); } route_table_finish(ospf->maxage_lsa); @@ -890,7 +893,7 @@ static void ospf_finish_final(struct ospf *ospf) list_delete(&ospf->oi_write_q); /* Reset GR helper data structers */ - ospf_gr_helper_stop(ospf); + ospf_gr_helper_instance_stop(ospf); close(ospf->fd); stream_free(ospf->ibuf); |