#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);
}
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,
"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,
#include "lib/northbound_cli.h"
#include "pim_errors.h"
#include "pim_nb.h"
+#include "pim_cmd_common.h"
/**
* Get current node VRF name.
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);
+}
#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 */