diff --git a/pimd/pim_igmpv3.c b/pimd/pim_igmpv3.c index ecdf4fb673..1fc7517e05 100644 --- a/pimd/pim_igmpv3.c +++ b/pimd/pim_igmpv3.c @@ -198,6 +198,7 @@ static void igmp_source_timer_on(struct igmp_group *group, struct igmp_source *source, long interval_msec) { source_timer_off(group, source); + struct pim_interface *pim_ifp = group->group_igmp_sock->interface->info; if (PIM_DEBUG_IGMP_EVENTS) { char group_str[INET_ADDRSTRLEN]; @@ -220,7 +221,7 @@ static void igmp_source_timer_on(struct igmp_group *group, Source timer switched from (T == 0) to (T > 0): enable forwarding. */ - igmp_source_forward_start(pimg, source); + igmp_source_forward_start(pim_ifp->pim, source); } void igmp_source_reset_gmi(struct igmp_sock *igmp, struct igmp_group *group, @@ -310,10 +311,12 @@ static void source_clear_send_flag(struct list *source_list) */ static void group_exclude_fwd_anysrc_ifempty(struct igmp_group *group) { + struct pim_interface *pim_ifp = group->group_igmp_sock->interface->info; + zassert(group->group_filtermode_isexcl); if (listcount(group->group_source_list) < 1) { - igmp_anysource_forward_start(pimg, group); + igmp_anysource_forward_start(pim_ifp->pim, group); } }