From 0e17028fea76afcefa5352c0f1318b5c096731f4 Mon Sep 17 00:00:00 2001 From: github login name Date: Mon, 5 Jul 2021 04:07:25 -0700 Subject: [PATCH] pimd: make pim interface hold interval range 1-630 Making the interface holdtime range to 3.5 times the hello-time As per 7761, Section 4.11: The Holdtime in a Hello message should be set to (3.5 * Hello_Period), giving a default value of 105 seconds. Therefore providing the user also to configure max upto 3.5 times the hello timer interval. Signed-off-by: Mobashshera Rasool (cherry picked from commit 142774530ade49f63997bd52c434457fe8979bdf) --- doc/user/pim.rst | 2 +- pimd/pim_cmd.c | 4 ++-- pimd/pim_nb_config.c | 2 +- yang/frr-pim.yang | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/user/pim.rst b/doc/user/pim.rst index 103760933c..d05d3fdb19 100644 --- a/doc/user/pim.rst +++ b/doc/user/pim.rst @@ -199,7 +199,7 @@ is in a vrf, enter the interface command with the vrf keyword at the end. Set the DR Priority for the interface. This command is useful to allow the user to influence what node becomes the DR for a lan segment. -.. clicmd:: ip pim hello (1-180) (1-180) +.. clicmd:: ip pim hello (1-180) (1-630) Set the pim hello and hold interval for a interface. diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index f189cd7ff0..e6806bbbda 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -8720,7 +8720,7 @@ DEFUN (interface_no_ip_mroute, DEFUN (interface_ip_pim_hello, interface_ip_pim_hello_cmd, - "ip pim hello (1-180) [(1-180)]", + "ip pim hello (1-180) [(1-630)]", IP_STR PIM_STR IFACE_PIM_HELLO_STR @@ -8755,7 +8755,7 @@ DEFUN (interface_ip_pim_hello, DEFUN (interface_no_ip_pim_hello, interface_no_ip_pim_hello_cmd, - "no ip pim hello [(1-180) [(1-180)]]", + "no ip pim hello [(1-180) [(1-630)]]", NO_STR IP_STR PIM_STR diff --git a/pimd/pim_nb_config.c b/pimd/pim_nb_config.c index 11e8da3b87..c13165a706 100644 --- a/pimd/pim_nb_config.c +++ b/pimd/pim_nb_config.c @@ -1851,7 +1851,7 @@ int lib_interface_pim_hello_holdtime_modify(struct nb_cb_modify_args *args) ifp = nb_running_get_entry(args->dnode, NULL, true); pim_ifp = ifp->info; pim_ifp->pim_default_holdtime = - yang_dnode_get_uint8(args->dnode, NULL); + yang_dnode_get_uint16(args->dnode, NULL); break; } diff --git a/yang/frr-pim.yang b/yang/frr-pim.yang index 70adb37b26..7f833a8057 100644 --- a/yang/frr-pim.yang +++ b/yang/frr-pim.yang @@ -291,8 +291,8 @@ module frr-pim { } leaf hello-holdtime { - type uint8 { - range "1..180"; + type uint16 { + range "1..630"; } must ". > ./../hello-interval" { error-message "HoldTime must be greater than Hello"; -- 2.39.5