summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormobash-rasool <mobash.rasool@gmail.com>2022-11-24 10:56:32 +0530
committerGitHub <noreply@github.com>2022-11-24 10:56:32 +0530
commit67e2017f84fd06dcfcb8dc2bcfe2085b4462809c (patch)
tree3eb1bc9b1f05a925611fecf76ae42f2f95381d04
parent56a3ac3b5d96e507340cee29467ebf28e868d081 (diff)
parentf8766ccbf073303ef998a3355136a9f08420033b (diff)
Merge pull request #12378 from FRRouting/mergify/bp/stable/8.4/pr-12260
pimd: consistently ignore prefix list mask len (backport #12260)
-rw-r--r--pimd/pim_ifchannel.c5
-rw-r--r--pimd/pim_register.c3
-rw-r--r--pimd/pim_ssm.c3
-rw-r--r--pimd/pim_upstream.c2
-rw-r--r--pimd/pim_util.c4
5 files changed, 11 insertions, 6 deletions
diff --git a/pimd/pim_ifchannel.c b/pimd/pim_ifchannel.c
index ce252366ce..3310009c02 100644
--- a/pimd/pim_ifchannel.c
+++ b/pimd/pim_ifchannel.c
@@ -1217,8 +1217,9 @@ int pim_ifchannel_local_membership_add(struct interface *ifp, pim_sgaddr *sg,
struct prefix g;
pim_addr_to_prefix(&g, up->sg.grp);
- if (prefix_list_apply(plist, &g)
- == PREFIX_DENY) {
+ if (prefix_list_apply_ext(plist, NULL, &g,
+ true) ==
+ PREFIX_DENY) {
pim_channel_add_oif(
up->channel_oil, pim->regiface,
PIM_OIF_FLAG_PROTO_GM,
diff --git a/pimd/pim_register.c b/pimd/pim_register.c
index 4e2c44b172..9ccdae13bc 100644
--- a/pimd/pim_register.c
+++ b/pimd/pim_register.c
@@ -629,7 +629,8 @@ int pim_register_recv(struct interface *ifp, pim_addr dest_addr,
pim_addr_to_prefix(&src, sg.src);
- if (prefix_list_apply(plist, &src) == PREFIX_DENY) {
+ if (prefix_list_apply_ext(plist, NULL, &src, true) ==
+ PREFIX_DENY) {
pim_register_stop_send(ifp, &sg, dest_addr,
src_addr);
if (PIM_DEBUG_PIM_PACKETS)
diff --git a/pimd/pim_ssm.c b/pimd/pim_ssm.c
index 1ff60f9b64..62246cc239 100644
--- a/pimd/pim_ssm.c
+++ b/pimd/pim_ssm.c
@@ -93,7 +93,8 @@ int pim_is_grp_ssm(struct pim_instance *pim, pim_addr group_addr)
if (!plist)
return 0;
- return (prefix_list_apply(plist, &group) == PREFIX_PERMIT);
+ return (prefix_list_apply_ext(plist, NULL, &group, true) ==
+ PREFIX_PERMIT);
}
int pim_ssm_range_set(struct pim_instance *pim, vrf_id_t vrf_id,
diff --git a/pimd/pim_upstream.c b/pimd/pim_upstream.c
index 0742daa4de..dbc5c5d10a 100644
--- a/pimd/pim_upstream.c
+++ b/pimd/pim_upstream.c
@@ -2154,7 +2154,7 @@ void pim_upstream_remove_lhr_star_pimreg(struct pim_instance *pim,
continue;
}
pim_addr_to_prefix(&g, up->sg.grp);
- apply_new = prefix_list_apply(np, &g);
+ apply_new = prefix_list_apply_ext(np, NULL, &g, true);
if (apply_new == PREFIX_DENY)
pim_channel_add_oif(up->channel_oil, pim->regiface,
PIM_OIF_FLAG_PROTO_GM, __func__);
diff --git a/pimd/pim_util.c b/pimd/pim_util.c
index 150e1a01ea..273c332c95 100644
--- a/pimd/pim_util.c
+++ b/pimd/pim_util.c
@@ -150,7 +150,9 @@ bool pim_is_group_filtered(struct pim_interface *pim_ifp, pim_addr *grp)
pim_addr_to_prefix(&grp_pfx, *grp);
pl = prefix_list_lookup(PIM_AFI, pim_ifp->boundary_oil_plist);
- return pl ? prefix_list_apply(pl, &grp_pfx) == PREFIX_DENY : false;
+ return pl ? prefix_list_apply_ext(pl, NULL, &grp_pfx, true) ==
+ PREFIX_DENY
+ : false;
}