]> git.proxmox.com Git - mirror_frr.git/commitdiff
pim6d: Adding ipv6 pim packet CLI
authorMobashshera Rasool <mrasool@vmware.com>
Wed, 19 Jan 2022 13:21:20 +0000 (05:21 -0800)
committerMobashshera Rasool <mrasool@vmware.com>
Mon, 28 Feb 2022 09:38:41 +0000 (01:38 -0800)
Adding below CLI for pim6d daemon:
[no] ipv6 pim packet (1-255)

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 617120316b3f3109fc130e6758d942a61dd14579..c87e92a91f8274871bbd82a07fb3f2e837db1645 100644 (file)
@@ -116,6 +116,29 @@ DEFPY (no_ipv6_pim_spt_switchover_infinity_plist,
        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);
@@ -126,4 +149,6 @@ void pim_cmd_init(void)
        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);
 }
index 27e0036a501c4105cb690a54113a73e78ca88cde..a20fcaeef72042ed98aca7b11ea352e2cf913586 100644 (file)
@@ -6983,7 +6983,7 @@ DEFUN (no_ip_pim_keep_alive,
        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
@@ -6991,15 +6991,7 @@ DEFUN (ip_pim_packets,
        "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,
@@ -7011,15 +7003,7 @@ 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,
index 250151562b5ae7e8bdea0ae008271bd4fa8157de..c3385db0c26671f78284b5fba2d855a8e12dcc1e 100644 (file)
@@ -179,3 +179,29 @@ int pim_process_no_spt_switchover_cmd(struct vty *vty)
 
        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);
+}
index 322811a15951eb32a5fe1166165e29962e25008e..0905a89d8ab67915453d05646100a2ad6462a116 100644 (file)
@@ -27,5 +27,7 @@ int pim_process_spt_switchover_infinity_cmd(struct vty *vty);
 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 */