]> git.puffer.fish Git - matthieu/frr.git/commit
pimd : Handling of IGMPv2 report message for SSM aware group range.
authorAbhishek N R <abnr@vmware.com>
Tue, 9 Nov 2021 11:18:43 +0000 (03:18 -0800)
committerAbhishek N R <abnr@vmware.com>
Thu, 20 Jan 2022 15:52:17 +0000 (07:52 -0800)
commitd6f31d2ab3e72e4dd70b998017660618bab4f3a3
tree326c748e6c16900c8974d34ee897ddf03e7ee63d
parentf6053ff29dd8635fadeff064a1944cdf15509720
pimd : Handling of IGMPv2 report message for SSM aware group range.

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

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

rcv1 sends the packet in INCLUDE mode, rcv2 sends the IGMPv2 report
and PIM convers this report into 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_igmpv2.c