mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-02 15:13:20 +00:00
pimd: handle RPF resolution while in joined state
If an dummy upstream entry (no RPF nbr) which is already in a JOINED state is resolved we were not triggering an immediate join via the per-interface upstream switch list. Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
This commit is contained in:
parent
7ef66af956
commit
db431af290
@ -117,10 +117,16 @@ void pim_jp_agg_clear_group(struct list *group)
|
||||
static struct pim_iface_upstream_switch *
|
||||
pim_jp_agg_get_interface_upstream_switch_list(struct pim_rpf *rpf)
|
||||
{
|
||||
struct pim_interface *pim_ifp = rpf->source_nexthop.interface->info;
|
||||
struct interface *ifp = rpf->source_nexthop.interface;
|
||||
struct pim_interface *pim_ifp;
|
||||
struct pim_iface_upstream_switch *pius;
|
||||
struct listnode *node, *nnode;
|
||||
|
||||
if (!ifp)
|
||||
return NULL;
|
||||
|
||||
pim_ifp = ifp->info;
|
||||
|
||||
/* Old interface is pim disabled */
|
||||
if (!pim_ifp)
|
||||
return NULL;
|
||||
|
@ -324,6 +324,9 @@ void pim_zebra_upstream_rpf_changed(struct pim_instance *pim,
|
||||
up->channel_oil->oil_inherited_rescan = 0;
|
||||
}
|
||||
|
||||
if (up->join_state == PIM_UPSTREAM_JOINED)
|
||||
pim_jp_agg_switch_interface(old, &up->rpf, up);
|
||||
|
||||
if (!up->channel_oil->installed)
|
||||
pim_upstream_mroute_add(up->channel_oil,
|
||||
__PRETTY_FUNCTION__);
|
||||
|
Loading…
Reference in New Issue
Block a user