Subject: [magma] IGMPv3/MLDv2 - How to merge pending state change reports in such cases?

From: [email-masked]
Date: Thu, 28 Apr 2005 17:47:56 +0800

- Robustness Variable of 5
- After first state(STATE1) change, during the retransmission interval of 
the first change(suppose only retransmit 2 times of first state change 
report), a second state (STATE2) change occurs.

Case 1:
STATE0 - INCLUDE(A)
STATE1 - INCLUDE(B)
STATE2 - EXCLUDE(C)

For the first state change, we should send a ALLOW(B-A), BLOCK(A-B) Report 
to the router, then add (B-A) and (A-B) to the re-transmission source 
list. 
During the retransmission interval of the first change, the second state 
change occurs, as this state change is Filter Mode change, it triggers a 
TO_EX(C) report send to Router. 
The question is how to deal with the sources in the pending report in 
order to confirm successive state changes will not break the robustness of 
the protocol? Does these sources are merely discarded or after the Filter 
Mode Change report is transmitted ,then schedule a additional 
source-change report? If so, how to compute the sources in ALLOW, BLOCK 
record?

Case 2:

STATE0 - INCLUDE(A)
STATE1 - EXCLUDE(B)
STATE2 - INCLUDE(C)

For the first state change, we should send a TO_EX(B) Report to the 
router, then add B to the re-transmission source list.
During the retransimission interval of the first change, the second state 
change occurs, it triggers a TO_IN(C) report send to Router.
How to merge this TO_IN record with the previous TO_EX record?

Thanks?

_______________________________________________
magma mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/magma

---

From: Hitoshi Asaeda <[email-masked]>
Date: Mon, 02 May 2005 20:47:25 +0900 (JST)

> source-change report? If so, how to compute the sources in ALLOW, BLOCK 

ALLOW and BLOCK can be merged in a signle message, so the messages for
STATE0 and STATE1 can be put in a single message if the retransmission
interval is not passed.
But TO_EX cannot be merged with ALLOW or BLOCK message if their group
address is same.
Hence in your case, all pending reports (having the same group
address) are forcely sent out just before the transmission of the new
TO_EX report message.
Note that I'm talking about my implementation (including KAME) here.
Discarding the pending report is incorrect, but how the pending report
is transmitted in that case depends on the implementation I think.

> STATE2 - INCLUDE(C)

This case is same of above. (i.e. forcely retransmit TO_EX before
TO_IN).
--
Hitoshi Asaeda