]> git.puffer.fish Git - mirror/frr.git/commitdiff
pim6d: Adding "ipv6 multicast boundary oil WORD" cli
authorsarita patra <saritap@vmware.com>
Tue, 1 Mar 2022 02:27:52 +0000 (18:27 -0800)
committersarita patra <saritap@vmware.com>
Tue, 1 Mar 2022 15:23:45 +0000 (07:23 -0800)
This cli is used to define multicast boundary on interface.

Signed-off-by: sarita patra <saritap@vmware.com>
pimd/pim6_cmd.c
pimd/pim_cmd.c
pimd/pim_cmd_common.c
pimd/pim_cmd_common.h

index a689e384b3743e7115350a302de7ad41e715c82b..350574fe580f64e7e1fb1c3ac91aa8df047b4343 100644 (file)
@@ -340,6 +340,32 @@ DEFPY_HIDDEN (interface_no_ipv6_pim_sm,
        return pim_process_no_ip_pim_cmd(vty);
 }
 
+/* boundaries */
+DEFPY (interface_ipv6_pim_boundary_oil,
+      interface_ipv6_pim_boundary_oil_cmd,
+      "ipv6 multicast boundary oil WORD",
+      IPV6_STR
+      "Generic multicast configuration options\n"
+      "Define multicast boundary\n"
+      "Filter OIL by group using prefix list\n"
+      "Prefix list to filter OIL with\n")
+{
+       return pim_process_ip_pim_boundary_oil_cmd(vty, oil);
+}
+
+DEFPY (interface_no_ipv6_pim_boundary_oil,
+      interface_no_ipv6_pim_boundary_oil_cmd,
+      "no ipv6 multicast boundary oil [WORD]",
+      NO_STR
+      IPV6_STR
+      "Generic multicast configuration options\n"
+      "Define multicast boundary\n"
+      "Filter OIL by group using prefix list\n"
+      "Prefix list to filter OIL with\n")
+{
+       return pim_process_no_ip_pim_boundary_oil_cmd(vty);
+}
+
 void pim_cmd_init(void)
 {
        if_cmd_init(pim_interface_config_write);
@@ -369,4 +395,8 @@ void pim_cmd_init(void)
        install_element(INTERFACE_NODE, &interface_no_ipv6_pim_ssm_cmd);
        install_element(INTERFACE_NODE, &interface_ipv6_pim_sm_cmd);
        install_element(INTERFACE_NODE, &interface_no_ipv6_pim_sm_cmd);
+       install_element(INTERFACE_NODE,
+                       &interface_ipv6_pim_boundary_oil_cmd);
+       install_element(INTERFACE_NODE,
+                       &interface_no_ipv6_pim_boundary_oil_cmd);
 }
index fcbae5aa4717339718423aaad5e86e703b07c620..622606e922d13a4563623472062760dcc3373159 100644 (file)
@@ -8146,13 +8146,7 @@ DEFUN(interface_ip_pim_boundary_oil,
       "Filter OIL by group using prefix list\n"
       "Prefix list to filter OIL with\n")
 {
-       nb_cli_enqueue_change(vty, "./multicast-boundary-oil", NB_OP_MODIFY,
-                             argv[4]->arg);
-
-       return nb_cli_apply_changes(vty,
-                                   FRR_PIM_INTERFACE_XPATH,
-                                   "frr-routing:ipv4");
-
+       return pim_process_ip_pim_boundary_oil_cmd(vty, argv[4]->arg);
 }
 
 DEFUN(interface_no_ip_pim_boundary_oil,
@@ -8165,12 +8159,7 @@ DEFUN(interface_no_ip_pim_boundary_oil,
       "Filter OIL by group using prefix list\n"
       "Prefix list to filter OIL with\n")
 {
-       nb_cli_enqueue_change(vty, "./multicast-boundary-oil", NB_OP_DESTROY,
-                             NULL);
-
-       return nb_cli_apply_changes(vty,
-                                   FRR_PIM_INTERFACE_XPATH,
-                                   "frr-routing:ipv4");
+       return pim_process_no_ip_pim_boundary_oil_cmd(vty);
 }
 
 DEFUN (interface_ip_mroute,
index 40a59fce838726805cb235aa3edb54b9466d1e95..22272fada8cac10d3fc2db4871eb1be988e25814 100644 (file)
@@ -442,3 +442,21 @@ int pim_process_ip_pim_activeactive_cmd(struct vty *vty, const char *no)
        return nb_cli_apply_changes(vty, FRR_PIM_INTERFACE_XPATH,
                                    FRR_PIM_AF_XPATH_VAL);
 }
+
+int pim_process_ip_pim_boundary_oil_cmd(struct vty *vty, const char *oil)
+{
+       nb_cli_enqueue_change(vty, "./multicast-boundary-oil", NB_OP_MODIFY,
+                             oil);
+
+       return nb_cli_apply_changes(vty, FRR_PIM_INTERFACE_XPATH,
+                                   FRR_PIM_AF_XPATH_VAL);
+}
+
+int pim_process_no_ip_pim_boundary_oil_cmd(struct vty *vty)
+{
+       nb_cli_enqueue_change(vty, "./multicast-boundary-oil", NB_OP_DESTROY,
+                             NULL);
+
+       return nb_cli_apply_changes(vty, FRR_PIM_INTERFACE_XPATH,
+                                   FRR_PIM_AF_XPATH_VAL);
+}
index 26e771b1dab76e3e68e4f85fd959ae9208b041c4..1513f49a1a936b558ef6f6f1ac8420d6d8652ab7 100644 (file)
@@ -44,5 +44,7 @@ int pim_process_ip_pim_hello_cmd(struct vty *vty, const char *hello_str,
                                 const char *hold_str);
 int pim_process_no_ip_pim_hello_cmd(struct vty *vty);
 int pim_process_ip_pim_activeactive_cmd(struct vty *vty, const char *no);
+int pim_process_ip_pim_boundary_oil_cmd(struct vty *vty, const char *oil);
+int pim_process_no_ip_pim_boundary_oil_cmd(struct vty *vty);
 
 #endif /* PIM_CMD_COMMON_H */