]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Set sptbit when we send the register stop
authorDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 22 Jun 2017 16:58:02 +0000 (12:58 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Mon, 24 Jul 2017 17:51:40 +0000 (13:51 -0400)
Ticket: CM-15512
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_mroute.c

index 0e0a275155d9231f1f2bad9d7e83cd809eb8f009..9a76b88edb8987c7b4a43d38930b75e5d525bf51 100644 (file)
@@ -481,10 +481,12 @@ static int pim_mroute_msg_wrvifwhole(int fd, struct interface *ifp,
                        // No if channel, but upstream we are at the RP.
                        if (pim_nexthop_lookup(pim_ifp->pim, &source,
                                               up->upstream_register, 0)
-                           == 0)
+                           == 0) {
                                pim_register_stop_send(source.interface, &sg,
                                                       pim_ifp->primary_address,
                                                       up->upstream_register);
+                               up->sptbit = PIM_UPSTREAM_SPTBIT_TRUE;
+                       }
                        if (!up->channel_oil)
                                up->channel_oil = pim_channel_oil_add(
                                        pim_ifp->pim, &sg,
@@ -493,7 +495,6 @@ static int pim_mroute_msg_wrvifwhole(int fd, struct interface *ifp,
                        if (!up->channel_oil->installed)
                                pim_mroute_add(up->channel_oil,
                                               __PRETTY_FUNCTION__);
-                       pim_upstream_set_sptbit(up, ifp);
                } else {
                        if (I_am_RP(pim_ifp->pim, up->sg.grp)) {
                                if (pim_nexthop_lookup(pim_ifp->pim, &source,