From: sarita patra Date: Tue, 1 Mar 2022 02:27:52 +0000 (-0800) Subject: pim6d: Adding "ipv6 multicast boundary oil WORD" cli X-Git-Tag: pim6-testing-20220430~255^2~1 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=52c52d78066e4099cc5d906839f08b32d7b426e0;p=mirror%2Ffrr.git pim6d: Adding "ipv6 multicast boundary oil WORD" cli This cli is used to define multicast boundary on interface. Signed-off-by: sarita patra --- diff --git a/pimd/pim6_cmd.c b/pimd/pim6_cmd.c index a689e384b3..350574fe58 100644 --- a/pimd/pim6_cmd.c +++ b/pimd/pim6_cmd.c @@ -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); } diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index fcbae5aa47..622606e922 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -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, diff --git a/pimd/pim_cmd_common.c b/pimd/pim_cmd_common.c index 40a59fce83..22272fada8 100644 --- a/pimd/pim_cmd_common.c +++ b/pimd/pim_cmd_common.c @@ -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); +} diff --git a/pimd/pim_cmd_common.h b/pimd/pim_cmd_common.h index 26e771b1da..1513f49a1a 100644 --- a/pimd/pim_cmd_common.h +++ b/pimd/pim_cmd_common.h @@ -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 */