summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_interface.c
diff options
context:
space:
mode:
authorAcee Lindem <acee@lindem.com>2025-03-14 16:02:28 +0000
committerMergify <37929162+mergify[bot]@users.noreply.github.com>2025-03-19 06:56:18 +0000
commitc2a86d61c83b7a807687f3299e2b1ab5376bd155 (patch)
treef0dda64489b10aaa118f45b088489a1718f356ee /ospf6d/ospf6_interface.c
parentb2f25186146ec738c3f25b46420afd803a9cf060 (diff)
ospf6d: Disable and delete OSPFv3 areas that no longer have interfaces or configuration.
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> (cherry picked from commit 04994891fe164b4d5a2819d3bc90e5346f94dc53)
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);
}
}