mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 06:03:10 +00:00
pim6d: Adding ipv6 pim keep-alive-timer
Adding the below CLI for pim6d daemon: ipv6 pim keep-alive-timer (1-65535) Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
This commit is contained in:
parent
0da72f1f59
commit
28e32366e3
@ -139,6 +139,29 @@ DEFPY (no_ipv6_pim_packets,
|
|||||||
return pim_process_no_pim_packet_cmd(vty);
|
return pim_process_no_pim_packet_cmd(vty);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFPY (ipv6_pim_keep_alive,
|
||||||
|
ipv6_pim_keep_alive_cmd,
|
||||||
|
"ipv6 pim keep-alive-timer (1-65535)$kat",
|
||||||
|
IPV6_STR
|
||||||
|
PIM_STR
|
||||||
|
"Keep alive Timer\n"
|
||||||
|
"Seconds\n")
|
||||||
|
{
|
||||||
|
return pim_process_keepalivetimer_cmd(vty, kat_str);
|
||||||
|
}
|
||||||
|
|
||||||
|
DEFPY (no_ipv6_pim_keep_alive,
|
||||||
|
no_ipv6_pim_keep_alive_cmd,
|
||||||
|
"no ipv6 pim keep-alive-timer [(1-65535)]",
|
||||||
|
NO_STR
|
||||||
|
IPV6_STR
|
||||||
|
PIM_STR
|
||||||
|
"Keep alive Timer\n"
|
||||||
|
IGNORED_IN_NO_STR)
|
||||||
|
{
|
||||||
|
return pim_process_no_keepalivetimer_cmd(vty);
|
||||||
|
}
|
||||||
|
|
||||||
void pim_cmd_init(void)
|
void pim_cmd_init(void)
|
||||||
{
|
{
|
||||||
if_cmd_init(pim_interface_config_write);
|
if_cmd_init(pim_interface_config_write);
|
||||||
@ -151,4 +174,6 @@ void pim_cmd_init(void)
|
|||||||
install_element(CONFIG_NODE, &no_ipv6_pim_spt_switchover_infinity_plist_cmd);
|
install_element(CONFIG_NODE, &no_ipv6_pim_spt_switchover_infinity_plist_cmd);
|
||||||
install_element(CONFIG_NODE, &ipv6_pim_packets_cmd);
|
install_element(CONFIG_NODE, &ipv6_pim_packets_cmd);
|
||||||
install_element(CONFIG_NODE, &no_ipv6_pim_packets_cmd);
|
install_element(CONFIG_NODE, &no_ipv6_pim_packets_cmd);
|
||||||
|
install_element(CONFIG_NODE, &ipv6_pim_keep_alive_cmd);
|
||||||
|
install_element(CONFIG_NODE, &no_ipv6_pim_keep_alive_cmd);
|
||||||
}
|
}
|
||||||
|
@ -6933,29 +6933,15 @@ DEFUN (no_ip_pim_rp_keep_alive,
|
|||||||
return nb_cli_apply_changes(vty, NULL);
|
return nb_cli_apply_changes(vty, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
DEFUN (ip_pim_keep_alive,
|
DEFPY (ip_pim_keep_alive,
|
||||||
ip_pim_keep_alive_cmd,
|
ip_pim_keep_alive_cmd,
|
||||||
"ip pim keep-alive-timer (1-65535)",
|
"ip pim keep-alive-timer (1-65535)$kat",
|
||||||
IP_STR
|
IP_STR
|
||||||
"pim multicast routing\n"
|
"pim multicast routing\n"
|
||||||
"Keep alive Timer\n"
|
"Keep alive Timer\n"
|
||||||
"Seconds\n")
|
"Seconds\n")
|
||||||
{
|
{
|
||||||
const char *vrfname;
|
return pim_process_keepalivetimer_cmd(vty, kat_str);
|
||||||
char ka_timer_xpath[XPATH_MAXLEN];
|
|
||||||
|
|
||||||
vrfname = pim_cli_get_vrf_name(vty);
|
|
||||||
if (vrfname == NULL)
|
|
||||||
return CMD_WARNING_CONFIG_FAILED;
|
|
||||||
|
|
||||||
snprintf(ka_timer_xpath, sizeof(ka_timer_xpath), FRR_PIM_VRF_XPATH,
|
|
||||||
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
|
|
||||||
strlcat(ka_timer_xpath, "/keep-alive-timer", sizeof(ka_timer_xpath));
|
|
||||||
|
|
||||||
nb_cli_enqueue_change(vty, ka_timer_xpath, NB_OP_MODIFY,
|
|
||||||
argv[3]->arg);
|
|
||||||
|
|
||||||
return nb_cli_apply_changes(vty, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DEFUN (no_ip_pim_keep_alive,
|
DEFUN (no_ip_pim_keep_alive,
|
||||||
@ -6967,20 +6953,7 @@ DEFUN (no_ip_pim_keep_alive,
|
|||||||
"Keep alive Timer\n"
|
"Keep alive Timer\n"
|
||||||
IGNORED_IN_NO_STR)
|
IGNORED_IN_NO_STR)
|
||||||
{
|
{
|
||||||
const char *vrfname;
|
return pim_process_no_keepalivetimer_cmd(vty);
|
||||||
char ka_timer_xpath[XPATH_MAXLEN];
|
|
||||||
|
|
||||||
vrfname = pim_cli_get_vrf_name(vty);
|
|
||||||
if (vrfname == NULL)
|
|
||||||
return CMD_WARNING_CONFIG_FAILED;
|
|
||||||
|
|
||||||
snprintf(ka_timer_xpath, sizeof(ka_timer_xpath), FRR_PIM_VRF_XPATH,
|
|
||||||
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
|
|
||||||
strlcat(ka_timer_xpath, "/keep-alive-timer", sizeof(ka_timer_xpath));
|
|
||||||
|
|
||||||
nb_cli_enqueue_change(vty, ka_timer_xpath, NB_OP_DESTROY, NULL);
|
|
||||||
|
|
||||||
return nb_cli_apply_changes(vty, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DEFPY (ip_pim_packets,
|
DEFPY (ip_pim_packets,
|
||||||
|
@ -205,3 +205,40 @@ int pim_process_no_pim_packet_cmd(struct vty *vty)
|
|||||||
|
|
||||||
return nb_cli_apply_changes(vty, NULL);
|
return nb_cli_apply_changes(vty, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int pim_process_keepalivetimer_cmd(struct vty *vty, const char *kat)
|
||||||
|
{
|
||||||
|
const char *vrfname;
|
||||||
|
char ka_timer_xpath[XPATH_MAXLEN];
|
||||||
|
|
||||||
|
vrfname = pim_cli_get_vrf_name(vty);
|
||||||
|
if (vrfname == NULL)
|
||||||
|
return CMD_WARNING_CONFIG_FAILED;
|
||||||
|
|
||||||
|
snprintf(ka_timer_xpath, sizeof(ka_timer_xpath), FRR_PIM_VRF_XPATH,
|
||||||
|
"frr-pim:pimd", "pim", vrfname, FRR_PIM_AF_XPATH_VAL);
|
||||||
|
strlcat(ka_timer_xpath, "/keep-alive-timer", sizeof(ka_timer_xpath));
|
||||||
|
|
||||||
|
nb_cli_enqueue_change(vty, ka_timer_xpath, NB_OP_MODIFY,
|
||||||
|
kat);
|
||||||
|
|
||||||
|
return nb_cli_apply_changes(vty, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
int pim_process_no_keepalivetimer_cmd(struct vty *vty)
|
||||||
|
{
|
||||||
|
const char *vrfname;
|
||||||
|
char ka_timer_xpath[XPATH_MAXLEN];
|
||||||
|
|
||||||
|
vrfname = pim_cli_get_vrf_name(vty);
|
||||||
|
if (vrfname == NULL)
|
||||||
|
return CMD_WARNING_CONFIG_FAILED;
|
||||||
|
|
||||||
|
snprintf(ka_timer_xpath, sizeof(ka_timer_xpath), FRR_PIM_VRF_XPATH,
|
||||||
|
"frr-pim:pimd", "pim", vrfname, FRR_PIM_AF_XPATH_VAL);
|
||||||
|
strlcat(ka_timer_xpath, "/keep-alive-timer", sizeof(ka_timer_xpath));
|
||||||
|
|
||||||
|
nb_cli_enqueue_change(vty, ka_timer_xpath, NB_OP_DESTROY, NULL);
|
||||||
|
|
||||||
|
return nb_cli_apply_changes(vty, NULL);
|
||||||
|
}
|
||||||
|
@ -29,5 +29,7 @@ int pim_process_spt_switchover_prefixlist_cmd(struct vty *vty,
|
|||||||
int pim_process_no_spt_switchover_cmd(struct vty *vty);
|
int pim_process_no_spt_switchover_cmd(struct vty *vty);
|
||||||
int pim_process_pim_packet_cmd(struct vty *vty, const char *packet);
|
int pim_process_pim_packet_cmd(struct vty *vty, const char *packet);
|
||||||
int pim_process_no_pim_packet_cmd(struct vty *vty);
|
int pim_process_no_pim_packet_cmd(struct vty *vty);
|
||||||
|
int pim_process_keepalivetimer_cmd(struct vty *vty, const char *kat);
|
||||||
|
int pim_process_no_keepalivetimer_cmd(struct vty *vty);
|
||||||
|
|
||||||
#endif /* PIM_CMD_COMMON_H */
|
#endif /* PIM_CMD_COMMON_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user