diff options
| author | Jafar Al-Gharaibeh <jafar@atcorp.com> | 2025-02-19 13:39:12 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-19 13:39:12 -0600 |
| commit | ce64c34f12e86a7c4671c5aab0c8aec8558c0a1b (patch) | |
| tree | e0c7c806bc901833037968e53471ac913f939c65 /pimd/pim_cmd.c | |
| parent | 66434fc2eea13c83b60f46212e85d33d03ec9c3d (diff) | |
| parent | c92061b8db3112917713d37085f0c8f5156ca34d (diff) | |
Merge pull request #17914 from opensourcerouting/pim-nb-filter
pimd: filter neighbors by address
Diffstat (limited to 'pimd/pim_cmd.c')
| -rw-r--r-- | pimd/pim_cmd.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index 4ad75a21e7..f838c401e3 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -6035,6 +6035,34 @@ DEFPY (interface_ip_igmp_proxy, } +DEFPY_YANG(interface_ip_pim_neighbor_prefix_list, + interface_ip_pim_neighbor_prefix_list_cmd, + "[no] ip pim allowed-neighbors prefix-list WORD", + NO_STR + IP_STR + "pim multicast routing\n" + "Restrict allowed PIM neighbors\n" + "Use prefix-list to filter neighbors\n" + "Name of a prefix-list\n") +{ + if (no) + nb_cli_enqueue_change(vty, "./neighbor-filter-prefix-list", NB_OP_DESTROY, NULL); + else + nb_cli_enqueue_change(vty, "./neighbor-filter-prefix-list", NB_OP_MODIFY, + prefix_list); + + return nb_cli_apply_changes(vty, FRR_PIM_INTERFACE_XPATH, FRR_PIM_AF_XPATH_VAL); +} + +ALIAS (interface_ip_pim_neighbor_prefix_list, + interface_no_ip_pim_neighbor_prefix_list_cmd, + "no ip pim allowed-neighbors [prefix-list]", + NO_STR + IP_STR + "pim multicast routing\n" + "Restrict allowed PIM neighbors\n" + "Use prefix-list to filter neighbors\n") + DEFUN (debug_igmp, debug_igmp_cmd, "debug igmp", @@ -9169,6 +9197,8 @@ void pim_cmd_init(void) install_element(INTERFACE_NODE, &interface_no_ip_pim_boundary_oil_cmd); install_element(INTERFACE_NODE, &interface_ip_pim_boundary_acl_cmd); install_element(INTERFACE_NODE, &interface_ip_igmp_query_generate_cmd); + install_element(INTERFACE_NODE, &interface_ip_pim_neighbor_prefix_list_cmd); + install_element(INTERFACE_NODE, &interface_no_ip_pim_neighbor_prefix_list_cmd); // Static mroutes NEB install_element(INTERFACE_NODE, &interface_ip_mroute_cmd); |
