diff options
Diffstat (limited to 'pimd/pim_zebra.c')
| -rw-r--r-- | pimd/pim_zebra.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c index 13d6a2eea8..8355c2099d 100644 --- a/pimd/pim_zebra.c +++ b/pimd/pim_zebra.c @@ -89,8 +89,8 @@ static void dump_if_address(struct interface *ifp) struct connected *ifc; struct listnode *node; - zlog_debug("%s %s: interface %s addresses:", __FILE__, - __PRETTY_FUNCTION__, ifp->name); + zlog_debug("%s %s: interface %s addresses:", __FILE__, __func__, + ifp->name); for (ALL_LIST_ELEMENTS_RO(ifp->connected, node, ifc)) { struct prefix *p = ifc->address; @@ -99,8 +99,7 @@ static void dump_if_address(struct interface *ifp) continue; zlog_debug("%s %s: interface %s address %s %s", __FILE__, - __PRETTY_FUNCTION__, ifp->name, - inet_ntoa(p->u.prefix4), + __func__, ifp->name, inet_ntoa(p->u.prefix4), CHECK_FLAG(ifc->flags, ZEBRA_IFA_SECONDARY) ? "secondary" : "primary"); @@ -836,7 +835,7 @@ void igmp_source_forward_stop(struct igmp_source *source) void pim_forward_start(struct pim_ifchannel *ch) { struct pim_upstream *up = ch->upstream; - uint32_t mask = PIM_OIF_FLAG_PROTO_PIM; + uint32_t mask = 0; if (PIM_DEBUG_PIM_TRACE) { char source_str[INET_ADDRSTRLEN]; @@ -854,9 +853,12 @@ void pim_forward_start(struct pim_ifchannel *ch) inet_ntoa(up->upstream_addr)); } - if (up->flags & PIM_UPSTREAM_FLAG_MASK_SRC_IGMP) + if (PIM_IF_FLAG_TEST_PROTO_IGMP(ch->flags)) mask = PIM_OIF_FLAG_PROTO_IGMP; + if (PIM_IF_FLAG_TEST_PROTO_PIM(ch->flags)) + mask |= PIM_OIF_FLAG_PROTO_PIM; + pim_channel_add_oif(up->channel_oil, ch->interface, mask, __func__); } |
