diff options
| author | Anuradha Karuppiah <anuradhak@cumulusnetworks.com> | 2019-11-15 11:41:49 -0800 | 
|---|---|---|
| committer | Anuradha Karuppiah <anuradhak@cumulusnetworks.com> | 2019-11-15 14:16:08 -0800 | 
| commit | db431af290a3ce4f8653f6cf4bd3cb66a38163dc (patch) | |
| tree | 8ed6695d8bc37a4616a7e1da215336224b7e60cf /pimd/pim_jp_agg.c | |
| parent | 7ef66af956dd40b031b7e44c40047a47aa15b247 (diff) | |
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>
Diffstat (limited to 'pimd/pim_jp_agg.c')
| -rw-r--r-- | pimd/pim_jp_agg.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/pimd/pim_jp_agg.c b/pimd/pim_jp_agg.c index 418f66df05..243316b433 100644 --- a/pimd/pim_jp_agg.c +++ b/pimd/pim_jp_agg.c @@ -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;  | 
