]> git.puffer.fish Git - matthieu/frr.git/commitdiff
pim6d: Implementing join-prune interval CLI
authorMobashshera Rasool <mrasool@vmware.com>
Wed, 19 Jan 2022 08:06:41 +0000 (00:06 -0800)
committerMobashshera Rasool <mrasool@vmware.com>
Mon, 28 Feb 2022 09:38:41 +0000 (01:38 -0800)
Adding "ipv6 pim join-prune interval (1-65535)

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
pimd/pim6_cmd.c
pimd/pim_cmd.c
pimd/pim_cmd_common.c
pimd/pim_cmd_common.h

index 8055cbe7f69f350581b49366fe24a05cc4a4bd28..2c1cf528fac446841d1ba73296e4a3c5e36201ae 100644 (file)
 #include "pimd/pim6_cmd_clippy.c"
 #endif
 
+DEFPY (ipv6_pim_joinprune_time,
+       ipv6_pim_joinprune_time_cmd,
+       "ipv6 pim join-prune-interval (1-65535)$jpi",
+       IPV6_STR
+       PIM_STR
+       "Join Prune Send Interval\n"
+       "Seconds\n")
+{
+       return pim_process_join_prune_cmd(vty, jpi_str);
+}
+
+DEFPY (no_ipv6_pim_joinprune_time,
+       no_ipv6_pim_joinprune_time_cmd,
+       "no ipv6 pim join-prune-interval [(1-65535)]",
+       NO_STR
+       IPV6_STR
+       PIM_STR
+       "Join Prune Send Interval\n"
+       IGNORED_IN_NO_STR)
+{
+       return pim_process_no_join_prune_cmd(vty);
+}
+
 void pim_cmd_init(void)
 {
        if_cmd_init(pim_interface_config_write);
+
+       install_element(CONFIG_NODE, &ipv6_pim_joinprune_time_cmd);
+       install_element(CONFIG_NODE, &no_ipv6_pim_joinprune_time_cmd);
 }
index 88b45d9eec0d21cedd5f7cbd46c5c5d8df159d88..f2eab757e949d394fa37cf13339edfa0503cecdb 100644 (file)
@@ -6897,23 +6897,15 @@ DEFPY (pim_register_accept_list,
        return nb_cli_apply_changes(vty, NULL);
 }
 
-DEFUN (ip_pim_joinprune_time,
+DEFPY (ip_pim_joinprune_time,
        ip_pim_joinprune_time_cmd,
-       "ip pim join-prune-interval (1-65535)",
+       "ip pim join-prune-interval (1-65535)$jpi",
        IP_STR
        "pim multicast routing\n"
        "Join Prune Send Interval\n"
        "Seconds\n")
 {
-       char xpath[XPATH_MAXLEN];
-
-       snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH,
-                "frr-routing:ipv4");
-       strlcat(xpath, "/join-prune-interval", sizeof(xpath));
-
-       nb_cli_enqueue_change(vty, xpath, NB_OP_MODIFY, argv[3]->arg);
-
-       return nb_cli_apply_changes(vty, NULL);
+       return pim_process_join_prune_cmd(vty, jpi_str);
 }
 
 DEFUN (no_ip_pim_joinprune_time,
@@ -6925,15 +6917,7 @@ DEFUN (no_ip_pim_joinprune_time,
        "Join Prune Send Interval\n"
        IGNORED_IN_NO_STR)
 {
-       char xpath[XPATH_MAXLEN];
-
-       snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH,
-                "frr-routing:ipv4");
-       strlcat(xpath, "/join-prune-interval", sizeof(xpath));
-
-       nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL);
-
-       return nb_cli_apply_changes(vty, NULL);
+       return pim_process_no_join_prune_cmd(vty);
 }
 
 DEFUN (ip_pim_register_suppress,
index a85a2f0b4d7c5cb9e0abb9d0744fb1e4faade54e..395719d150d30274284fd5a878c06a0055480ef4 100644 (file)
@@ -36,6 +36,7 @@
 #include "lib/northbound_cli.h"
 #include "pim_errors.h"
 #include "pim_nb.h"
+#include "pim_cmd_common.h"
 
 /**
  * Get current node VRF name.
@@ -62,3 +63,28 @@ const char *pim_cli_get_vrf_name(struct vty *vty)
        return yang_dnode_get_string(vrf_node, "./name");
 }
 
+int pim_process_join_prune_cmd(struct vty *vty, const char *jpi_str)
+{
+       char xpath[XPATH_MAXLEN];
+
+       snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH,
+                FRR_PIM_AF_XPATH_VAL);
+       strlcat(xpath, "/join-prune-interval", sizeof(xpath));
+
+       nb_cli_enqueue_change(vty, xpath, NB_OP_MODIFY, jpi_str);
+
+       return nb_cli_apply_changes(vty, NULL);
+}
+
+int pim_process_no_join_prune_cmd(struct vty *vty)
+{
+       char xpath[XPATH_MAXLEN];
+
+       snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH,
+                FRR_PIM_AF_XPATH_VAL);
+       strlcat(xpath, "/join-prune-interval", sizeof(xpath));
+
+       nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL);
+
+       return nb_cli_apply_changes(vty, NULL);
+}
index d0cc9b7d44e4c1a8a3fca4fe3605f445d85b1511..468484477b0c87e876b24e936327097a50607fdb 100644 (file)
@@ -21,4 +21,7 @@
 #define PIM_CMD_COMMON_H
 
 const char *pim_cli_get_vrf_name(struct vty *vty);
+int pim_process_join_prune_cmd(struct vty *vty, const char *jpi_str);
+int pim_process_no_join_prune_cmd(struct vty *vty);
+
 #endif /* PIM_CMD_COMMON_H */