]> git.puffer.fish Git - matthieu/frr.git/commit
pimd : Handling of Exclude mode IGMPv3 report messages for SSM aware group.
authorAbhishek N R <abnr@vmware.com>
Tue, 9 Nov 2021 07:00:41 +0000 (23:00 -0800)
committerAbhishek N R <abnr@vmware.com>
Thu, 20 Jan 2022 15:52:06 +0000 (07:52 -0800)
commitf6053ff29dd8635fadeff064a1944cdf15509720
tree9e57f7cea897233edeb168c34f38b9f0abd705b6
parentb542c4a3c7ad5e1c7e24f9e021926841d2634ac1
pimd : Handling of Exclude mode IGMPv3 report messages for SSM aware group.

Problem Statement:
==================

(rcv1)-----A----B---C
 v3 enabled with src 90.0.0.1
       |
(rcv2)--
 v3 enable with src none

rcv1 sends the packet in INCLUDE mode, rcv2 sends the IGMP report
in exclude mode. As per the state machine the group structure was
getting added and deleted. As group gets deleted the mroute for 90.0.0.1
and recreated back.
This effects the end to end trafiic.

Root Cause Analysis:
====================
As per state machine
INCLUDE (A) IS_EX (B) EXCLUDE (A*B,B-A) (B-A)=0
Delete (A-B)
Group Timer=GMI

EXCLUDE (X,Y) TO_EX (A) EXCLUDE (A-Y,Y*A) (A-X-Y)=Group Timer
Delete (X-A)
Delete (Y-A)
Send Q(G,A-Y)
Group Timer=GMI

The above equations were getiing calulated for IP address
90.0.0.1 and 0.0.0.0
This results in group creation deletion.

Fix:
====
As per RFC 4604.
drop the exclude mode, IGMP reports, if destnation group is
SSM based.
EXCLUDE
mode does not apply to SSM addresses, and an SSM-aware router will
ignore MODE_IS_EXCLUDE and CHANGE_TO_EXCLUDE_MODE requests in the SSM
range.

Signed-off-by: Abhishek N R <abnr@vmware.com>
Signed-off-by: Vishal Dhingra <rac.vishaldhingra@gmail.com>
pimd/pim_igmpv3.c