diff options
| author | Acee Lindem <acee@lindem.com> | 2025-03-13 19:16:23 +0000 |
|---|---|---|
| committer | Acee Lindem <acee@lindem.com> | 2025-03-13 19:16:23 +0000 |
| commit | 288a4616b830827797199f33c10dce4dc7d0c8e9 (patch) | |
| tree | f37604fd15531605b3bf1194384f2428168563b6 /ospf6d/ospf6_interface.c | |
| parent | 2ab8cce2e189a4f222a21e3d59c4b49854919ee4 (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.c | 3 |
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); } } |
