summaryrefslogtreecommitdiff
path: root/pimd/pim_jp_agg.c
diff options
context:
space:
mode:
authorAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2019-11-15 11:41:49 -0800
committerAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2019-11-15 14:16:08 -0800
commitdb431af290a3ce4f8653f6cf4bd3cb66a38163dc (patch)
tree8ed6695d8bc37a4616a7e1da215336224b7e60cf /pimd/pim_jp_agg.c
parent7ef66af956dd40b031b7e44c40047a47aa15b247 (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.c8
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;