From 6b1cf330c4b0252ef41f26527b634aa3432a058e 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 e6cc794bae..93f7bbf753 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 62f84d4745..baa3fb78dd 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 5d7c739c05..4ba32b810a 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 -- 2.39.5