]> git.puffer.fish Git - matthieu/frr.git/commitdiff
pimd: Fix join in register to use correct nexthop
authorDonald Sharp <sharpd@cumulusnetwroks.com>
Fri, 22 Jul 2016 14:19:32 +0000 (10:19 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 22 Dec 2016 01:26:02 +0000 (20:26 -0500)
pim was sending the join from the RP towards the FHR with
a address that was the source instead of the nexthop.  This join
was treated as a non-local and nothing was done with it.

Ticket: CM-11945
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_register.c

index 8c9e6c7810a2540275a04fd56c07780096924d5d..bb05ba1c68fc2f9377b801a3aa418aecc7ed2ebc 100644 (file)
@@ -348,7 +348,7 @@ pim_register_recv (struct interface *ifp,
                            upstream->upstream_addr, NULL);
        upstream->rpf.source_nexthop.interface = ifp;
        upstream->source_addr.s_addr = source.s_addr;
-       upstream->rpf.rpf_addr.s_addr = source.s_addr;
+       upstream->rpf.rpf_addr = upstream->rpf.source_nexthop.mrib_nexthop_addr;
        upstream->channel_oil->oil.mfcc_origin = source;
        pim_scan_individual_oil (upstream->channel_oil);
         pim_upstream_send_join (upstream);