]> git.proxmox.com Git - mirror_frr.git/commitdiff
pimd: Add `ip pim rp keep-alive-time X`
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 2 Aug 2017 12:15:45 +0000 (08:15 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 2 Aug 2017 12:17:36 +0000 (08:17 -0400)
Ticket: CM-17134
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_cmd.c
pimd/pim_vty.c

index 0cc8f0c87ed9509d2fd206f33116180b3bbd6c69..491c02e2586a775151548ca68cc543cf4dcf11bc 100644 (file)
@@ -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);
index b48bb52f3f641aec9d62c4573adeb85de4136445..8914f6eb00518107788dd9c8994136cf25b30856 100644 (file)
@@ -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);