diff options
| -rw-r--r-- | pimd/pim_ifchannel.c | 11 | ||||
| -rw-r--r-- | pimd/pim_upstream.c | 2 | ||||
| -rw-r--r-- | pimd/pim_zebra.c | 9 | ||||
| -rw-r--r-- | pimd/pim_zebra.h | 2 |
4 files changed, 10 insertions, 14 deletions
diff --git a/pimd/pim_ifchannel.c b/pimd/pim_ifchannel.c index 86f897aed1..677833c9b8 100644 --- a/pimd/pim_ifchannel.c +++ b/pimd/pim_ifchannel.c @@ -651,9 +651,9 @@ struct pim_ifchannel *pim_ifchannel_add(struct interface *ifp, return ch; } -static void ifjoin_to_noinfo(struct pim_ifchannel *ch, bool ch_del) +static void ifjoin_to_noinfo(struct pim_ifchannel *ch) { - pim_forward_stop(ch, !ch_del); + pim_forward_stop(ch); pim_ifchannel_ifjoin_switch(__func__, ch, PIM_IFJOIN_NOINFO); if (ch->upstream) @@ -661,8 +661,7 @@ static void ifjoin_to_noinfo(struct pim_ifchannel *ch, bool ch_del) PIM_IF_FLAG_UNSET_PROTO_PIM(ch->flags); - if (ch_del) - delete_on_noinfo(ch); + delete_on_noinfo(ch); } static int on_ifjoin_expiry_timer(struct thread *t) @@ -675,7 +674,7 @@ static int on_ifjoin_expiry_timer(struct thread *t) zlog_debug("%s: ifchannel %s expiry timer", __func__, ch->sg_str); - ifjoin_to_noinfo(ch, true); + ifjoin_to_noinfo(ch); /* ch may have been deleted */ return 0; @@ -714,7 +713,7 @@ static int on_ifjoin_prune_pending_timer(struct thread *t) &rpf, ch->upstream, 0); } - ifjoin_to_noinfo(ch, true); + ifjoin_to_noinfo(ch); } else { /* If SGRpt flag is set on ifchannel, Trigger SGRpt * message on RP path upon prune timer expiry. diff --git a/pimd/pim_upstream.c b/pimd/pim_upstream.c index 6f22937de8..c5d542ac0a 100644 --- a/pimd/pim_upstream.c +++ b/pimd/pim_upstream.c @@ -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 */ } diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c index 0ef0ad533e..10ec79573c 100644 --- a/pimd/pim_zebra.c +++ b/pimd/pim_zebra.c @@ -845,14 +845,14 @@ void pim_forward_start(struct pim_ifchannel *ch) mask, __func__); } -void pim_forward_stop(struct pim_ifchannel *ch, bool install_it) +void pim_forward_stop(struct pim_ifchannel *ch) { struct pim_upstream *up = ch->upstream; if (PIM_DEBUG_PIM_TRACE) { - zlog_debug("%s: (S,G)=%s oif=%s install_it: %d installed: %d", + zlog_debug("%s: (S,G)=%s oif=%s installed: %d", __func__, ch->sg_str, ch->interface->name, - install_it, up->channel_oil->installed); + up->channel_oil->installed); } /* @@ -865,9 +865,6 @@ void pim_forward_stop(struct pim_ifchannel *ch, bool install_it) else pim_channel_del_oif(up->channel_oil, ch->interface, PIM_OIF_FLAG_PROTO_PIM, __func__); - - if (install_it && !up->channel_oil->installed) - pim_upstream_mroute_add(up->channel_oil, __func__); } void pim_zebra_zclient_update(struct vty *vty) diff --git a/pimd/pim_zebra.h b/pimd/pim_zebra.h index 0f216cf5c9..349903cc67 100644 --- a/pimd/pim_zebra.h +++ b/pimd/pim_zebra.h @@ -42,7 +42,7 @@ void igmp_source_forward_stop(struct igmp_source *source); void igmp_source_forward_reevaluate_all(struct pim_instance *pim); void pim_forward_start(struct pim_ifchannel *ch); -void pim_forward_stop(struct pim_ifchannel *ch, bool install_it); +void pim_forward_stop(struct pim_ifchannel *ch); void sched_rpf_cache_refresh(struct pim_instance *pim); struct zclient *pim_zebra_zclient_get(void); |
