return pim_process_no_spt_switchover_cmd(vty);
}
+DEFPY (ipv6_pim_packets,
+ ipv6_pim_packets_cmd,
+ "ipv6 pim packets (1-255)",
+ IPV6_STR
+ PIM_STR
+ "packets to process at one time per fd\n"
+ "Number of packets\n")
+{
+ return pim_process_pim_packet_cmd(vty, packets_str);
+}
+
+DEFPY (no_ipv6_pim_packets,
+ no_ipv6_pim_packets_cmd,
+ "no ipv6 pim packets [(1-255)]",
+ NO_STR
+ IPV6_STR
+ PIM_STR
+ "packets to process at one time per fd\n"
+ IGNORED_IN_NO_STR)
+{
+ return pim_process_no_pim_packet_cmd(vty);
+}
+
void pim_cmd_init(void)
{
if_cmd_init(pim_interface_config_write);
install_element(CONFIG_NODE, &ipv6_pim_spt_switchover_infinity_plist_cmd);
install_element(CONFIG_NODE, &no_ipv6_pim_spt_switchover_infinity_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, &no_ipv6_pim_packets_cmd);
}
return nb_cli_apply_changes(vty, NULL);
}
-DEFUN (ip_pim_packets,
+DEFPY (ip_pim_packets,
ip_pim_packets_cmd,
"ip pim packets (1-255)",
IP_STR
"packets to process at one time per fd\n"
"Number of packets\n")
{
- char xpath[XPATH_MAXLEN];
-
- snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH,
- "frr-routing:ipv4");
- strlcat(xpath, "/packets", sizeof(xpath));
-
- nb_cli_enqueue_change(vty, xpath, NB_OP_MODIFY, argv[3]->arg);
-
- return nb_cli_apply_changes(vty, NULL);
+ return pim_process_pim_packet_cmd(vty, packets_str);
}
DEFUN (no_ip_pim_packets,
"packets to process at one time per fd\n"
IGNORED_IN_NO_STR)
{
- char xpath[XPATH_MAXLEN];
-
- snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH,
- "frr-routing:ipv4");
- strlcat(xpath, "/packets", sizeof(xpath));
-
- nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL);
-
- return nb_cli_apply_changes(vty, NULL);
+ return pim_process_no_pim_packet_cmd(vty);
}
DEFPY (igmp_group_watermark,
return nb_cli_apply_changes(vty, NULL);
}
+
+int pim_process_pim_packet_cmd(struct vty *vty, const char *packet)
+{
+ char xpath[XPATH_MAXLEN];
+
+ snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH,
+ FRR_PIM_AF_XPATH_VAL);
+ strlcat(xpath, "/packets", sizeof(xpath));
+
+ nb_cli_enqueue_change(vty, xpath, NB_OP_MODIFY, packet);
+
+ return nb_cli_apply_changes(vty, NULL);
+}
+
+int pim_process_no_pim_packet_cmd(struct vty *vty)
+{
+ char xpath[XPATH_MAXLEN];
+
+ snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH,
+ FRR_PIM_AF_XPATH_VAL);
+ strlcat(xpath, "/packets", sizeof(xpath));
+
+ nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL);
+
+ return nb_cli_apply_changes(vty, NULL);
+}
int pim_process_spt_switchover_prefixlist_cmd(struct vty *vty,
const char *plist);
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_no_pim_packet_cmd(struct vty *vty);
#endif /* PIM_CMD_COMMON_H */