diff options
author | Mobashshera Rasool <mrasool@vmware.com> | 2022-06-27 14:25:29 +0200 |
---|---|---|
committer | Mobashshera Rasool <mrasool@vmware.com> | 2022-06-28 14:07:27 +0200 |
commit | 8d9e46a72776f4928de0e8f78edad389c1ff7948 (patch) | |
tree | 06570e95735c9e19194f8d5d5cb5b2c9e2941856 /pimd/pim_igmp.c | |
parent | Merge pull request #11454 from routingrocks/evpn_clag_frrlogs (diff) | |
download | frr-8d9e46a72776f4928de0e8f78edad389c1ff7948.tar.xz frr-8d9e46a72776f4928de0e8f78edad389c1ff7948.zip |
pimd: Querier to non-querier transition to be ignored
Fixing IGMPv2 ANVL Conformance issue 3.10
As per RFC 2236 section 3, when the leave message is received at a querier,
it starts sending Query messages for "last Member Query Interval*query count"
During this time there should not be any querier to non-querier
transition and the same router needs to send the remaning queries.
Currently the code is handling this scenario only when leave is receive
for a group and the query is received for the same group.
But we need to handle it irrespective of group since the querier
election is based on interface and not group.
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
Diffstat (limited to '')
-rw-r--r-- | pimd/pim_igmp.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/pimd/pim_igmp.c b/pimd/pim_igmp.c index 749e259a7..849216af6 100644 --- a/pimd/pim_igmp.c +++ b/pimd/pim_igmp.c @@ -585,10 +585,14 @@ static int igmp_recv_query(struct gm_sock *igmp, int query_version, * time; the same router keeps sending the Group-Specific * Queries. */ - struct gm_group *group; + const struct gm_group *group; + const struct listnode *grpnode; + + for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_group_list, grpnode, + group)) { + if (!group->t_group_query_retransmit_timer) + continue; - group = find_group_by_addr(igmp, group_addr); - if (group && group->t_group_query_retransmit_timer) { if (PIM_DEBUG_IGMP_TRACE) zlog_debug( "%s: lower address query packet from %s is ignored when last member query interval timer is running", |