From 18ca7de516777d88c86a2fcc7bd0f13f11f0f3e7 Mon Sep 17 00:00:00 2001 From: Mobashshera Rasool Date: Wed, 19 Jan 2022 05:50:02 -0800 Subject: [PATCH] pim6d: Add ipv6 pim register-suppress-time CLI Adding below CLI for pim6d [no] ipv6 pim register-suppress-time (1-65535) Signed-off-by: Mobashshera Rasool --- pimd/pim6_cmd.c | 25 +++++++++++++++++++++++++ pimd/pim_cmd.c | 24 ++++-------------------- pimd/pim_cmd_common.c | 26 ++++++++++++++++++++++++++ pimd/pim_cmd_common.h | 2 ++ 4 files changed, 57 insertions(+), 20 deletions(-) diff --git a/pimd/pim6_cmd.c b/pimd/pim6_cmd.c index b8aac48ce9..06790d3d63 100644 --- a/pimd/pim6_cmd.c +++ b/pimd/pim6_cmd.c @@ -187,6 +187,29 @@ DEFPY (no_ipv6_pim_rp_keep_alive, return pim_process_no_rp_kat_cmd(vty); } +DEFPY (ipv6_pim_register_suppress, + ipv6_pim_register_suppress_cmd, + "ipv6 pim register-suppress-time (1-65535)$rst", + IPV6_STR + PIM_STR + "Register Suppress Timer\n" + "Seconds\n") +{ + return pim_process_register_suppress_cmd(vty, rst_str); +} + +DEFPY (no_ipv6_pim_register_suppress, + no_ipv6_pim_register_suppress_cmd, + "no ipv6 pim register-suppress-time [(1-65535)]", + NO_STR + IPV6_STR + PIM_STR + "Register Suppress Timer\n" + IGNORED_IN_NO_STR) +{ + return pim_process_no_register_suppress_cmd(vty); +} + void pim_cmd_init(void) { if_cmd_init(pim_interface_config_write); @@ -203,4 +226,6 @@ void pim_cmd_init(void) install_element(CONFIG_NODE, &no_ipv6_pim_keep_alive_cmd); install_element(CONFIG_NODE, &ipv6_pim_rp_keep_alive_cmd); install_element(CONFIG_NODE, &no_ipv6_pim_rp_keep_alive_cmd); + install_element(CONFIG_NODE, &ipv6_pim_register_suppress_cmd); + install_element(CONFIG_NODE, &no_ipv6_pim_register_suppress_cmd); } diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index 5568893a65..76f90cdba7 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -6821,23 +6821,15 @@ DEFUN (no_ip_pim_joinprune_time, return pim_process_no_join_prune_cmd(vty); } -DEFUN (ip_pim_register_suppress, +DEFPY (ip_pim_register_suppress, ip_pim_register_suppress_cmd, - "ip pim register-suppress-time (1-65535)", + "ip pim register-suppress-time (1-65535)$rst", IP_STR "pim multicast routing\n" "Register Suppress Timer\n" "Seconds\n") { - char xpath[XPATH_MAXLEN]; - - snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH, - "frr-routing:ipv4"); - strlcat(xpath, "/register-suppress-time", sizeof(xpath)); - - nb_cli_enqueue_change(vty, xpath, NB_OP_MODIFY, argv[3]->arg); - - return nb_cli_apply_changes(vty, NULL); + return pim_process_register_suppress_cmd(vty, rst_str); } DEFUN (no_ip_pim_register_suppress, @@ -6849,15 +6841,7 @@ DEFUN (no_ip_pim_register_suppress, "Register Suppress Timer\n" IGNORED_IN_NO_STR) { - char xpath[XPATH_MAXLEN]; - - snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH, - "frr-routing:ipv4"); - strlcat(xpath, "/register-suppress-time", sizeof(xpath)); - - nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL); - - return nb_cli_apply_changes(vty, NULL); + return pim_process_no_register_suppress_cmd(vty); } DEFPY (ip_pim_rp_keep_alive, diff --git a/pimd/pim_cmd_common.c b/pimd/pim_cmd_common.c index 1a1e11cfd7..6adea54a61 100644 --- a/pimd/pim_cmd_common.c +++ b/pimd/pim_cmd_common.c @@ -300,3 +300,29 @@ int pim_process_no_rp_kat_cmd(struct vty *vty) return nb_cli_apply_changes(vty, NULL); } + +int pim_process_register_suppress_cmd(struct vty *vty, const char *rst) +{ + char xpath[XPATH_MAXLEN]; + + snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH, + FRR_PIM_AF_XPATH_VAL); + strlcat(xpath, "/register-suppress-time", sizeof(xpath)); + + nb_cli_enqueue_change(vty, xpath, NB_OP_MODIFY, rst); + + return nb_cli_apply_changes(vty, NULL); +} + +int pim_process_no_register_suppress_cmd(struct vty *vty) +{ + char xpath[XPATH_MAXLEN]; + + snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH, + FRR_PIM_AF_XPATH_VAL); + strlcat(xpath, "/register-suppress-time", sizeof(xpath)); + + nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL); + + return nb_cli_apply_changes(vty, NULL); +} diff --git a/pimd/pim_cmd_common.h b/pimd/pim_cmd_common.h index 8cba5ae3eb..49fc6bcbeb 100644 --- a/pimd/pim_cmd_common.h +++ b/pimd/pim_cmd_common.h @@ -33,5 +33,7 @@ int pim_process_keepalivetimer_cmd(struct vty *vty, const char *kat); int pim_process_no_keepalivetimer_cmd(struct vty *vty); int pim_process_rp_kat_cmd(struct vty *vty, const char *rpkat); int pim_process_no_rp_kat_cmd(struct vty *vty); +int pim_process_register_suppress_cmd(struct vty *vty, const char *rst); +int pim_process_no_register_suppress_cmd(struct vty *vty); #endif /* PIM_CMD_COMMON_H */ -- 2.39.5