From e61379f38c849d483ab1d779504644a3c6010c35 Mon Sep 17 00:00:00 2001 From: Philippe Guibert Date: Fri, 25 Oct 2024 10:23:54 +0200 Subject: [PATCH] isisd: fix change flex-algorithm number from uint32 to uint8 The algorithm number is encoded on 8 bits and does not require an unsigned 32 bit value to store the value. Fixes: cc4926c1284e ("isisd,yang: add algorithm-prefix-sid configuration tree") Signed-off-by: Philippe Guibert (cherry picked from commit 8e861a75e8b426f0944157387699fe1ab322fe8e) --- isisd/isis_cli.c | 4 ++-- isisd/isis_nb_config.c | 4 ++-- yang/frr-isisd.yang | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/isisd/isis_cli.c b/isisd/isis_cli.c index e6cc794baed9..93f7bbf753a2 100644 --- a/isisd/isis_cli.c +++ b/isisd/isis_cli.c @@ -2015,12 +2015,12 @@ void cli_show_isis_prefix_sid_algorithm(struct vty *vty, const char *sid_value_type; const char *sid_value; bool n_flag_clear; - uint32_t algorithm; + uint8_t algorithm; prefix = yang_dnode_get_string(dnode, "prefix"); sid_value_type = yang_dnode_get_string(dnode, "sid-value-type"); sid_value = yang_dnode_get_string(dnode, "sid-value"); - algorithm = yang_dnode_get_uint32(dnode, "algo"); + algorithm = yang_dnode_get_uint8(dnode, "algo"); lh_behavior = yang_dnode_get_string(dnode, "last-hop-behavior"); n_flag_clear = yang_dnode_get_bool(dnode, "n-flag-clear"); diff --git a/isisd/isis_nb_config.c b/isisd/isis_nb_config.c index e5b9552bd31f..3dac81dae3df 100644 --- a/isisd/isis_nb_config.c +++ b/isisd/isis_nb_config.c @@ -2630,14 +2630,14 @@ int isis_instance_segment_routing_algorithm_prefix_sid_create( struct isis_area *area; struct prefix prefix; struct sr_prefix_cfg *pcfg; - uint32_t algorithm; + uint8_t algorithm; if (args->event != NB_EV_APPLY) return NB_OK; area = nb_running_get_entry(args->dnode, NULL, true); yang_dnode_get_prefix(&prefix, args->dnode, "prefix"); - algorithm = yang_dnode_get_uint32(args->dnode, "algo"); + algorithm = yang_dnode_get_uint8(args->dnode, "algo"); pcfg = isis_sr_cfg_prefix_add(area, &prefix, algorithm); pcfg->algorithm = algorithm; diff --git a/yang/frr-isisd.yang b/yang/frr-isisd.yang index d1a08fa976b9..94842b58fb87 100644 --- a/yang/frr-isisd.yang +++ b/yang/frr-isisd.yang @@ -1922,7 +1922,7 @@ module frr-isisd { if set to disable, ISISEXPLICITNULLFlag will override the value of ISISPHPFlag"; leaf algo { - type uint32 { + type uint8 { range "128..255"; } description