continue;
if (!pim_upstream_evaluate_join_desired (child))
- pim_channel_del_oif (c_oil, ch->interface, PIM_OIF_FLAG_PROTO_STAR);
+ {
+ pim_channel_del_oif (c_oil, ch->interface, PIM_OIF_FLAG_PROTO_STAR);
+ pim_upstream_update_join_desired (child);
+ }
/*
* If the S,G has no if channel and the c_oil still
* has output here then the *,G was supplying the implied
* if channel. So remove it.
+ * I think this is dead code now. is it?
*/
if (!ch && c_oil->oil.mfcc_ttls[pim_ifp->mroute_vif_index])
pim_channel_del_oif (c_oil, ch->interface, PIM_OIF_FLAG_PROTO_STAR);
if (pim_upstream_evaluate_join_desired (child))
{
pim_channel_add_oif (child->channel_oil, ch->interface, PIM_OIF_FLAG_PROTO_STAR);
- pim_upstream_switch (child, PIM_UPSTREAM_JOINED);
+ pim_upstream_update_join_desired (child);
}
}
}