summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_interface.c
diff options
context:
space:
mode:
authorAcee Lindem <acee@lindem.com>2025-03-13 19:16:23 +0000
committerAcee Lindem <acee@lindem.com>2025-03-13 19:16:23 +0000
commit288a4616b830827797199f33c10dce4dc7d0c8e9 (patch)
treef37604fd15531605b3bf1194384f2428168563b6 /ospf6d/ospf6_interface.c
parent2ab8cce2e189a4f222a21e3d59c4b49854919ee4 (diff)
ospf6d: Disable and delete OSPFv3 areas that no longer have config.aceelindem/ospf6-area-no-config-delete
This fix will delete an OSPFv3 area when all the interfaces and configuration (ranges, NSSA ranges, stub area, NSSA area, filter-list, import-list and export-list) have been removed. The changes provides a general solution to https://github.com/FRRouting/frr/issues/18324. Signed-off-by: Acee Lindem <acee@lindem.com>
Diffstat (limited to 'ospf6d/ospf6_interface.c')
-rw-r--r--ospf6d/ospf6_interface.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c
index 60f92385dd..1022101eb3 100644
--- a/ospf6d/ospf6_interface.c
+++ b/ospf6d/ospf6_interface.c
@@ -1823,6 +1823,9 @@ void ospf6_interface_stop(struct ospf6_interface *oi)
if (oa->if_list->count == 0) {
UNSET_FLAG(oa->flag, OSPF6_AREA_ENABLE);
ospf6_abr_disable_area(oa);
+
+ /* Delete area if no interfaces or configuration. */
+ ospf6_area_no_config_delete(oa);
}
}