]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_upstream.c
pim6d: Changing igmp_enable to gm_enable.
[mirror_frr.git] / pimd / pim_upstream.c
index c38acc485f078f022f0b78f4b6939de6a4e90080..54a7f59ca44074d6b75fa7d15bafb8481a846c9f 100644 (file)
@@ -838,8 +838,7 @@ void pim_upstream_fill_static_iif(struct pim_upstream *up,
        up->rpf.source_nexthop.interface = incoming;
 
        /* reset other parameters to matched a connected incoming interface */
-       pim_addr_to_prefix(&up->rpf.source_nexthop.mrib_nexthop_addr,
-                          PIMADDR_ANY);
+       up->rpf.source_nexthop.mrib_nexthop_addr = PIMADDR_ANY;
        up->rpf.source_nexthop.mrib_metric_preference =
                ZEBRA_CONNECT_DISTANCE_DEFAULT;
        up->rpf.source_nexthop.mrib_route_metric = 0;
@@ -899,8 +898,7 @@ static struct pim_upstream *pim_upstream_new(struct pim_instance *pim,
        up->sptbit = PIM_UPSTREAM_SPTBIT_FALSE;
 
        up->rpf.source_nexthop.interface = NULL;
-       pim_addr_to_prefix(&up->rpf.source_nexthop.mrib_nexthop_addr,
-                          PIMADDR_ANY);
+       up->rpf.source_nexthop.mrib_nexthop_addr = PIMADDR_ANY;
        up->rpf.source_nexthop.mrib_metric_preference =
                router->infinite_assert_metric.metric_preference;
        up->rpf.source_nexthop.mrib_route_metric =
@@ -1950,8 +1948,8 @@ void pim_upstream_terminate(struct pim_instance *pim)
        struct pim_upstream *up;
 
        while ((up = rb_pim_upstream_first(&pim->upstream_head))) {
-               pim_upstream_del(pim, up, __func__);
-               pim_upstream_timers_stop(up);
+               if (pim_upstream_del(pim, up, __func__))
+                       pim_upstream_timers_stop(up);
        }
 
        rb_pim_upstream_fini(&pim->upstream_head);
@@ -2062,6 +2060,7 @@ static bool pim_upstream_sg_running_proc(struct pim_upstream *up)
        if ((up->sptbit != PIM_UPSTREAM_SPTBIT_TRUE) &&
            (up->rpf.source_nexthop.interface)) {
                pim_upstream_set_sptbit(up, up->rpf.source_nexthop.interface);
+               pim_upstream_update_could_assert(up);
        }
 
        return rv;