pimd: Modifying name of struct igmp_group to struct gm_group for IPv6.

Modifying name of struct igmp_group to struct gm_group, which is to be used
by both IPv4 and IPv6(for both MLD and IGMP).

Co-authored-by: Mobashshera Rasool <mrasool@vmware.com>
Co-authored-by: Sarita Patra <saritap@vmware.com>
Signed-off-by: Sai Gomathi <nsaigomathi@vmware.com>
This commit is contained in:
Sai Gomathi 2021-12-03 09:41:52 -08:00
parent 517001077f
commit a16db099e4
10 changed files with 99 additions and 101 deletions

View file

@ -3420,7 +3420,7 @@ static void igmp_show_groups(struct pim_instance *pim, struct vty *vty, bool uj)
FOR_ALL_INTERFACES (pim->vrf, ifp) { FOR_ALL_INTERFACES (pim->vrf, ifp) {
struct pim_interface *pim_ifp = ifp->info; struct pim_interface *pim_ifp = ifp->info;
struct listnode *grpnode; struct listnode *grpnode;
struct igmp_group *grp; struct gm_group *grp;
if (!pim_ifp) if (!pim_ifp)
continue; continue;
@ -3513,7 +3513,7 @@ static void igmp_show_group_retransmission(struct pim_instance *pim,
FOR_ALL_INTERFACES (pim->vrf, ifp) { FOR_ALL_INTERFACES (pim->vrf, ifp) {
struct pim_interface *pim_ifp = ifp->info; struct pim_interface *pim_ifp = ifp->info;
struct listnode *grpnode; struct listnode *grpnode;
struct igmp_group *grp; struct gm_group *grp;
if (!pim_ifp) if (!pim_ifp)
continue; continue;
@ -3565,7 +3565,7 @@ static void igmp_show_sources(struct pim_instance *pim, struct vty *vty)
FOR_ALL_INTERFACES (pim->vrf, ifp) { FOR_ALL_INTERFACES (pim->vrf, ifp) {
struct pim_interface *pim_ifp = ifp->info; struct pim_interface *pim_ifp = ifp->info;
struct listnode *grpnode; struct listnode *grpnode;
struct igmp_group *grp; struct gm_group *grp;
if (!pim_ifp) if (!pim_ifp)
continue; continue;
@ -3620,7 +3620,7 @@ static void igmp_show_source_retransmission(struct pim_instance *pim,
FOR_ALL_INTERFACES (pim->vrf, ifp) { FOR_ALL_INTERFACES (pim->vrf, ifp) {
struct pim_interface *pim_ifp = ifp->info; struct pim_interface *pim_ifp = ifp->info;
struct listnode *grpnode; struct listnode *grpnode;
struct igmp_group *grp; struct gm_group *grp;
if (!pim_ifp) if (!pim_ifp)
continue; continue;
@ -3901,7 +3901,7 @@ static void clear_mroute(struct pim_instance *pim)
/* scan interfaces */ /* scan interfaces */
FOR_ALL_INTERFACES (pim->vrf, ifp) { FOR_ALL_INTERFACES (pim->vrf, ifp) {
struct pim_interface *pim_ifp = ifp->info; struct pim_interface *pim_ifp = ifp->info;
struct igmp_group *grp; struct gm_group *grp;
struct pim_ifchannel *ch; struct pim_ifchannel *ch;
if (!pim_ifp) if (!pim_ifp)

View file

@ -39,7 +39,7 @@
#include "pim_time.h" #include "pim_time.h"
#include "pim_zebra.h" #include "pim_zebra.h"
static void group_timer_off(struct igmp_group *group); static void group_timer_off(struct gm_group *group);
static int pim_igmp_general_query(struct thread *t); static int pim_igmp_general_query(struct thread *t);
/* This socket is used for TXing IGMP packets only, IGMP RX happens /* This socket is used for TXing IGMP packets only, IGMP RX happens
@ -415,7 +415,7 @@ static int igmp_v1_recv_report(struct igmp_sock *igmp, struct in_addr from,
int igmp_msg_len) int igmp_msg_len)
{ {
struct interface *ifp = igmp->interface; struct interface *ifp = igmp->interface;
struct igmp_group *group; struct gm_group *group;
struct in_addr group_addr; struct in_addr group_addr;
on_trace(__func__, igmp->interface, from); on_trace(__func__, igmp->interface, from);
@ -789,7 +789,7 @@ void igmp_startup_mode_on(struct igmp_sock *igmp)
igmp->querier_query_interval = pim_ifp->default_query_interval; igmp->querier_query_interval = pim_ifp->default_query_interval;
} }
static void igmp_group_free(struct igmp_group *group) static void igmp_group_free(struct gm_group *group)
{ {
list_delete(&group->group_source_list); list_delete(&group->group_source_list);
@ -819,7 +819,7 @@ static void igmp_group_count_decr(struct pim_interface *pim_ifp)
--pim_ifp->pim->igmp_group_count; --pim_ifp->pim->igmp_group_count;
} }
void igmp_group_delete(struct igmp_group *group) void igmp_group_delete(struct gm_group *group)
{ {
struct listnode *src_node; struct listnode *src_node;
struct listnode *src_nextnode; struct listnode *src_nextnode;
@ -849,7 +849,7 @@ void igmp_group_delete(struct igmp_group *group)
igmp_group_free(group); igmp_group_free(group);
} }
void igmp_group_delete_empty_include(struct igmp_group *group) void igmp_group_delete_empty_include(struct gm_group *group)
{ {
assert(!group->group_filtermode_isexcl); assert(!group->group_filtermode_isexcl);
assert(!listcount(group->group_source_list)); assert(!listcount(group->group_source_list));
@ -898,15 +898,15 @@ void igmp_sock_delete_all(struct interface *ifp)
static unsigned int igmp_group_hash_key(const void *arg) static unsigned int igmp_group_hash_key(const void *arg)
{ {
const struct igmp_group *group = arg; const struct gm_group *group = arg;
return jhash_1word(group->group_addr.s_addr, 0); return jhash_1word(group->group_addr.s_addr, 0);
} }
static bool igmp_group_hash_equal(const void *arg1, const void *arg2) static bool igmp_group_hash_equal(const void *arg1, const void *arg2)
{ {
const struct igmp_group *g1 = (const struct igmp_group *)arg1; const struct gm_group *g1 = (const struct gm_group *)arg1;
const struct igmp_group *g2 = (const struct igmp_group *)arg2; const struct gm_group *g2 = (const struct gm_group *)arg2;
if (g1->group_addr.s_addr == g2->group_addr.s_addr) if (g1->group_addr.s_addr == g2->group_addr.s_addr)
return true; return true;
@ -932,7 +932,7 @@ void pim_igmp_if_init(struct pim_interface *pim_ifp, struct interface *ifp)
void pim_igmp_if_reset(struct pim_interface *pim_ifp) void pim_igmp_if_reset(struct pim_interface *pim_ifp)
{ {
struct listnode *grp_node, *grp_nextnode; struct listnode *grp_node, *grp_nextnode;
struct igmp_group *grp; struct gm_group *grp;
for (ALL_LIST_ELEMENTS(pim_ifp->group_list, grp_node, grp_nextnode, for (ALL_LIST_ELEMENTS(pim_ifp->group_list, grp_node, grp_nextnode,
grp)) { grp)) {
@ -1101,7 +1101,7 @@ struct igmp_sock *pim_igmp_sock_add(struct list *igmp_sock_list,
*/ */
static int igmp_group_timer(struct thread *t) static int igmp_group_timer(struct thread *t)
{ {
struct igmp_group *group; struct gm_group *group;
group = THREAD_ARG(t); group = THREAD_ARG(t);
@ -1137,7 +1137,7 @@ static int igmp_group_timer(struct thread *t)
return 0; return 0;
} }
static void group_timer_off(struct igmp_group *group) static void group_timer_off(struct gm_group *group)
{ {
if (!group->t_group_timer) if (!group->t_group_timer)
return; return;
@ -1152,7 +1152,7 @@ static void group_timer_off(struct igmp_group *group)
THREAD_OFF(group->t_group_timer); THREAD_OFF(group->t_group_timer);
} }
void igmp_group_timer_on(struct igmp_group *group, long interval_msec, void igmp_group_timer_on(struct gm_group *group, long interval_msec,
const char *ifname) const char *ifname)
{ {
group_timer_off(group); group_timer_off(group);
@ -1180,10 +1180,10 @@ void igmp_group_timer_on(struct igmp_group *group, long interval_msec,
interval_msec, &group->t_group_timer); interval_msec, &group->t_group_timer);
} }
struct igmp_group *find_group_by_addr(struct igmp_sock *igmp, struct gm_group *find_group_by_addr(struct igmp_sock *igmp,
struct in_addr group_addr) struct in_addr group_addr)
{ {
struct igmp_group lookup; struct gm_group lookup;
struct pim_interface *pim_ifp = igmp->interface->info; struct pim_interface *pim_ifp = igmp->interface->info;
lookup.group_addr.s_addr = group_addr.s_addr; lookup.group_addr.s_addr = group_addr.s_addr;
@ -1191,10 +1191,10 @@ struct igmp_group *find_group_by_addr(struct igmp_sock *igmp,
return hash_lookup(pim_ifp->group_hash, &lookup); return hash_lookup(pim_ifp->group_hash, &lookup);
} }
struct igmp_group *igmp_add_group_by_addr(struct igmp_sock *igmp, struct gm_group *igmp_add_group_by_addr(struct igmp_sock *igmp,
struct in_addr group_addr) struct in_addr group_addr)
{ {
struct igmp_group *group; struct gm_group *group;
struct pim_interface *pim_ifp = igmp->interface->info; struct pim_interface *pim_ifp = igmp->interface->info;
group = find_group_by_addr(igmp, group_addr); group = find_group_by_addr(igmp, group_addr);
@ -1276,7 +1276,7 @@ struct igmp_group *igmp_add_group_by_addr(struct igmp_sock *igmp,
return group; return group;
} }
void igmp_send_query(int igmp_version, struct igmp_group *group, int fd, void igmp_send_query(int igmp_version, struct gm_group *group, int fd,
const char *ifname, char *query_buf, int query_buf_size, const char *ifname, char *query_buf, int query_buf_size,
int num_sources, struct in_addr dst_addr, int num_sources, struct in_addr dst_addr,
struct in_addr group_addr, struct in_addr group_addr,

View file

@ -142,7 +142,7 @@ int igmp_validate_checksum(char *igmp_msg, int igmp_msg_len);
struct gm_source { struct gm_source {
struct in_addr source_addr; struct in_addr source_addr;
struct thread *t_source_timer; struct thread *t_source_timer;
struct igmp_group *source_group; /* back pointer */ struct gm_group *source_group; /* back pointer */
time_t source_creation; time_t source_creation;
uint32_t source_flags; uint32_t source_flags;
struct channel_oil *source_channel_oil; struct channel_oil *source_channel_oil;
@ -154,7 +154,7 @@ struct gm_source {
int source_query_retransmit_count; int source_query_retransmit_count;
}; };
struct igmp_group { struct gm_group {
/* /*
RFC 3376: 6.2.2. Definition of Group Timers RFC 3376: 6.2.2. Definition of Group Timers
@ -185,30 +185,30 @@ struct igmp_group {
int64_t last_igmp_v2_report_dsec; int64_t last_igmp_v2_report_dsec;
}; };
struct igmp_group *find_group_by_addr(struct igmp_sock *igmp, struct gm_group *find_group_by_addr(struct igmp_sock *igmp,
struct in_addr group_addr); struct in_addr group_addr);
struct igmp_group *igmp_add_group_by_addr(struct igmp_sock *igmp, struct gm_group *igmp_add_group_by_addr(struct igmp_sock *igmp,
struct in_addr group_addr); struct in_addr group_addr);
struct gm_source *igmp_get_source_by_addr(struct igmp_group *group, struct gm_source *igmp_get_source_by_addr(struct gm_group *group,
struct in_addr src_addr, struct in_addr src_addr,
bool *created); bool *created);
void igmp_group_delete_empty_include(struct igmp_group *group); void igmp_group_delete_empty_include(struct gm_group *group);
void igmp_startup_mode_on(struct igmp_sock *igmp); void igmp_startup_mode_on(struct igmp_sock *igmp);
void igmp_group_timer_on(struct igmp_group *group, long interval_msec, void igmp_group_timer_on(struct gm_group *group, long interval_msec,
const char *ifname); const char *ifname);
void igmp_send_query(int igmp_version, struct igmp_group *group, int fd, void igmp_send_query(int igmp_version, struct gm_group *group, int fd,
const char *ifname, char *query_buf, int query_buf_size, const char *ifname, char *query_buf, int query_buf_size,
int num_sources, struct in_addr dst_addr, int num_sources, struct in_addr dst_addr,
struct in_addr group_addr, struct in_addr group_addr,
int query_max_response_time_dsec, uint8_t s_flag, int query_max_response_time_dsec, uint8_t s_flag,
uint8_t querier_robustness_variable, uint8_t querier_robustness_variable,
uint16_t querier_query_interval); uint16_t querier_query_interval);
void igmp_group_delete(struct igmp_group *group); void igmp_group_delete(struct gm_group *group);
void igmp_send_query_on_intf(struct interface *ifp, int igmp_ver); void igmp_send_query_on_intf(struct interface *ifp, int igmp_ver);
#endif /* PIM_IGMP_H */ #endif /* PIM_IGMP_H */

View file

@ -39,7 +39,7 @@ static void on_trace(const char *label, struct interface *ifp,
} }
} }
void igmp_v2_send_query(struct igmp_group *group, int fd, const char *ifname, void igmp_v2_send_query(struct gm_group *group, int fd, const char *ifname,
char *query_buf, struct in_addr dst_addr, char *query_buf, struct in_addr dst_addr,
struct in_addr group_addr, struct in_addr group_addr,
int query_max_response_time_dsec) int query_max_response_time_dsec)

View file

@ -21,7 +21,7 @@
#ifndef PIM_IGMPV2_H #ifndef PIM_IGMPV2_H
#define PIM_IGMPV2_H #define PIM_IGMPV2_H
void igmp_v2_send_query(struct igmp_group *group, int fd, const char *ifname, void igmp_v2_send_query(struct gm_group *group, int fd, const char *ifname,
char *query_buf, struct in_addr dst_addr, char *query_buf, struct in_addr dst_addr,
struct in_addr group_addr, struct in_addr group_addr,
int query_max_response_time_dsec); int query_max_response_time_dsec);

View file

@ -33,11 +33,11 @@
#include "pim_zebra.h" #include "pim_zebra.h"
#include "pim_oil.h" #include "pim_oil.h"
static void group_retransmit_timer_on(struct igmp_group *group); static void group_retransmit_timer_on(struct gm_group *group);
static long igmp_group_timer_remain_msec(struct igmp_group *group); static long igmp_group_timer_remain_msec(struct gm_group *group);
static long igmp_source_timer_remain_msec(struct gm_source *source); static long igmp_source_timer_remain_msec(struct gm_source *source);
static void group_query_send(struct igmp_group *group); static void group_query_send(struct gm_group *group);
static void source_query_send_by_flag(struct igmp_group *group, static void source_query_send_by_flag(struct gm_group *group,
int num_sources_tosend); int num_sources_tosend);
static void on_trace(const char *label, struct interface *ifp, static void on_trace(const char *label, struct interface *ifp,
@ -57,7 +57,7 @@ static void on_trace(const char *label, struct interface *ifp,
} }
} }
static inline long igmp_gmi_msec(struct igmp_group *group) static inline long igmp_gmi_msec(struct gm_group *group)
{ {
struct pim_interface *pim_ifp = group->interface->info; struct pim_interface *pim_ifp = group->interface->info;
struct igmp_sock *igmp; struct igmp_sock *igmp;
@ -73,7 +73,7 @@ static inline long igmp_gmi_msec(struct igmp_group *group)
pim_ifp->query_max_response_time_dsec); pim_ifp->query_max_response_time_dsec);
} }
void igmp_group_reset_gmi(struct igmp_group *group) void igmp_group_reset_gmi(struct gm_group *group)
{ {
long group_membership_interval_msec; long group_membership_interval_msec;
struct interface *ifp; struct interface *ifp;
@ -121,7 +121,7 @@ void igmp_group_reset_gmi(struct igmp_group *group)
static int igmp_source_timer(struct thread *t) static int igmp_source_timer(struct thread *t)
{ {
struct gm_source *source; struct gm_source *source;
struct igmp_group *group; struct gm_group *group;
source = THREAD_ARG(t); source = THREAD_ARG(t);
@ -183,8 +183,7 @@ static int igmp_source_timer(struct thread *t)
return 0; return 0;
} }
static void source_timer_off(struct igmp_group *group, static void source_timer_off(struct gm_group *group, struct gm_source *source)
struct gm_source *source)
{ {
if (!source->t_source_timer) if (!source->t_source_timer)
return; return;
@ -204,7 +203,7 @@ static void source_timer_off(struct igmp_group *group,
THREAD_OFF(source->t_source_timer); THREAD_OFF(source->t_source_timer);
} }
static void igmp_source_timer_on(struct igmp_group *group, static void igmp_source_timer_on(struct gm_group *group,
struct gm_source *source, long interval_msec) struct gm_source *source, long interval_msec)
{ {
source_timer_off(group, source); source_timer_off(group, source);
@ -234,7 +233,7 @@ static void igmp_source_timer_on(struct igmp_group *group,
igmp_source_forward_start(pim_ifp->pim, source); igmp_source_forward_start(pim_ifp->pim, source);
} }
void igmp_source_reset_gmi(struct igmp_group *group, struct gm_source *source) void igmp_source_reset_gmi(struct gm_group *group, struct gm_source *source)
{ {
long group_membership_interval_msec; long group_membership_interval_msec;
struct interface *ifp; struct interface *ifp;
@ -262,7 +261,7 @@ void igmp_source_reset_gmi(struct igmp_group *group, struct gm_source *source)
igmp_source_timer_on(group, source, group_membership_interval_msec); igmp_source_timer_on(group, source, group_membership_interval_msec);
} }
static void source_mark_delete_flag(struct igmp_group *group) static void source_mark_delete_flag(struct gm_group *group)
{ {
struct listnode *src_node; struct listnode *src_node;
struct gm_source *src; struct gm_source *src;
@ -272,7 +271,7 @@ static void source_mark_delete_flag(struct igmp_group *group)
} }
} }
static void source_mark_send_flag(struct igmp_group *group) static void source_mark_send_flag(struct gm_group *group)
{ {
struct listnode *src_node; struct listnode *src_node;
struct gm_source *src; struct gm_source *src;
@ -282,7 +281,7 @@ static void source_mark_send_flag(struct igmp_group *group)
} }
} }
static int source_mark_send_flag_by_timer(struct igmp_group *group) static int source_mark_send_flag_by_timer(struct gm_group *group)
{ {
struct listnode *src_node; struct listnode *src_node;
struct gm_source *src; struct gm_source *src;
@ -314,7 +313,7 @@ static void source_clear_send_flag(struct list *source_list)
/* /*
Any source (*,G) is forwarded only if mode is EXCLUDE {empty} Any source (*,G) is forwarded only if mode is EXCLUDE {empty}
*/ */
static void group_exclude_fwd_anysrc_ifempty(struct igmp_group *group) static void group_exclude_fwd_anysrc_ifempty(struct gm_group *group)
{ {
struct pim_interface *pim_ifp = group->interface->info; struct pim_interface *pim_ifp = group->interface->info;
@ -347,7 +346,7 @@ static void source_channel_oil_detach(struct gm_source *source)
*/ */
void igmp_source_delete(struct gm_source *source) void igmp_source_delete(struct gm_source *source)
{ {
struct igmp_group *group; struct gm_group *group;
struct in_addr src; struct in_addr src;
group = source->source_group; group = source->source_group;
@ -428,7 +427,7 @@ void igmp_source_delete_expired(struct list *source_list)
igmp_source_delete(src); igmp_source_delete(src);
} }
struct gm_source *igmp_find_source_by_addr(struct igmp_group *group, struct gm_source *igmp_find_source_by_addr(struct gm_group *group,
struct in_addr src_addr) struct in_addr src_addr)
{ {
struct listnode *src_node; struct listnode *src_node;
@ -441,7 +440,7 @@ struct gm_source *igmp_find_source_by_addr(struct igmp_group *group,
return 0; return 0;
} }
struct gm_source *igmp_get_source_by_addr(struct igmp_group *group, struct gm_source *igmp_get_source_by_addr(struct gm_group *group,
struct in_addr src_addr, bool *new) struct in_addr src_addr, bool *new)
{ {
struct gm_source *src; struct gm_source *src;
@ -487,7 +486,7 @@ static void allow(struct igmp_sock *igmp, struct in_addr from,
struct in_addr *sources) struct in_addr *sources)
{ {
struct gm_source *source; struct gm_source *source;
struct igmp_group *group; struct gm_group *group;
int i; int i;
if (num_sources == 0) { if (num_sources == 0) {
@ -559,7 +558,7 @@ void igmpv3_report_isin(struct igmp_sock *igmp, struct in_addr from,
allow(igmp, from, group_addr, num_sources, sources); allow(igmp, from, group_addr, num_sources, sources);
} }
static void isex_excl(struct igmp_group *group, int num_sources, static void isex_excl(struct gm_group *group, int num_sources,
struct in_addr *sources) struct in_addr *sources)
{ {
struct gm_source *source; struct gm_source *source;
@ -614,7 +613,7 @@ static void isex_excl(struct igmp_group *group, int num_sources,
source_delete_by_flag(group->group_source_list); source_delete_by_flag(group->group_source_list);
} }
static void isex_incl(struct igmp_group *group, int num_sources, static void isex_incl(struct gm_group *group, int num_sources,
struct in_addr *sources) struct in_addr *sources)
{ {
int i; int i;
@ -664,7 +663,7 @@ void igmpv3_report_isex(struct igmp_sock *igmp, struct in_addr from,
struct in_addr *sources, int from_igmp_v2_report) struct in_addr *sources, int from_igmp_v2_report)
{ {
struct interface *ifp = igmp->interface; struct interface *ifp = igmp->interface;
struct igmp_group *group; struct gm_group *group;
on_trace(__func__, ifp, from, group_addr, num_sources, sources); on_trace(__func__, ifp, from, group_addr, num_sources, sources);
@ -696,7 +695,7 @@ void igmpv3_report_isex(struct igmp_sock *igmp, struct in_addr from,
igmp_group_reset_gmi(group); igmp_group_reset_gmi(group);
} }
static void toin_incl(struct igmp_group *group, int num_sources, static void toin_incl(struct gm_group *group, int num_sources,
struct in_addr *sources) struct in_addr *sources)
{ {
int num_sources_tosend = listcount(group->group_source_list); int num_sources_tosend = listcount(group->group_source_list);
@ -734,7 +733,7 @@ static void toin_incl(struct igmp_group *group, int num_sources,
} }
} }
static void toin_excl(struct igmp_group *group, int num_sources, static void toin_excl(struct gm_group *group, int num_sources,
struct in_addr *sources) struct in_addr *sources)
{ {
int num_sources_tosend; int num_sources_tosend;
@ -781,7 +780,7 @@ void igmpv3_report_toin(struct igmp_sock *igmp, struct in_addr from,
struct in_addr *sources) struct in_addr *sources)
{ {
struct interface *ifp = igmp->interface; struct interface *ifp = igmp->interface;
struct igmp_group *group; struct gm_group *group;
on_trace(__func__, ifp, from, group_addr, num_sources, sources); on_trace(__func__, ifp, from, group_addr, num_sources, sources);
@ -812,7 +811,7 @@ void igmpv3_report_toin(struct igmp_sock *igmp, struct in_addr from,
} }
} }
static void toex_incl(struct igmp_group *group, int num_sources, static void toex_incl(struct gm_group *group, int num_sources,
struct in_addr *sources) struct in_addr *sources)
{ {
int num_sources_tosend = 0; int num_sources_tosend = 0;
@ -861,7 +860,7 @@ static void toex_incl(struct igmp_group *group, int num_sources,
group_exclude_fwd_anysrc_ifempty(group); group_exclude_fwd_anysrc_ifempty(group);
} }
static void toex_excl(struct igmp_group *group, int num_sources, static void toex_excl(struct gm_group *group, int num_sources,
struct in_addr *sources) struct in_addr *sources)
{ {
int num_sources_tosend = 0; int num_sources_tosend = 0;
@ -942,7 +941,7 @@ void igmpv3_report_toex(struct igmp_sock *igmp, struct in_addr from,
struct in_addr *sources) struct in_addr *sources)
{ {
struct interface *ifp = igmp->interface; struct interface *ifp = igmp->interface;
struct igmp_group *group; struct gm_group *group;
on_trace(__func__, ifp, from, group_addr, num_sources, sources); on_trace(__func__, ifp, from, group_addr, num_sources, sources);
@ -976,7 +975,7 @@ void igmpv3_report_allow(struct igmp_sock *igmp, struct in_addr from,
allow(igmp, from, group_addr, num_sources, sources); allow(igmp, from, group_addr, num_sources, sources);
} }
static void igmp_send_query_group(struct igmp_group *group, char *query_buf, static void igmp_send_query_group(struct gm_group *group, char *query_buf,
size_t query_buf_size, int num_sources, size_t query_buf_size, int num_sources,
int s_flag) int s_flag)
{ {
@ -1002,7 +1001,7 @@ static void igmp_send_query_group(struct igmp_group *group, char *query_buf,
larger than LMQT, the "Suppress Router-Side Processing" bit is set larger than LMQT, the "Suppress Router-Side Processing" bit is set
in the query message. in the query message.
*/ */
static void group_retransmit_group(struct igmp_group *group) static void group_retransmit_group(struct gm_group *group)
{ {
struct pim_interface *pim_ifp; struct pim_interface *pim_ifp;
long lmqc; /* Last Member Query Count */ long lmqc; /* Last Member Query Count */
@ -1067,7 +1066,7 @@ static void group_retransmit_group(struct igmp_group *group)
or equal to LMQT. If either of the two calculated messages does not or equal to LMQT. If either of the two calculated messages does not
contain any sources, then its transmission is suppressed. contain any sources, then its transmission is suppressed.
*/ */
static int group_retransmit_sources(struct igmp_group *group, static int group_retransmit_sources(struct gm_group *group,
int send_with_sflag_set) int send_with_sflag_set)
{ {
struct pim_interface *pim_ifp; struct pim_interface *pim_ifp;
@ -1214,7 +1213,7 @@ static int group_retransmit_sources(struct igmp_group *group,
static int igmp_group_retransmit(struct thread *t) static int igmp_group_retransmit(struct thread *t)
{ {
struct igmp_group *group; struct gm_group *group;
int num_retransmit_sources_left; int num_retransmit_sources_left;
int send_with_sflag_set; /* boolean */ int send_with_sflag_set; /* boolean */
@ -1271,7 +1270,7 @@ static int igmp_group_retransmit(struct thread *t)
if group retransmit timer isn't running, starts it; if group retransmit timer isn't running, starts it;
otherwise, do nothing otherwise, do nothing
*/ */
static void group_retransmit_timer_on(struct igmp_group *group) static void group_retransmit_timer_on(struct gm_group *group)
{ {
struct pim_interface *pim_ifp; struct pim_interface *pim_ifp;
long lmqi_msec; /* Last Member Query Interval */ long lmqi_msec; /* Last Member Query Interval */
@ -1300,7 +1299,7 @@ static void group_retransmit_timer_on(struct igmp_group *group)
&group->t_group_query_retransmit_timer); &group->t_group_query_retransmit_timer);
} }
static long igmp_group_timer_remain_msec(struct igmp_group *group) static long igmp_group_timer_remain_msec(struct gm_group *group)
{ {
return pim_time_timer_remain_msec(group->t_group_timer); return pim_time_timer_remain_msec(group->t_group_timer);
} }
@ -1313,7 +1312,7 @@ static long igmp_source_timer_remain_msec(struct gm_source *source)
/* /*
RFC3376: 6.6.3.1. Building and Sending Group Specific Queries RFC3376: 6.6.3.1. Building and Sending Group Specific Queries
*/ */
static void group_query_send(struct igmp_group *group) static void group_query_send(struct gm_group *group)
{ {
struct pim_interface *pim_ifp; struct pim_interface *pim_ifp;
long lmqc; /* Last Member Query Count */ long lmqc; /* Last Member Query Count */
@ -1338,7 +1337,7 @@ static void group_query_send(struct igmp_group *group)
/* /*
RFC3376: 6.6.3.2. Building and Sending Group and Source Specific Queries RFC3376: 6.6.3.2. Building and Sending Group and Source Specific Queries
*/ */
static void source_query_send_by_flag(struct igmp_group *group, static void source_query_send_by_flag(struct gm_group *group,
int num_sources_tosend) int num_sources_tosend)
{ {
struct pim_interface *pim_ifp; struct pim_interface *pim_ifp;
@ -1384,7 +1383,7 @@ static void source_query_send_by_flag(struct igmp_group *group,
group_retransmit_timer_on(group); group_retransmit_timer_on(group);
} }
static void block_excl(struct igmp_group *group, int num_sources, static void block_excl(struct gm_group *group, int num_sources,
struct in_addr *sources) struct in_addr *sources)
{ {
int num_sources_tosend = 0; int num_sources_tosend = 0;
@ -1430,7 +1429,7 @@ static void block_excl(struct igmp_group *group, int num_sources,
} }
} }
static void block_incl(struct igmp_group *group, int num_sources, static void block_incl(struct gm_group *group, int num_sources,
struct in_addr *sources) struct in_addr *sources)
{ {
int num_sources_tosend = 0; int num_sources_tosend = 0;
@ -1466,7 +1465,7 @@ void igmpv3_report_block(struct igmp_sock *igmp, struct in_addr from,
struct in_addr *sources) struct in_addr *sources)
{ {
struct interface *ifp = igmp->interface; struct interface *ifp = igmp->interface;
struct igmp_group *group; struct gm_group *group;
on_trace(__func__, ifp, from, group_addr, num_sources, sources); on_trace(__func__, ifp, from, group_addr, num_sources, sources);
@ -1485,7 +1484,7 @@ void igmpv3_report_block(struct igmp_sock *igmp, struct in_addr from,
} }
} }
void igmp_group_timer_lower_to_lmqt(struct igmp_group *group) void igmp_group_timer_lower_to_lmqt(struct gm_group *group)
{ {
struct interface *ifp; struct interface *ifp;
struct pim_interface *pim_ifp; struct pim_interface *pim_ifp;
@ -1531,7 +1530,7 @@ void igmp_group_timer_lower_to_lmqt(struct igmp_group *group)
void igmp_source_timer_lower_to_lmqt(struct gm_source *source) void igmp_source_timer_lower_to_lmqt(struct gm_source *source)
{ {
struct igmp_group *group; struct gm_group *group;
struct interface *ifp; struct interface *ifp;
struct pim_interface *pim_ifp; struct pim_interface *pim_ifp;
char *ifname; char *ifname;
@ -1565,7 +1564,7 @@ void igmp_source_timer_lower_to_lmqt(struct gm_source *source)
igmp_source_timer_on(group, source, lmqt_msec); igmp_source_timer_on(group, source, lmqt_msec);
} }
void igmp_v3_send_query(struct igmp_group *group, int fd, const char *ifname, void igmp_v3_send_query(struct gm_group *group, int fd, const char *ifname,
char *query_buf, int query_buf_size, int num_sources, char *query_buf, int query_buf_size, int num_sources,
struct in_addr dst_addr, struct in_addr group_addr, struct in_addr dst_addr, struct in_addr group_addr,
int query_max_response_time_dsec, uint8_t s_flag, int query_max_response_time_dsec, uint8_t s_flag,
@ -1769,7 +1768,7 @@ void igmp_v3_recv_query(struct igmp_sock *igmp, const char *from_str,
"General IGMP query v3 from %s on %s: Suppress Router-Side Processing flag is clear", "General IGMP query v3 from %s on %s: Suppress Router-Side Processing flag is clear",
from_str, ifp->name); from_str, ifp->name);
} else { } else {
struct igmp_group *group; struct gm_group *group;
/* this is a non-general query: perform timer updates */ /* this is a non-general query: perform timer updates */

View file

@ -53,9 +53,8 @@
/* OHPI: Older Host Present Interval */ /* OHPI: Older Host Present Interval */
#define PIM_IGMP_OHPI_DSEC(qrv,qqi,qri_dsec) ((qrv) * (10 * (qqi)) + (qri_dsec)) #define PIM_IGMP_OHPI_DSEC(qrv,qqi,qri_dsec) ((qrv) * (10 * (qqi)) + (qri_dsec))
void igmp_group_reset_gmi(struct igmp_group *group); void igmp_group_reset_gmi(struct gm_group *group);
void igmp_source_reset_gmi(struct igmp_group *group, void igmp_source_reset_gmi(struct gm_group *group, struct gm_source *source);
struct gm_source *source);
void igmp_source_free(struct gm_source *source); void igmp_source_free(struct gm_source *source);
void igmp_source_delete(struct gm_source *source); void igmp_source_delete(struct gm_source *source);
@ -80,13 +79,13 @@ void igmpv3_report_block(struct igmp_sock *igmp, struct in_addr from,
struct in_addr group_addr, int num_sources, struct in_addr group_addr, int num_sources,
struct in_addr *sources); struct in_addr *sources);
void igmp_group_timer_lower_to_lmqt(struct igmp_group *group); void igmp_group_timer_lower_to_lmqt(struct gm_group *group);
void igmp_source_timer_lower_to_lmqt(struct gm_source *source); void igmp_source_timer_lower_to_lmqt(struct gm_source *source);
struct gm_source *igmp_find_source_by_addr(struct igmp_group *group, struct gm_source *igmp_find_source_by_addr(struct gm_group *group,
struct in_addr src_addr); struct in_addr src_addr);
void igmp_v3_send_query(struct igmp_group *group, int fd, const char *ifname, void igmp_v3_send_query(struct gm_group *group, int fd, const char *ifname,
char *query_buf, int query_buf_size, int num_sources, char *query_buf, int query_buf_size, int num_sources,
struct in_addr dst_addr, struct in_addr group_addr, struct in_addr dst_addr, struct in_addr group_addr,
int query_max_response_time_dsec, uint8_t s_flag, int query_max_response_time_dsec, uint8_t s_flag,

View file

@ -62,7 +62,7 @@ static void pim_if_membership_refresh(struct interface *ifp)
{ {
struct pim_interface *pim_ifp; struct pim_interface *pim_ifp;
struct listnode *grpnode; struct listnode *grpnode;
struct igmp_group *grp; struct gm_group *grp;
pim_ifp = ifp->info; pim_ifp = ifp->info;
@ -444,7 +444,7 @@ static void change_query_max_response_time(struct pim_interface *pim_ifp,
struct listnode *sock_node; struct listnode *sock_node;
struct igmp_sock *igmp; struct igmp_sock *igmp;
struct listnode *grp_node; struct listnode *grp_node;
struct igmp_group *grp; struct gm_group *grp;
if (pim_ifp->query_max_response_time_dsec if (pim_ifp->query_max_response_time_dsec
== query_max_response_time_dsec) == query_max_response_time_dsec)

View file

@ -472,7 +472,7 @@ void pim_zebra_init(void)
} }
void igmp_anysource_forward_start(struct pim_instance *pim, void igmp_anysource_forward_start(struct pim_instance *pim,
struct igmp_group *group) struct gm_group *group)
{ {
struct gm_source *source; struct gm_source *source;
struct in_addr src_addr = {.s_addr = 0}; struct in_addr src_addr = {.s_addr = 0};
@ -489,7 +489,7 @@ void igmp_anysource_forward_start(struct pim_instance *pim,
igmp_source_forward_start(pim, source); igmp_source_forward_start(pim, source);
} }
void igmp_anysource_forward_stop(struct igmp_group *group) void igmp_anysource_forward_stop(struct gm_group *group)
{ {
struct gm_source *source; struct gm_source *source;
struct in_addr star = {.s_addr = 0}; struct in_addr star = {.s_addr = 0};
@ -503,7 +503,7 @@ static void igmp_source_forward_reevaluate_one(struct pim_instance *pim,
struct gm_source *source) struct gm_source *source)
{ {
struct prefix_sg sg; struct prefix_sg sg;
struct igmp_group *group = source->source_group; struct gm_group *group = source->source_group;
struct pim_ifchannel *ch; struct pim_ifchannel *ch;
if ((source->source_addr.s_addr != INADDR_ANY) if ((source->source_addr.s_addr != INADDR_ANY)
@ -547,7 +547,7 @@ void igmp_source_forward_reevaluate_all(struct pim_instance *pim)
FOR_ALL_INTERFACES (pim->vrf, ifp) { FOR_ALL_INTERFACES (pim->vrf, ifp) {
struct pim_interface *pim_ifp = ifp->info; struct pim_interface *pim_ifp = ifp->info;
struct listnode *grpnode; struct listnode *grpnode;
struct igmp_group *grp; struct gm_group *grp;
struct pim_ifchannel *ch, *ch_temp; struct pim_ifchannel *ch, *ch_temp;
if (!pim_ifp) if (!pim_ifp)
@ -579,7 +579,7 @@ void igmp_source_forward_start(struct pim_instance *pim,
struct gm_source *source) struct gm_source *source)
{ {
struct pim_interface *pim_oif; struct pim_interface *pim_oif;
struct igmp_group *group; struct gm_group *group;
struct prefix_sg sg; struct prefix_sg sg;
int result; int result;
int input_iface_vif_index = 0; int input_iface_vif_index = 0;
@ -759,7 +759,7 @@ void igmp_source_forward_start(struct pim_instance *pim,
*/ */
void igmp_source_forward_stop(struct gm_source *source) void igmp_source_forward_stop(struct gm_source *source)
{ {
struct igmp_group *group; struct gm_group *group;
struct prefix_sg sg; struct prefix_sg sg;
int result; int result;

View file

@ -33,8 +33,8 @@ void pim_scan_individual_oil(struct channel_oil *c_oil, int in_vif_index);
void pim_scan_oil(struct pim_instance *pim_matcher); void pim_scan_oil(struct pim_instance *pim_matcher);
void igmp_anysource_forward_start(struct pim_instance *pim, void igmp_anysource_forward_start(struct pim_instance *pim,
struct igmp_group *group); struct gm_group *group);
void igmp_anysource_forward_stop(struct igmp_group *group); void igmp_anysource_forward_stop(struct gm_group *group);
void igmp_source_forward_start(struct pim_instance *pim, void igmp_source_forward_start(struct pim_instance *pim,
struct gm_source *source); struct gm_source *source);