summaryrefslogtreecommitdiff
path: root/pimd/pim_igmpv3.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_igmpv3.c')
-rw-r--r--pimd/pim_igmpv3.c7
1 files changed, 5 insertions, 2 deletions
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);
}
}