if (!pim_ifp)
continue;
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_socket_list, sock_node,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_socket_list, sock_node,
igmp)) {
char uptime[10];
char query_hhmmss[10];
if (strcmp(ifname, "detail") && strcmp(ifname, ifp->name))
continue;
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_socket_list, sock_node,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_socket_list, sock_node,
igmp)) {
found_ifname = 1;
pim_time_uptime(uptime, sizeof(uptime),
gmi_msec = PIM_IGMP_GMI_MSEC(
igmp->querier_robustness_variable,
igmp->querier_query_interval,
- pim_ifp->igmp_query_max_response_time_dsec);
+ pim_ifp->gm_query_max_response_time_dsec);
- sqi = PIM_IGMP_SQI(
- pim_ifp->igmp_default_query_interval);
+ sqi = PIM_IGMP_SQI(pim_ifp->gm_default_query_interval);
oqpi_msec = PIM_IGMP_OQPI_MSEC(
igmp->querier_robustness_variable,
igmp->querier_query_interval,
- pim_ifp->igmp_query_max_response_time_dsec);
+ pim_ifp->gm_query_max_response_time_dsec);
lmqt_msec = PIM_IGMP_LMQT_MSEC(
- pim_ifp->igmp_specific_query_max_response_time_dsec,
- pim_ifp->igmp_last_member_query_count);
+ pim_ifp->gm_specific_query_max_response_time_dsec,
+ pim_ifp->gm_last_member_query_count);
ohpi_msec =
PIM_IGMP_OHPI_DSEC(
igmp->querier_robustness_variable,
igmp->querier_query_interval,
- pim_ifp->igmp_query_max_response_time_dsec)
- * 100;
+ pim_ifp->gm_query_max_response_time_dsec) *
+ 100;
- qri_msec = pim_ifp->igmp_query_max_response_time_dsec
- * 100;
+ qri_msec =
+ pim_ifp->gm_query_max_response_time_dsec * 100;
if (pim_ifp->pim_sock_fd >= 0)
mloop = pim_socket_mcastloop_get(
pim_ifp->pim_sock_fd);
else
mloop = 0;
- lmqc = pim_ifp->igmp_last_member_query_count;
+ lmqc = pim_ifp->gm_last_member_query_count;
if (uj) {
json_row = json_object_new_object();
if (!pim_ifp)
continue;
- if (!pim_ifp->igmp_join_list)
+ if (!pim_ifp->gm_join_list)
continue;
pri_addr = pim_find_primary_addr(ifp);
pim_inet4_dump("<pri?>", pri_addr, pri_addr_str,
sizeof(pri_addr_str));
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_join_list, join_node,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_join_list, join_node,
ij)) {
char group_str[INET_ADDRSTRLEN];
char source_str[INET_ADDRSTRLEN];
ifp->name, pri_addr_str, source_str,
group_str, ij->sock_fd, uptime);
}
- } /* for (pim_ifp->igmp_join_list) */
+ } /* for (pim_ifp->gm_join_list) */
} /* for (iflist) */
if (ifname && strcmp(ifname, ifp->name))
continue;
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_socket_list, sock_node,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_socket_list, sock_node,
igmp)) {
igmp_stats_add(&rx_stats, &igmp->rx_stats);
}
continue;
/* scan igmp groups */
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_group_list, grpnode,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_group_list, grpnode,
grp)) {
char group_str[INET_ADDRSTRLEN];
char hhmmss[10];
continue;
/* scan igmp groups */
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_group_list, grpnode,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_group_list, grpnode,
grp)) {
char group_str[INET_ADDRSTRLEN];
char grp_retr_mmss[10];
continue;
/* scan igmp groups */
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_group_list, grpnode,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_group_list, grpnode,
grp)) {
char group_str[INET_ADDRSTRLEN];
struct listnode *srcnode;
uptime);
} /* scan group sources */
- } /* scan igmp groups */
+ } /* scan igmp groups */
} /* scan interfaces */
}
continue;
/* scan igmp groups */
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_group_list, grpnode,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_group_list, grpnode,
grp)) {
char group_str[INET_ADDRSTRLEN];
struct listnode *srcnode;
src->source_query_retransmit_count);
} /* scan group sources */
- } /* scan igmp groups */
+ } /* scan igmp groups */
} /* scan interfaces */
}
/* clean up all igmp groups */
- if (pim_ifp->igmp_group_list) {
- while (pim_ifp->igmp_group_list->count) {
- grp = listnode_head(pim_ifp->igmp_group_list);
+ if (pim_ifp->gm_group_list) {
+ while (pim_ifp->gm_group_list->count) {
+ grp = listnode_head(pim_ifp->gm_group_list);
igmp_group_delete(grp);
}
}
pim_ifp->mroute_vif_index = -1;
pim_ifp->igmp_version = IGMP_DEFAULT_VERSION;
- pim_ifp->igmp_default_robustness_variable =
+ pim_ifp->gm_default_robustness_variable =
IGMP_DEFAULT_ROBUSTNESS_VARIABLE;
- pim_ifp->igmp_default_query_interval = IGMP_GENERAL_QUERY_INTERVAL;
- pim_ifp->igmp_query_max_response_time_dsec =
+ pim_ifp->gm_default_query_interval = IGMP_GENERAL_QUERY_INTERVAL;
+ pim_ifp->gm_query_max_response_time_dsec =
IGMP_QUERY_MAX_RESPONSE_TIME_DSEC;
- pim_ifp->igmp_specific_query_max_response_time_dsec =
+ pim_ifp->gm_specific_query_max_response_time_dsec =
IGMP_SPECIFIC_QUERY_MAX_RESPONSE_TIME_DSEC;
- pim_ifp->igmp_last_member_query_count =
- IGMP_DEFAULT_ROBUSTNESS_VARIABLE;
+ pim_ifp->gm_last_member_query_count = IGMP_DEFAULT_ROBUSTNESS_VARIABLE;
/* BSM config on interface: true by default */
pim_ifp->bsm_enable = true;
The number of seconds represented by the [Query Response Interval]
must be less than the [Query Interval].
*/
- assert(pim_ifp->igmp_query_max_response_time_dsec
- < pim_ifp->igmp_default_query_interval);
+ assert(pim_ifp->gm_query_max_response_time_dsec <
+ pim_ifp->gm_default_query_interval);
if (pim)
PIM_IF_DO_PIM(pim_ifp->options);
PIM_IF_DO_IGMP_LISTEN_ALLROUTERS(pim_ifp->options);
- pim_ifp->igmp_join_list = NULL;
+ pim_ifp->gm_join_list = NULL;
pim_ifp->pim_neighbor_list = NULL;
pim_ifp->upstream_switch_list = NULL;
pim_ifp->pim_generation_id = 0;
pim_ifp = ifp->info;
assert(pim_ifp);
- if (pim_ifp->igmp_join_list) {
+ if (pim_ifp->gm_join_list) {
pim_if_igmp_join_del_all(ifp);
}
struct gm_sock *igmp;
/* lookup IGMP socket */
- igmp = pim_igmp_sock_lookup_ifaddr(pim_ifp->igmp_socket_list,
+ igmp = pim_igmp_sock_lookup_ifaddr(pim_ifp->gm_socket_list,
ifaddr);
if (!igmp) {
/* if addr new, add IGMP socket */
if (ifc->address->family == AF_INET)
- pim_igmp_sock_add(pim_ifp->igmp_socket_list,
+ pim_igmp_sock_add(pim_ifp->gm_socket_list,
ifaddr, ifp, false);
} else if (igmp->mtrace_only) {
igmp_sock_delete(igmp);
- pim_igmp_sock_add(pim_ifp->igmp_socket_list, ifaddr,
- ifp, false);
+ pim_igmp_sock_add(pim_ifp->gm_socket_list, ifaddr, ifp,
+ false);
}
/* Replay Static IGMP groups */
- if (pim_ifp->igmp_join_list) {
+ if (pim_ifp->gm_join_list) {
struct listnode *node;
struct listnode *nextnode;
struct gm_join *ij;
int join_fd;
- for (ALL_LIST_ELEMENTS(pim_ifp->igmp_join_list, node,
+ for (ALL_LIST_ELEMENTS(pim_ifp->gm_join_list, node,
nextnode, ij)) {
/* Close socket and reopen with Source and Group
*/
struct gm_sock *igmp;
/* lookup IGMP socket */
- igmp = pim_igmp_sock_lookup_ifaddr(pim_ifp->igmp_socket_list,
+ igmp = pim_igmp_sock_lookup_ifaddr(pim_ifp->gm_socket_list,
ifaddr);
if (ifc->address->family == AF_INET) {
if (igmp)
igmp_sock_delete(igmp);
/* if addr new, add IGMP socket */
- pim_igmp_sock_add(pim_ifp->igmp_socket_list, ifaddr,
- ifp, true);
+ pim_igmp_sock_add(pim_ifp->gm_socket_list, ifaddr, ifp,
+ true);
}
} /* igmp mtrace only */
ifaddr = ifc->address->u.prefix4;
/* lookup IGMP socket */
- igmp = pim_igmp_sock_lookup_ifaddr(pim_ifp->igmp_socket_list, ifaddr);
+ igmp = pim_igmp_sock_lookup_ifaddr(pim_ifp->gm_socket_list, ifaddr);
if (igmp) {
/* if addr found, del IGMP socket */
igmp_sock_delete(igmp);
ij->source_addr = source_addr;
ij->sock_creation = pim_time_monotonic_sec();
- listnode_add(pim_ifp->igmp_join_list, ij);
+ listnode_add(pim_ifp->gm_join_list, ij);
return ij;
}
ifp->name);
}
- if (!pim_ifp->igmp_join_list) {
- pim_ifp->igmp_join_list = list_new();
- pim_ifp->igmp_join_list->del = (void (*)(void *))igmp_join_free;
+ if (!pim_ifp->gm_join_list) {
+ pim_ifp->gm_join_list = list_new();
+ pim_ifp->gm_join_list->del = (void (*)(void *))igmp_join_free;
}
- ij = igmp_join_find(pim_ifp->igmp_join_list, group_addr, source_addr);
+ ij = igmp_join_find(pim_ifp->gm_join_list, group_addr, source_addr);
/* This interface has already been configured to join this IGMP group
*/
return -1;
}
- if (!pim_ifp->igmp_join_list) {
+ if (!pim_ifp->gm_join_list) {
zlog_warn("%s: no IGMP join on interface %s", __func__,
ifp->name);
return -2;
}
- ij = igmp_join_find(pim_ifp->igmp_join_list, group_addr, source_addr);
+ ij = igmp_join_find(pim_ifp->gm_join_list, group_addr, source_addr);
if (!ij) {
char group_str[INET_ADDRSTRLEN];
char source_str[INET_ADDRSTRLEN];
errno, safe_strerror(errno));
/* warning only */
}
- listnode_delete(pim_ifp->igmp_join_list, ij);
+ listnode_delete(pim_ifp->gm_join_list, ij);
igmp_join_free(ij);
- if (listcount(pim_ifp->igmp_join_list) < 1) {
- list_delete(&pim_ifp->igmp_join_list);
- pim_ifp->igmp_join_list = 0;
+ if (listcount(pim_ifp->gm_join_list) < 1) {
+ list_delete(&pim_ifp->gm_join_list);
+ pim_ifp->gm_join_list = 0;
}
return 0;
return;
}
- if (!pim_ifp->igmp_join_list)
+ if (!pim_ifp->gm_join_list)
return;
- for (ALL_LIST_ELEMENTS(pim_ifp->igmp_join_list, node, nextnode, ij))
+ for (ALL_LIST_ELEMENTS(pim_ifp->gm_join_list, node, nextnode, ij))
pim_if_igmp_join_del(ifp, ij->group_addr, ij->source_addr);
}
struct list *sec_addr_list; /* list of struct pim_secondary_addr */
pim_addr update_source; /* user can statically set the primary
* address of the interface */
- int igmp_version; /* IGMP or MLD version */
- int igmp_default_robustness_variable; /* IGMP or MLD QRV */
- int igmp_default_query_interval; /* IGMP or MLD secs between general
- queries */
- int igmp_query_max_response_time_dsec; /* IGMPv3 Max Response Time in
+
+ int igmp_version; /* IGMP version */
+ int gm_default_robustness_variable; /* IGMP or MLD QRV */
+ int gm_default_query_interval; /* IGMP or MLD secs between general
+ queries */
+ int gm_query_max_response_time_dsec; /* IGMP or MLD Max Response Time in
dsecs for general queries */
- int igmp_specific_query_max_response_time_dsec; /* IGMPv3 Max Response
- Time in dsecs called
- as last member query
- interval, defines the
- maximum response time
- advertised in IGMP
- group-specific
- queries */
- int igmp_last_member_query_count; /* IGMP last member query count */
- struct list *igmp_socket_list; /* list of struct igmp_sock */
- struct list *igmp_join_list; /* list of struct igmp_join */
- struct list *igmp_group_list; /* list of struct igmp_group */
- struct hash *igmp_group_hash;
+ int gm_specific_query_max_response_time_dsec; /* IGMP or MLD Max
+ Response Time in dsecs
+ called as last member
+ query interval, defines
+ the maximum response
+ time advertised in IGMP
+ group-specific
+ queries */
+ int gm_last_member_query_count; /* IGMP or MLD last member
+ query count
+ */
+ struct list *gm_socket_list; /* list of struct IGMP or MLD sock */
+ struct list *gm_join_list; /* list of struct IGMP or MLD join */
+ struct list *gm_group_list; /* list of struct IGMP or MLD group */
+ struct hash *gm_group_hash;
int pim_sock_fd; /* PIM socket file descriptor */
struct thread *t_pim_sock_read; /* thread for reading PIM socket */
};
/*
- if default_holdtime is set (>= 0), use it;
- otherwise default_holdtime is 3.5 * hello_period
+ * if default_holdtime is set (>= 0), use it;
+ * otherwise default_holdtime is 3.5 * hello_period
*/
#define PIM_IF_DEFAULT_HOLDTIME(pim_ifp) \
(((pim_ifp)->pim_default_holdtime < 0) \
*/
other_querier_present_interval_msec = PIM_IGMP_OQPI_MSEC(
igmp->querier_robustness_variable, igmp->querier_query_interval,
- pim_ifp->igmp_query_max_response_time_dsec);
+ pim_ifp->gm_query_max_response_time_dsec);
if (PIM_DEBUG_IGMP_TRACE) {
char ifaddr_str[INET_ADDRSTRLEN];
* newly configured igmp interface send it out in 1 second
* just to give the entire world a tiny bit of time to settle
* else the query interval is:
- * query_interval = pim_ifp->igmp_default_query_interval >> 2;
+ * query_interval = pim_ifp->gm_default_query_interval >> 2;
*/
- if (igmp->startup_query_count
- == igmp->querier_robustness_variable)
+ if (igmp->startup_query_count ==
+ igmp->querier_robustness_variable)
query_interval = 1;
else
query_interval = PIM_IGMP_SQI(
- pim_ifp->igmp_default_query_interval);
+ pim_ifp->gm_default_query_interval);
--igmp->startup_query_count;
} else {
igmp_send_query(pim_ifp->igmp_version, 0 /* igmp_group */, igmp->fd,
igmp->interface->name, query_buf, sizeof(query_buf),
0 /* num_sources */, dst_addr, group_addr,
- pim_ifp->igmp_query_max_response_time_dsec,
+ pim_ifp->gm_query_max_response_time_dsec,
1 /* s_flag: always set for general queries */,
igmp->querier_robustness_variable,
igmp->querier_query_interval);
/*
Since we're (re)starting, reset QQI to default Query Interval
*/
- igmp->querier_query_interval = pim_ifp->igmp_default_query_interval;
+ igmp->querier_query_interval = pim_ifp->gm_default_query_interval;
}
static void igmp_group_free(struct gm_group *group)
group_timer_off(group);
igmp_group_count_decr(pim_ifp);
- listnode_delete(pim_ifp->igmp_group_list, group);
- hash_release(pim_ifp->igmp_group_hash, group);
+ listnode_delete(pim_ifp->gm_group_list, group);
+ hash_release(pim_ifp->gm_group_hash, group);
igmp_group_free(group);
}
pim_ifp = igmp->interface->info;
- listnode_delete(pim_ifp->igmp_socket_list, igmp);
+ listnode_delete(pim_ifp->gm_socket_list, igmp);
igmp_sock_free(igmp);
- if (!listcount(pim_ifp->igmp_socket_list))
+ if (!listcount(pim_ifp->gm_socket_list))
pim_igmp_if_reset(pim_ifp);
}
pim_ifp = ifp->info;
- for (ALL_LIST_ELEMENTS(pim_ifp->igmp_socket_list, igmp_node,
+ for (ALL_LIST_ELEMENTS(pim_ifp->gm_socket_list, igmp_node,
igmp_nextnode, igmp)) {
igmp_sock_delete(igmp);
}
{
char hash_name[64];
- pim_ifp->igmp_socket_list = list_new();
- pim_ifp->igmp_socket_list->del = (void (*)(void *))igmp_sock_free;
+ pim_ifp->gm_socket_list = list_new();
+ pim_ifp->gm_socket_list->del = (void (*)(void *))igmp_sock_free;
- pim_ifp->igmp_group_list = list_new();
- pim_ifp->igmp_group_list->del = (void (*)(void *))igmp_group_free;
+ pim_ifp->gm_group_list = list_new();
+ pim_ifp->gm_group_list->del = (void (*)(void *))igmp_group_free;
snprintf(hash_name, sizeof(hash_name), "IGMP %s hash", ifp->name);
- pim_ifp->igmp_group_hash = hash_create(
- igmp_group_hash_key, igmp_group_hash_equal, hash_name);
+ pim_ifp->gm_group_hash = hash_create(igmp_group_hash_key,
+ igmp_group_hash_equal, hash_name);
}
void pim_igmp_if_reset(struct pim_interface *pim_ifp)
struct listnode *grp_node, *grp_nextnode;
struct gm_group *grp;
- for (ALL_LIST_ELEMENTS(pim_ifp->igmp_group_list, grp_node, grp_nextnode,
+ for (ALL_LIST_ELEMENTS(pim_ifp->gm_group_list, grp_node, grp_nextnode,
grp)) {
igmp_group_delete(grp);
}
{
pim_igmp_if_reset(pim_ifp);
- assert(pim_ifp->igmp_group_list);
- assert(!listcount(pim_ifp->igmp_group_list));
+ assert(pim_ifp->gm_group_list);
+ assert(!listcount(pim_ifp->gm_group_list));
- list_delete(&pim_ifp->igmp_group_list);
- hash_free(pim_ifp->igmp_group_hash);
+ list_delete(&pim_ifp->gm_group_list);
+ hash_free(pim_ifp->gm_group_hash);
- list_delete(&pim_ifp->igmp_socket_list);
+ list_delete(&pim_ifp->gm_socket_list);
}
static struct gm_sock *igmp_sock_new(int fd, struct in_addr ifaddr,
igmp->t_igmp_query_timer = NULL;
igmp->t_other_querier_timer = NULL; /* no other querier present */
igmp->querier_robustness_variable =
- pim_ifp->igmp_default_robustness_variable;
+ pim_ifp->gm_default_robustness_variable;
igmp->sock_creation = pim_time_monotonic_sec();
igmp_stats_init(&igmp->rx_stats);
/*
igmp_startup_mode_on() will reset QQI:
- igmp->querier_query_interval = pim_ifp->igmp_default_query_interval;
+ igmp->querier_query_interval = pim_ifp->gm_default_query_interval;
*/
igmp_startup_mode_on(igmp);
pim_igmp_general_query_on(igmp);
lookup.group_addr.s_addr = group_addr.s_addr;
- return hash_lookup(pim_ifp->igmp_group_hash, &lookup);
+ return hash_lookup(pim_ifp->gm_group_hash, &lookup);
}
struct gm_group *igmp_add_group_by_addr(struct gm_sock *igmp,
/* initialize new group as INCLUDE {empty} */
group->group_filtermode_isexcl = 0; /* 0=INCLUDE, 1=EXCLUDE */
- listnode_add(pim_ifp->igmp_group_list, group);
- group = hash_get(pim_ifp->igmp_group_hash, group, hash_alloc_intern);
+ listnode_add(pim_ifp->gm_group_list, group);
+ group = hash_get(pim_ifp->gm_group_hash, group, hash_alloc_intern);
if (PIM_DEBUG_IGMP_TRACE) {
char group_str[INET_ADDRSTRLEN];
group_addr.s_addr = PIM_NET_INADDR_ANY;
if (PIM_DEBUG_IGMP_TRACE)
- zlog_debug("Issuing general query on request on %s",
- ifp->name);
+ zlog_debug("Issuing general query on request on %s", ifp->name);
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_socket_list, sock_node, igmp)) {
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_socket_list, sock_node, igmp)) {
char query_buf[query_buf_size];
igmp->interface->name, query_buf,
sizeof(query_buf), 0 /* num_sources */,
dst_addr, group_addr,
- pim_ifp->igmp_query_max_response_time_dsec,
+ pim_ifp->gm_query_max_response_time_dsec,
1 /* s_flag: always set for general queries */,
igmp->querier_robustness_variable,
igmp->querier_query_interval);
long qrv = 0, qqi = 0;
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_socket_list, sock_node, igmp)) {
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_socket_list, sock_node, igmp)) {
qrv = MAX(qrv, igmp->querier_robustness_variable);
qqi = MAX(qqi, igmp->querier_query_interval);
}
return PIM_IGMP_GMI_MSEC(qrv, qqi,
- pim_ifp->igmp_query_max_response_time_dsec);
+ pim_ifp->gm_query_max_response_time_dsec);
}
void igmp_group_reset_gmi(struct gm_group *group)
struct gm_sock *igmp;
struct listnode *sock_node;
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_socket_list, sock_node, igmp)) {
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_socket_list, sock_node, igmp)) {
igmp_send_query(
pim_ifp->igmp_version, group, igmp->fd, ifp->name,
query_buf, query_buf_size, num_sources,
group->group_addr, group->group_addr,
- pim_ifp->igmp_specific_query_max_response_time_dsec,
+ pim_ifp->gm_specific_query_max_response_time_dsec,
s_flag, igmp->querier_robustness_variable,
igmp->querier_query_interval);
}
char query_buf[query_buf_size];
- lmqc = pim_ifp->igmp_last_member_query_count;
- lmqi_msec = 100 * pim_ifp->igmp_specific_query_max_response_time_dsec;
+ lmqc = pim_ifp->gm_last_member_query_count;
+ lmqi_msec = 100 * pim_ifp->gm_specific_query_max_response_time_dsec;
lmqt_msec = lmqc * lmqi_msec;
/*
pim_ifp = group->interface->info;
- lmqc = pim_ifp->igmp_last_member_query_count;
- lmqi_msec = 100 * pim_ifp->igmp_specific_query_max_response_time_dsec;
+ lmqc = pim_ifp->gm_last_member_query_count;
+ lmqi_msec = 100 * pim_ifp->gm_specific_query_max_response_time_dsec;
lmqt_msec = lmqc * lmqi_msec;
/* Scan all group sources */
pim_ifp = group->interface->info;
- lmqi_msec = 100 * pim_ifp->igmp_specific_query_max_response_time_dsec;
+ lmqi_msec = 100 * pim_ifp->gm_specific_query_max_response_time_dsec;
if (PIM_DEBUG_IGMP_TRACE) {
char group_str[INET_ADDRSTRLEN];
long lmqc; /* Last Member Query Count */
pim_ifp = group->interface->info;
- lmqc = pim_ifp->igmp_last_member_query_count;
+ lmqc = pim_ifp->gm_last_member_query_count;
/* lower group timer to lmqt */
igmp_group_timer_lower_to_lmqt(group);
pim_ifp = group->interface->info;
- lmqc = pim_ifp->igmp_last_member_query_count;
- lmqi_msec = 100 * pim_ifp->igmp_specific_query_max_response_time_dsec;
+ lmqc = pim_ifp->gm_last_member_query_count;
+ lmqi_msec = 100 * pim_ifp->gm_specific_query_max_response_time_dsec;
lmqt_msec = lmqc * lmqi_msec;
/*
pim_ifp = ifp->info;
ifname = ifp->name;
- lmqi_dsec = pim_ifp->igmp_specific_query_max_response_time_dsec;
- lmqc = pim_ifp->igmp_last_member_query_count;
+ lmqi_dsec = pim_ifp->gm_specific_query_max_response_time_dsec;
+ lmqc = pim_ifp->gm_last_member_query_count;
lmqt_msec = PIM_IGMP_LMQT_MSEC(
lmqi_dsec, lmqc); /* lmqt_msec = (100 * lmqi_dsec) * lmqc */
pim_ifp = ifp->info;
ifname = ifp->name;
- lmqi_dsec = pim_ifp->igmp_specific_query_max_response_time_dsec;
- lmqc = pim_ifp->igmp_last_member_query_count;
+ lmqi_dsec = pim_ifp->gm_specific_query_max_response_time_dsec;
+ lmqc = pim_ifp->gm_last_member_query_count;
lmqt_msec = PIM_IGMP_LMQT_MSEC(
lmqi_dsec, lmqc); /* lmqt_msec = (100 * lmqi_dsec) * lmqc */
resv_s_qrv = igmp_msg[8];
qrv = 7 & resv_s_qrv;
igmp->querier_robustness_variable =
- qrv ? qrv : pim_ifp->igmp_default_robustness_variable;
+ qrv ? qrv : pim_ifp->gm_default_robustness_variable;
/*
* RFC 3376: 4.1.7. QQIC (Querier's Query Interval Code)
qqic = igmp_msg[9];
qqi = igmp_msg_decode8to16(qqic);
igmp->querier_query_interval =
- qqi ? qqi : pim_ifp->igmp_default_query_interval;
+ qqi ? qqi : pim_ifp->gm_default_query_interval;
if (PIM_DEBUG_IGMP_TRACE) {
char ifaddr_str[INET_ADDRSTRLEN];
pim_ifp = ifp->info;
ifaddr = connected_src->u.prefix4;
- igmp = pim_igmp_sock_lookup_ifaddr(pim_ifp->igmp_socket_list, ifaddr);
+ igmp = pim_igmp_sock_lookup_ifaddr(pim_ifp->gm_socket_list,
+ ifaddr);
if (PIM_DEBUG_IGMP_PACKETS) {
zlog_debug(
*/
/* scan igmp groups */
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_group_list, grpnode, grp)) {
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_group_list, grpnode, grp)) {
struct listnode *srcnode;
struct gm_source *src;
}
} /* scan group sources */
- } /* scan igmp groups */
+ } /* scan igmp groups */
/*
* Finally delete every PIM (S,G) entry lacking all state info
char ifaddr_str[INET_ADDRSTRLEN];
pim_inet4_dump("<ifaddr?>", igmp->ifaddr, ifaddr_str,
- sizeof(ifaddr_str));
+ sizeof(ifaddr_str));
zlog_debug("%s: Querier %s on %s reconfig query_interval=%d",
- __func__, ifaddr_str, ifp->name,
- pim_ifp->igmp_default_query_interval);
+ __func__, ifaddr_str, ifp->name,
+ pim_ifp->gm_default_query_interval);
}
/*
* igmp_startup_mode_on() will reset QQI:
- * igmp->querier_query_interval = pim_ifp->igmp_default_query_interval;
+ * igmp->querier_query_interval = pim_ifp->gm_default_query_interval;
*/
igmp_startup_mode_on(igmp);
}
struct listnode *sock_node;
struct gm_sock *igmp;
- pim_ifp->igmp_default_query_interval = query_interval;
+ pim_ifp->gm_default_query_interval = query_interval;
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_socket_list, sock_node, igmp)) {
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_socket_list, sock_node, igmp)) {
igmp_sock_query_interval_reconfig(igmp);
igmp_sock_query_reschedule(igmp);
}
struct listnode *grp_node;
struct gm_group *grp;
- if (pim_ifp->igmp_query_max_response_time_dsec
- == query_max_response_time_dsec)
+ if (pim_ifp->gm_query_max_response_time_dsec ==
+ query_max_response_time_dsec)
return;
- pim_ifp->igmp_query_max_response_time_dsec =
- query_max_response_time_dsec;
+ pim_ifp->gm_query_max_response_time_dsec = query_max_response_time_dsec;
/*
* Below we modify socket/group/source timers in order to quickly
*/
/* scan all sockets */
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_socket_list, sock_node, igmp)) {
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_socket_list, sock_node, igmp)) {
/* reschedule socket general query */
igmp_sock_query_reschedule(igmp);
}
/* scan socket groups */
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_group_list, grp_node, grp)) {
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_group_list, grp_node, grp)) {
struct listnode *src_node;
struct gm_source *src;
pim_ifp = ifp->info;
last_member_query_interval =
yang_dnode_get_uint16(args->dnode, NULL);
- pim_ifp->igmp_specific_query_max_response_time_dsec =
+ pim_ifp->gm_specific_query_max_response_time_dsec =
last_member_query_interval;
break;
case NB_EV_APPLY:
ifp = nb_running_get_entry(args->dnode, NULL, true);
pim_ifp = ifp->info;
- last_member_query_count = yang_dnode_get_uint8(args->dnode,
- NULL);
- pim_ifp->igmp_last_member_query_count = last_member_query_count;
+ last_member_query_count =
+ yang_dnode_get_uint8(args->dnode, NULL);
+ pim_ifp->gm_last_member_query_count = last_member_query_count;
break;
}
}
/* IF ip igmp query-max-response-time */
- if (pim_ifp->igmp_query_max_response_time_dsec
- != IGMP_QUERY_MAX_RESPONSE_TIME_DSEC) {
+ if (pim_ifp->gm_query_max_response_time_dsec !=
+ IGMP_QUERY_MAX_RESPONSE_TIME_DSEC) {
vty_out(vty,
" ip igmp query-max-response-time %d\n",
- pim_ifp->igmp_query_max_response_time_dsec);
+ pim_ifp->gm_query_max_response_time_dsec);
++writes;
}
/* IF ip igmp query-interval */
- if (pim_ifp->igmp_default_query_interval
- != IGMP_GENERAL_QUERY_INTERVAL) {
+ if (pim_ifp->gm_default_query_interval !=
+ IGMP_GENERAL_QUERY_INTERVAL) {
vty_out(vty,
" ip igmp query-interval %d\n",
- pim_ifp->igmp_default_query_interval);
+ pim_ifp->gm_default_query_interval);
++writes;
}
/* IF ip igmp last-member_query-count */
- if (pim_ifp->igmp_last_member_query_count
- != IGMP_DEFAULT_ROBUSTNESS_VARIABLE) {
+ if (pim_ifp->gm_last_member_query_count !=
+ IGMP_DEFAULT_ROBUSTNESS_VARIABLE) {
vty_out(vty,
" ip igmp last-member-query-count %d\n",
- pim_ifp->igmp_last_member_query_count);
+ pim_ifp->gm_last_member_query_count);
++writes;
}
/* IF ip igmp last-member_query-interval */
- if (pim_ifp->igmp_specific_query_max_response_time_dsec
- != IGMP_SPECIFIC_QUERY_MAX_RESPONSE_TIME_DSEC) {
+ if (pim_ifp->gm_specific_query_max_response_time_dsec !=
+ IGMP_SPECIFIC_QUERY_MAX_RESPONSE_TIME_DSEC) {
vty_out(vty,
" ip igmp last-member-query-interval %d\n",
- pim_ifp->igmp_specific_query_max_response_time_dsec);
- ++writes;
+ pim_ifp->gm_specific_query_max_response_time_dsec);
+ ++writes;
}
/* IF ip igmp join */
- if (pim_ifp->igmp_join_list) {
+ if (pim_ifp->gm_join_list) {
struct listnode *node;
struct gm_join *ij;
for (ALL_LIST_ELEMENTS_RO(
- pim_ifp->igmp_join_list,
+ pim_ifp->gm_join_list,
node, ij)) {
char group_str[INET_ADDRSTRLEN];
char source_str
continue;
/* scan igmp groups */
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_group_list, grpnode,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_group_list, grpnode,
grp)) {
struct listnode *srcnode;
struct gm_source *src;