summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pimd/pim_cmd.c33
-rw-r--r--pimd/pim_vty.c5
2 files changed, 38 insertions, 0 deletions
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c
index 0cc8f0c87e..491c02e258 100644
--- a/pimd/pim_cmd.c
+++ b/pimd/pim_cmd.c
@@ -5225,6 +5225,35 @@ DEFUN (no_ip_pim_register_suppress,
return CMD_SUCCESS;
}
+DEFUN (ip_pim_rp_keep_alive,
+ ip_pim_rp_keep_alive_cmd,
+ "ip pim rp keep-alive-timer (31-60000)",
+ IP_STR
+ "pim multicast routing\n"
+ "Rendevous Point\n"
+ "Keep alive Timer\n"
+ "Seconds\n")
+{
+ PIM_DECLVAR_CONTEXT(vrf, pim);
+ pim->rp_keep_alive_time = atoi(argv[3]->arg);
+ return CMD_SUCCESS;
+}
+
+DEFUN (no_ip_pim_rp_keep_alive,
+ no_ip_pim_rp_keep_alive_cmd,
+ "no ip pim rp keep-alive-timer (31-60000)",
+ NO_STR
+ IP_STR
+ "pim multicast routing\n"
+ "Rendevous Point\n"
+ "Keep alive Timer\n"
+ "Seconds\n")
+{
+ PIM_DECLVAR_CONTEXT(vrf, pim);
+ pim->rp_keep_alive_time = PIM_KEEPALIVE_PERIOD;
+ return CMD_SUCCESS;
+}
+
DEFUN (ip_pim_keep_alive,
ip_pim_keep_alive_cmd,
"ip pim keep-alive-timer (31-60000)",
@@ -8397,8 +8426,12 @@ void pim_cmd_init(void)
install_element(VRF_NODE, &no_ip_pim_joinprune_time_cmd);
install_element(CONFIG_NODE, &ip_pim_keep_alive_cmd);
install_element(VRF_NODE, &ip_pim_keep_alive_cmd);
+ install_element(CONFIG_NODE, &ip_pim_rp_keep_alive_cmd);
+ install_element(VRF_NODE, &ip_pim_rp_keep_alive_cmd);
install_element(CONFIG_NODE, &no_ip_pim_keep_alive_cmd);
install_element(VRF_NODE, &no_ip_pim_keep_alive_cmd);
+ install_element(CONFIG_NODE, &no_ip_pim_rp_keep_alive_cmd);
+ install_element(VRF_NODE, &no_ip_pim_rp_keep_alive_cmd);
install_element(CONFIG_NODE, &ip_pim_packets_cmd);
install_element(VRF_NODE, &ip_pim_packets_cmd);
install_element(CONFIG_NODE, &no_ip_pim_packets_cmd);
diff --git a/pimd/pim_vty.c b/pimd/pim_vty.c
index b48bb52f3f..8914f6eb00 100644
--- a/pimd/pim_vty.c
+++ b/pimd/pim_vty.c
@@ -183,6 +183,11 @@ int pim_global_config_write_worker(struct pim_instance *pim, struct vty *vty)
pim->keep_alive_time);
++writes;
}
+ if (pim->rp_keep_alive_time != (unsigned int)PIM_RP_KEEPALIVE_PERIOD) {
+ vty_out(vty, "%sip pim rp keep-alive-timer %d\n", spaces,
+ pim->rp_keep_alive_time);
+ ++writes;
+ }
if (qpim_packet_process != PIM_DEFAULT_PACKET_PROCESS) {
vty_out(vty, "%sip pim packets %d\n", spaces,
qpim_packet_process);