diff options
| author | Acee Lindem <acee@lindem.com> | 2025-03-14 16:02:28 +0000 |
|---|---|---|
| committer | Acee Lindem <acee@lindem.com> | 2025-03-14 16:02:28 +0000 |
| commit | 04994891fe164b4d5a2819d3bc90e5346f94dc53 (patch) | |
| tree | 86e586922605f223d7935d03395aec99cda838cf /ospf6d/ospf6_interface.c | |
| parent | 7945af02000541ea6c1dc1ee0321cb5380768baf (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>
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); } } |
