]> git.puffer.fish Git - mirror/frr.git/commitdiff
isisd: move flex_algo_delete into flex_algo_destroy
authorLouis Scalbert <louis.scalbert@6wind.com>
Fri, 26 Jul 2024 07:28:40 +0000 (09:28 +0200)
committerLouis Scalbert <louis.scalbert@6wind.com>
Fri, 26 Jul 2024 09:27:51 +0000 (11:27 +0200)
Move flex_algo_delete() content into isis_instance_flex_algo_destroy()
because it is called only once.

Rename _flex_algo_delete to flex_algo_free()

Cosmetic change.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
isisd/isis_nb_config.c
lib/flex_algo.c
lib/flex_algo.h

index 8926b624ea02e6e68974bca7e199dcb95aa341db..f67b28cd7cfaf29947ef106335c20bd1a46fed64 100644 (file)
@@ -2875,6 +2875,8 @@ 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 listnode *node, *nnode;
+       struct flex_algo *fa;
        struct isis_area *area;
        uint32_t algorithm;
 
@@ -2883,7 +2885,11 @@ int isis_instance_flex_algo_destroy(struct nb_cb_destroy_args *args)
 
        switch (args->event) {
        case NB_EV_APPLY:
-               flex_algo_delete(area->flex_algos, algorithm);
+               for (ALL_LIST_ELEMENTS(area->flex_algos->flex_algos, node,
+                                      nnode, fa)) {
+                       if (fa->algorithm == algorithm)
+                               flex_algo_free(area->flex_algos, fa);
+               }
                lsp_regenerate_schedule(area, area->is_type, 0);
                break;
        case NB_EV_VALIDATE:
index f48117ff1b1511555c66e36002372d8a12b04cfe..ab0eef67cb3bdcce3d207fd68ef57883e22a0c67 100644 (file)
@@ -20,9 +20,6 @@
 DEFINE_MTYPE_STATIC(LIB, FLEX_ALGO_DATABASE, "Flex-Algo database");
 DEFINE_MTYPE_STATIC(LIB, FLEX_ALGO, "Flex-Algo algorithm information");
 
-static void _flex_algo_delete(struct flex_algos *flex_algos,
-                             struct flex_algo *fa);
-
 struct flex_algos *flex_algos_alloc(flex_algo_allocator_t allocator,
                                    flex_algo_releaser_t releaser)
 {
@@ -42,7 +39,7 @@ void flex_algos_free(struct flex_algos *flex_algos)
        struct flex_algo *fa;
 
        for (ALL_LIST_ELEMENTS(flex_algos->flex_algos, node, nnode, fa))
-               _flex_algo_delete(flex_algos, fa);
+               flex_algo_free(flex_algos, fa);
        list_delete(&flex_algos->flex_algos);
        XFREE(MTYPE_FLEX_ALGO_DATABASE, flex_algos);
 }
@@ -63,8 +60,7 @@ struct flex_algo *flex_algo_alloc(struct flex_algos *flex_algos,
        return fa;
 }
 
-static void _flex_algo_delete(struct flex_algos *flex_algos,
-                             struct flex_algo *fa)
+void flex_algo_free(struct flex_algos *flex_algos, struct flex_algo *fa)
 {
        if (flex_algos->releaser)
                flex_algos->releaser(fa->data);
@@ -75,19 +71,6 @@ static void _flex_algo_delete(struct flex_algos *flex_algos,
        XFREE(MTYPE_FLEX_ALGO, fa);
 }
 
-
-void flex_algo_delete(struct flex_algos *flex_algos, uint8_t algorithm)
-{
-       struct listnode *node, *nnode;
-       struct flex_algo *fa;
-
-       for (ALL_LIST_ELEMENTS(flex_algos->flex_algos, node, nnode, fa)) {
-               if (fa->algorithm != algorithm)
-                       continue;
-               _flex_algo_delete(flex_algos, fa);
-       }
-}
-
 /**
  * @brief Look up the local flex-algo object by its algorithm number.
  * @param algorithm flex-algo algorithm number
index ee1f617e2953966dfc41b2b7443913f74bb1d7f9..54b37783e609c990da5d82685d8fd3dd5c2661b6 100644 (file)
@@ -115,10 +115,10 @@ struct flex_algos *flex_algos_alloc(flex_algo_allocator_t allocator,
 void flex_algos_free(struct flex_algos *flex_algos);
 struct flex_algo *flex_algo_alloc(struct flex_algos *flex_algos,
                                  uint8_t algorithm, void *arg);
+void flex_algo_free(struct flex_algos *flex_algos, struct flex_algo *fa);
 struct flex_algo *flex_algo_lookup(struct flex_algos *flex_algos,
                                   uint8_t algorithm);
 bool flex_algo_definition_cmp(struct flex_algo *fa1, struct flex_algo *fa2);
-void flex_algo_delete(struct flex_algos *flex_algos, uint8_t algorithm);
 bool flex_algo_id_valid(uint16_t algorithm);
 char *flex_algo_metric_type_print(char *type_str, size_t sz,
                                  enum flex_algo_metric_type metric_type);