mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-01 16:12:55 +00:00
pimd: modification in mroute
Problem: ------- (*,G) created on transit node where same groups are defined as SSM At present FRR has SSM checks for IGMP report, but SSM check is missing for PIM join. Fix: ---- Whenever there is a modification in prefix list for SSM range, then we need to browse the ifchannels (PIM joins) and groups coming in SSM range with (and *,G) should be removed from ifchannel database and also withdraw those routes from upstream routers. Signed-off-by: Sai Gomathi <nsaigomathi@vmware.com>
This commit is contained in:
parent
34abbcc4b1
commit
c29fec4d3a
@ -542,6 +542,7 @@ void igmp_source_forward_reevaluate_all(struct pim_instance *pim)
|
|||||||
struct pim_interface *pim_ifp = ifp->info;
|
struct pim_interface *pim_ifp = ifp->info;
|
||||||
struct listnode *grpnode;
|
struct listnode *grpnode;
|
||||||
struct igmp_group *grp;
|
struct igmp_group *grp;
|
||||||
|
struct pim_ifchannel *ch, *ch_temp;
|
||||||
|
|
||||||
if (!pim_ifp)
|
if (!pim_ifp)
|
||||||
continue;
|
continue;
|
||||||
@ -556,9 +557,17 @@ void igmp_source_forward_reevaluate_all(struct pim_instance *pim)
|
|||||||
for (ALL_LIST_ELEMENTS_RO(grp->group_source_list,
|
for (ALL_LIST_ELEMENTS_RO(grp->group_source_list,
|
||||||
srcnode, src)) {
|
srcnode, src)) {
|
||||||
igmp_source_forward_reevaluate_one(pim, src);
|
igmp_source_forward_reevaluate_one(pim, src);
|
||||||
} /* scan group sources */
|
} /* scan group sources */
|
||||||
} /* scan igmp groups */
|
} /* scan igmp groups */
|
||||||
} /* scan interfaces */
|
|
||||||
|
RB_FOREACH_SAFE (ch, pim_ifchannel_rb, &pim_ifp->ifchannel_rb,
|
||||||
|
ch_temp) {
|
||||||
|
if (pim_is_grp_ssm(pim, ch->sg.grp)) {
|
||||||
|
if (ch->sg.src.s_addr == INADDR_ANY)
|
||||||
|
pim_ifchannel_delete(ch);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} /* scan interfaces */
|
||||||
}
|
}
|
||||||
|
|
||||||
void igmp_source_forward_start(struct pim_instance *pim,
|
void igmp_source_forward_start(struct pim_instance *pim,
|
||||||
|
Loading…
Reference in New Issue
Block a user