summaryrefslogtreecommitdiff
path: root/pimd/pim_cmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_cmd.c')
-rw-r--r--pimd/pim_cmd.c56
1 files changed, 4 insertions, 52 deletions
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c
index b5ebdb30a1..5568893a65 100644
--- a/pimd/pim_cmd.c
+++ b/pimd/pim_cmd.c
@@ -6860,32 +6860,16 @@ DEFUN (no_ip_pim_register_suppress,
return nb_cli_apply_changes(vty, NULL);
}
-DEFUN (ip_pim_rp_keep_alive,
+DEFPY (ip_pim_rp_keep_alive,
ip_pim_rp_keep_alive_cmd,
- "ip pim rp keep-alive-timer (1-65535)",
+ "ip pim rp keep-alive-timer (1-65535)$kat",
IP_STR
"pim multicast routing\n"
"Rendevous Point\n"
"Keep alive Timer\n"
"Seconds\n")
{
- const char *vrfname;
- char rp_ka_timer_xpath[XPATH_MAXLEN];
-
- vrfname = pim_cli_get_vrf_name(vty);
- if (vrfname == NULL)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(rp_ka_timer_xpath, sizeof(rp_ka_timer_xpath),
- FRR_PIM_VRF_XPATH, "frr-pim:pimd", "pim", vrfname,
- "frr-routing:ipv4");
- strlcat(rp_ka_timer_xpath, "/rp-keep-alive-timer",
- sizeof(rp_ka_timer_xpath));
-
- nb_cli_enqueue_change(vty, rp_ka_timer_xpath, NB_OP_MODIFY,
- argv[4]->arg);
-
- return nb_cli_apply_changes(vty, NULL);
+ return pim_process_rp_kat_cmd(vty, kat_str);
}
DEFUN (no_ip_pim_rp_keep_alive,
@@ -6898,39 +6882,7 @@ DEFUN (no_ip_pim_rp_keep_alive,
"Keep alive Timer\n"
IGNORED_IN_NO_STR)
{
- const char *vrfname;
- char rp_ka_timer[6];
- char rp_ka_timer_xpath[XPATH_MAXLEN];
- uint v;
- char rs_timer_xpath[XPATH_MAXLEN];
-
- snprintf(rs_timer_xpath, sizeof(rs_timer_xpath),
- FRR_PIM_ROUTER_XPATH, "frr-routing:ipv4");
- strlcat(rs_timer_xpath, "/register-suppress-time",
- sizeof(rs_timer_xpath));
-
- /* RFC4601 */
- v = yang_dnode_get_uint16(vty->candidate_config->dnode,
- rs_timer_xpath);
- v = 3 * v + PIM_REGISTER_PROBE_TIME_DEFAULT;
- if (v > UINT16_MAX)
- v = UINT16_MAX;
- snprintf(rp_ka_timer, sizeof(rp_ka_timer), "%u", v);
-
- vrfname = pim_cli_get_vrf_name(vty);
- if (vrfname == NULL)
- return CMD_WARNING_CONFIG_FAILED;
-
- snprintf(rp_ka_timer_xpath, sizeof(rp_ka_timer_xpath),
- FRR_PIM_VRF_XPATH, "frr-pim:pimd", "pim", vrfname,
- "frr-routing:ipv4");
- strlcat(rp_ka_timer_xpath, "/rp-keep-alive-timer",
- sizeof(rp_ka_timer_xpath));
-
- nb_cli_enqueue_change(vty, rp_ka_timer_xpath, NB_OP_MODIFY,
- rp_ka_timer);
-
- return nb_cli_apply_changes(vty, NULL);
+ return pim_process_no_rp_kat_cmd(vty);
}
DEFPY (ip_pim_keep_alive,