summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pimd/pim_register.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/pimd/pim_register.c b/pimd/pim_register.c
index d6c8fecd9f..8c9e6c7810 100644
--- a/pimd/pim_register.c
+++ b/pimd/pim_register.c
@@ -314,6 +314,12 @@ pim_register_recv (struct interface *ifp,
*/
if (!upstream)
{
+ upstream = pim_upstream_add (source, group, ifp);
+ pim_upstream_switch (upstream, PIM_UPSTREAM_PRUNE);
+ }
+
+ if (upstream->join_state == PIM_UPSTREAM_PRUNE)
+ {
pim_register_stop_send (ifp, source, group, src_addr);
return 1;
}