summaryrefslogtreecommitdiff
path: root/pimd/pim_join.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2016-08-02 11:39:16 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2016-12-21 20:26:04 -0500
commitfa1a4e366ba4120d4009b5a7aedea10c062639e0 (patch)
tree7ed3594d4284153122a708d067849b53d86734c5 /pimd/pim_join.c
parentcfa91a87332343da59e272a275a5be1bebf2c60d (diff)
pimd: Send join when a S,G is pruned
When a *,G is received, and we have S,G that is in a non-joined state, Send the join to the S,G. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_join.c')
-rw-r--r--pimd/pim_join.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/pimd/pim_join.c b/pimd/pim_join.c
index 0a40ab6210..3d98f9f95f 100644
--- a/pimd/pim_join.c
+++ b/pimd/pim_join.c
@@ -116,7 +116,9 @@ static void recv_join(struct interface *ifp,
__FILE__, __PRETTY_FUNCTION__,
buff, pim_str_sg_dump (&sg));
- pim_channel_add_oif (up->channel_oil, ifp, PIM_OIF_FLAG_PROTO_PIM);
+ pim_channel_add_oif (child->channel_oil, ifp, PIM_OIF_FLAG_PROTO_PIM);
+ if (child->join_state != PIM_UPSTREAM_JOINED)
+ pim_upstream_switch (child, PIM_UPSTREAM_JOINED);
}
}
}