From: Louis Scalbert Date: Fri, 26 Jul 2024 07:56:14 +0000 (+0200) Subject: isisd: free asla at last flex-algo unconfiguration X-Git-Tag: base_10.2~238^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=refs%2Fpull%2F16467%2Fhead;p=mirror%2Ffrr.git isisd: free asla at last flex-algo unconfiguration Free ASLA when the last flex-algo is unconfigured. Signed-off-by: Louis Scalbert --- diff --git a/isisd/isis_nb_config.c b/isisd/isis_nb_config.c index 66b66194c8..2b47d5cbeb 100644 --- a/isisd/isis_nb_config.c +++ b/isisd/isis_nb_config.c @@ -2884,6 +2884,7 @@ int isis_instance_flex_algo_create(struct nb_cb_create_args *args) int isis_instance_flex_algo_destroy(struct nb_cb_destroy_args *args) { + struct isis_circuit *circuit; struct listnode *node, *nnode; struct flex_algo *fa; struct isis_area *area; @@ -2899,6 +2900,12 @@ int isis_instance_flex_algo_destroy(struct nb_cb_destroy_args *args) if (fa->algorithm == algorithm) flex_algo_free(area->flex_algos, fa); } + if (list_isempty(area->flex_algos->flex_algos)) { + for (ALL_LIST_ELEMENTS_RO(area->circuit_list, node, + circuit)) + isis_link_params_update_asla(circuit, + circuit->interface); + } lsp_regenerate_schedule(area, area->is_type, 0); break; case NB_EV_VALIDATE: