... the prefix length wasn't ignored as expected. Both S and G are
always /32. But expecting "le 32" in prefix-list config is unexpected &
counterintuitive.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit
ab2f9e89b44642af568c3542e1f2b14378fb5ec2)
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,
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)
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,
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__);
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;
}