diff options
Diffstat (limited to 'ospf6d/ospf6_interface.c')
| -rw-r--r-- | ospf6d/ospf6_interface.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c index dd08144daa..692c84ad08 100644 --- a/ospf6d/ospf6_interface.c +++ b/ospf6d/ospf6_interface.c @@ -177,8 +177,7 @@ struct ospf6_interface *ospf6_interface_create(struct interface *ifp) struct ospf6_interface *oi; unsigned int iobuflen; - oi = (struct ospf6_interface *)XCALLOC(MTYPE_OSPF6_IF, - sizeof(struct ospf6_interface)); + oi = XCALLOC(MTYPE_OSPF6_IF, sizeof(struct ospf6_interface)); oi->area = (struct ospf6_area *)NULL; oi->neighbor_list = list_new(); @@ -269,6 +268,9 @@ void ospf6_interface_delete(struct ospf6_interface *oi) ospf6_bfd_info_free(&(oi->bfd_info)); + /* disable from area list if possible */ + ospf6_area_interface_delete(oi); + XFREE(MTYPE_OSPF6_IF, oi); } |
