diff options
Diffstat (limited to 'pimd/pim_upstream.c')
| -rw-r--r-- | pimd/pim_upstream.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/pimd/pim_upstream.c b/pimd/pim_upstream.c index d0d120523d..05da3cb7c2 100644 --- a/pimd/pim_upstream.c +++ b/pimd/pim_upstream.c @@ -271,7 +271,7 @@ struct pim_upstream *pim_upstream_del(struct pim_instance *pim, zlog_debug( "%s: Deregister upstream %s addr %pFX with Zebra NHT", __func__, up->sg_str, &nht_p); - pim_delete_tracked_nexthop(pim, &nht_p, up, NULL, false); + pim_delete_tracked_nexthop(pim, &nht_p, up, NULL); } XFREE(MTYPE_PIM_UPSTREAM, up); @@ -561,7 +561,7 @@ static void forward_off(struct pim_upstream *up) /* scan per-interface (S,G) state */ for (ALL_LIST_ELEMENTS(up->ifchannels, chnode, chnextnode, ch)) { - pim_forward_stop(ch, false); + pim_forward_stop(ch); } /* scan iface channel list */ } @@ -803,9 +803,8 @@ void pim_upstream_switch(struct pim_instance *pim, struct pim_upstream *up, if (pim_upstream_is_sg_rpt(up) && up->parent && !I_am_RP(pim, up->sg.grp)) send_xg_jp = true; - else - pim_jp_agg_single_upstream_send(&up->rpf, up, - 0 /* prune */); + + pim_jp_agg_single_upstream_send(&up->rpf, up, 0 /* prune */); if (send_xg_jp) { if (PIM_DEBUG_PIM_TRACE_DETAIL) @@ -1863,6 +1862,8 @@ int pim_upstream_inherited_olist_decide(struct pim_instance *pim, flag = PIM_OIF_FLAG_PROTO_IGMP; if (PIM_IF_FLAG_TEST_PROTO_PIM(ch->flags)) flag |= PIM_OIF_FLAG_PROTO_PIM; + if (starch) + flag |= PIM_OIF_FLAG_PROTO_STAR; } pim_channel_add_oif(up->channel_oil, ifp, flag, |
