diff options
Diffstat (limited to 'pimd/pim_zebra.c')
| -rw-r--r-- | pimd/pim_zebra.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c index 0ef0ad533e..69157b3b40 100644 --- a/pimd/pim_zebra.c +++ b/pimd/pim_zebra.c @@ -164,7 +164,7 @@ static int pim_zebra_if_address_add(ZAPI_CALLBACK_ARGS) } if (if_is_loopback(c->ifp)) { - struct vrf *vrf = vrf_lookup_by_id(VRF_DEFAULT); + struct vrf *vrf = vrf_lookup_by_id(vrf_id); struct interface *ifp; FOR_ALL_INTERFACES (vrf, ifp) { @@ -554,8 +554,7 @@ void igmp_source_forward_reevaluate_all(struct pim_instance *pim) continue; /* scan igmp groups */ - for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_group_list, grpnode, - grp)) { + for (ALL_LIST_ELEMENTS_RO(pim_ifp->group_list, grpnode, grp)) { struct listnode *srcnode; struct igmp_source *src; @@ -845,14 +844,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 +864,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) |
