summaryrefslogtreecommitdiff
path: root/pimd/pim_upstream.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_upstream.c')
-rw-r--r--pimd/pim_upstream.c11
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,