mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-15 08:57:29 +00:00
pimd: Note when a S,G stream should be a FHR as well
When we have a S,G being created, that it might also be a FHR router as well. This happens when the FHR is in the path of the RP->LHR for when it builds it's SPT tree for the S,G. Ticket: CM-16056, CM-15836 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
bacf3d12dd
commit
e6d700e33b
@ -790,6 +790,16 @@ void pim_ifchannel_join_add(struct interface *ifp,
|
|||||||
pim_upstream_inherited_olist (ch->upstream);
|
pim_upstream_inherited_olist (ch->upstream);
|
||||||
pim_forward_start(ch);
|
pim_forward_start(ch);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* If we are going to be a LHR, we need to note it
|
||||||
|
*/
|
||||||
|
if (ch->upstream->parent &&
|
||||||
|
(ch->upstream->parent->flags & PIM_UPSTREAM_FLAG_MASK_SRC_IGMP) &&
|
||||||
|
!(ch->upstream->flags & PIM_UPSTREAM_FLAG_MASK_SRC_LHR))
|
||||||
|
{
|
||||||
|
pim_upstream_ref (ch->upstream, PIM_UPSTREAM_FLAG_MASK_SRC_LHR);
|
||||||
|
pim_upstream_keep_alive_timer_start (ch->upstream, qpim_keep_alive_time);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case PIM_IFJOIN_JOIN:
|
case PIM_IFJOIN_JOIN:
|
||||||
zassert(!ch->t_ifjoin_prune_pending_timer);
|
zassert(!ch->t_ifjoin_prune_pending_timer);
|
||||||
|
Loading…
Reference in New Issue
Block a user