diff options
Diffstat (limited to 'eigrpd/eigrpd.c')
-rw-r--r-- | eigrpd/eigrpd.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/eigrpd/eigrpd.c b/eigrpd/eigrpd.c index b30f14f74..e9f81fc1c 100644 --- a/eigrpd/eigrpd.c +++ b/eigrpd/eigrpd.c @@ -62,9 +62,7 @@ static struct eigrp_master eigrp_master; struct eigrp_master *eigrp_om; -static void eigrp_delete(struct eigrp *); static struct eigrp *eigrp_new(const char *); -static void eigrp_add(struct eigrp *); extern struct zclient *zclient; extern struct in_addr router_id_zebra; @@ -203,16 +201,6 @@ static struct eigrp *eigrp_new(const char *AS) return eigrp; } -static void eigrp_add(struct eigrp *eigrp) -{ - listnode_add(eigrp_om->eigrp, eigrp); -} - -static void eigrp_delete(struct eigrp *eigrp) -{ - listnode_delete(eigrp_om->eigrp, eigrp); -} - struct eigrp *eigrp_get(const char *AS) { struct eigrp *eigrp; @@ -220,7 +208,7 @@ struct eigrp *eigrp_get(const char *AS) eigrp = eigrp_lookup(); if (eigrp == NULL) { eigrp = eigrp_new(AS); - eigrp_add(eigrp); + listnode_add(eigrp_om->eigrp, eigrp); } return eigrp; @@ -281,7 +269,6 @@ void eigrp_finish_final(struct eigrp *eigrp) list_delete_and_null(&eigrp->eiflist); list_delete_and_null(&eigrp->oi_write_q); - eigrp_topology_cleanup(eigrp->topology_table); eigrp_topology_free(eigrp->topology_table); eigrp_nbr_delete(eigrp->neighbor_self); @@ -289,8 +276,9 @@ void eigrp_finish_final(struct eigrp *eigrp) list_delete_and_null(&eigrp->topology_changes_externalIPV4); list_delete_and_null(&eigrp->topology_changes_internalIPV4); - eigrp_delete(eigrp); + listnode_delete(eigrp_om->eigrp, eigrp); + stream_free(eigrp->ibuf); XFREE(MTYPE_EIGRP_TOP, eigrp); } |