From: Donald Sharp Date: Sat, 23 Jul 2016 03:42:11 +0000 (-0400) Subject: pimd: convert pim_ifchannel_local_membership_add to use struct prefix sg X-Git-Tag: frr-3.0-branchpoint~64^2~10^2~358 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=69283639958151a3941369804fcfaa3b9f14a150;p=mirror%2Ffrr.git pimd: convert pim_ifchannel_local_membership_add to use struct prefix sg Signed-off-by: Donald Sharp --- diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index e8323ff08a..18957234cf 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -129,9 +129,12 @@ static void pim_if_membership_refresh(struct interface *ifp) for (ALL_LIST_ELEMENTS_RO(grp->group_source_list, srcnode, src)) { if (IGMP_SOURCE_TEST_FORWARDING(src->source_flags)) { - pim_ifchannel_local_membership_add(ifp, - src->source_addr, - grp->group_addr); + struct prefix sg; + + memset (&sg, 0, sizeof (struct prefix)); + sg.u.sg.src = src->source_addr; + sg.u.sg.grp = grp->group_addr; + pim_ifchannel_local_membership_add(ifp, &sg); } } /* scan group sources */ diff --git a/pimd/pim_ifchannel.c b/pimd/pim_ifchannel.c index 06f5b756b4..edb1a104b1 100644 --- a/pimd/pim_ifchannel.c +++ b/pimd/pim_ifchannel.c @@ -675,16 +675,10 @@ void pim_ifchannel_prune(struct interface *ifp, } void pim_ifchannel_local_membership_add(struct interface *ifp, - struct in_addr source_addr, - struct in_addr group_addr) + struct prefix *sg) { struct pim_ifchannel *ch; struct pim_interface *pim_ifp; - struct prefix sg; - - memset (&sg, 0, sizeof (struct prefix)); - sg.u.sg.src = source_addr; - sg.u.sg.grp = group_addr; /* PIM enabled on interface? */ pim_ifp = ifp->info; @@ -693,7 +687,7 @@ void pim_ifchannel_local_membership_add(struct interface *ifp, if (!PIM_IF_TEST_PIM(pim_ifp->options)) return; - ch = pim_ifchannel_add(ifp, &sg); + ch = pim_ifchannel_add(ifp, sg); if (!ch) { return; } diff --git a/pimd/pim_ifchannel.h b/pimd/pim_ifchannel.h index 1fb066445c..3b7e2806a4 100644 --- a/pimd/pim_ifchannel.h +++ b/pimd/pim_ifchannel.h @@ -119,8 +119,7 @@ void pim_ifchannel_prune(struct interface *ifp, uint8_t source_flags, uint16_t holdtime); void pim_ifchannel_local_membership_add(struct interface *ifp, - struct in_addr source_addr, - struct in_addr group_addr); + struct prefix *sg); void pim_ifchannel_local_membership_del(struct interface *ifp, struct in_addr source_addr, struct in_addr group_addr); diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c index e01b50fa87..8dce69a0da 100644 --- a/pimd/pim_zebra.c +++ b/pimd/pim_zebra.c @@ -1044,8 +1044,7 @@ void igmp_source_forward_start(struct igmp_source *source) Feed IGMPv3-gathered local membership information into PIM per-interface (S,G) state. */ - pim_ifchannel_local_membership_add(group->group_igmp_sock->interface, - source->source_addr, group->group_addr); + pim_ifchannel_local_membership_add(group->group_igmp_sock->interface, &sg); IGMP_SOURCE_DO_FORWARDING(source->source_flags); }