summaryrefslogtreecommitdiff
path: root/pimd/pim_igmpv3.c
diff options
context:
space:
mode:
authorSarita Patra <saritap@vmware.com>2019-05-20 10:40:12 -0700
committerSarita Patra <saritap@vmware.com>2019-05-29 20:36:16 -0700
commit59115451a8fd0f11ac076cd4d832241ef4b3784a (patch)
tree6ce08c1a31055584a0a2f650570c3789fcb0d44e /pimd/pim_igmpv3.c
parent528628cb2ea4f5a522bf1f6d5b702bb188c4e30e (diff)
pimd: new cli to configure last-member-query-count & last-member-query-interval
Introduce new cli commands ip igmp last-member-query-count <1-7> ip igmp last-member-query-interval <1-255> deciseconds. Display the config in show running config and show ip igmp interface Signed-off-by: Sarita Patra <saritap@vmware.com>
Diffstat (limited to 'pimd/pim_igmpv3.c')
-rw-r--r--pimd/pim_igmpv3.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/pimd/pim_igmpv3.c b/pimd/pim_igmpv3.c
index b845f54f06..bc0460fa03 100644
--- a/pimd/pim_igmpv3.c
+++ b/pimd/pim_igmpv3.c
@@ -997,7 +997,7 @@ static void group_retransmit_group(struct igmp_group *group)
char query_buf[query_buf_size];
- lmqc = igmp->querier_robustness_variable;
+ lmqc = pim_ifp->igmp_last_member_query_count;
lmqi_msec = 100 * pim_ifp->igmp_specific_query_max_response_time_dsec;
lmqt_msec = lmqc * lmqi_msec;
@@ -1076,7 +1076,7 @@ static int group_retransmit_sources(struct igmp_group *group,
igmp = group->group_igmp_sock;
pim_ifp = igmp->interface->info;
- lmqc = igmp->querier_robustness_variable;
+ lmqc = pim_ifp->igmp_last_member_query_count;
lmqi_msec = 100 * pim_ifp->igmp_specific_query_max_response_time_dsec;
lmqt_msec = lmqc * lmqi_msec;
@@ -1314,9 +1314,13 @@ static long igmp_source_timer_remain_msec(struct igmp_source *source)
*/
static void group_query_send(struct igmp_group *group)
{
+ struct pim_interface *pim_ifp;
+ struct igmp_sock *igmp;
long lmqc; /* Last Member Query Count */
- lmqc = group->group_igmp_sock->querier_robustness_variable;
+ igmp = group->group_igmp_sock;
+ pim_ifp = igmp->interface->info;
+ lmqc = pim_ifp->igmp_last_member_query_count;
/* lower group timer to lmqt */
igmp_group_timer_lower_to_lmqt(group);
@@ -1351,7 +1355,7 @@ static void source_query_send_by_flag(struct igmp_group *group,
igmp = group->group_igmp_sock;
pim_ifp = igmp->interface->info;
- lmqc = igmp->querier_robustness_variable;
+ lmqc = pim_ifp->igmp_last_member_query_count;
lmqi_msec = 100 * pim_ifp->igmp_specific_query_max_response_time_dsec;
lmqt_msec = lmqc * lmqi_msec;
@@ -1509,7 +1513,7 @@ void igmp_group_timer_lower_to_lmqt(struct igmp_group *group)
ifname = ifp->name;
lmqi_dsec = pim_ifp->igmp_specific_query_max_response_time_dsec;
- lmqc = igmp->querier_robustness_variable;
+ lmqc = pim_ifp->igmp_last_member_query_count;
lmqt_msec = PIM_IGMP_LMQT_MSEC(
lmqi_dsec, lmqc); /* lmqt_msec = (100 * lmqi_dsec) * lmqc */
@@ -1546,7 +1550,7 @@ void igmp_source_timer_lower_to_lmqt(struct igmp_source *source)
ifname = ifp->name;
lmqi_dsec = pim_ifp->igmp_specific_query_max_response_time_dsec;
- lmqc = igmp->querier_robustness_variable;
+ lmqc = pim_ifp->igmp_last_member_query_count;
lmqt_msec = PIM_IGMP_LMQT_MSEC(
lmqi_dsec, lmqc); /* lmqt_msec = (100 * lmqi_dsec) * lmqc */