pim6d: Adding "ipv6 multicast boundary oil WORD" cli

This cli is used to define multicast boundary on interface.

Signed-off-by: sarita patra <saritap@vmware.com>
This commit is contained in:
sarita patra 2022-02-28 18:27:52 -08:00
parent 2b16b40fc7
commit 52c52d7806
4 changed files with 52 additions and 13 deletions

View 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);
}

View 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,

View 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);
}

View 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 */