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 @@ -313,6 +313,12 @@ pim_register_recv (struct interface *ifp, * If we don't have a place to send ignore the packet */ 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;