Subject: Another IGMPv3 question

From: [email-masked]
Date: Wed, 25 Apr 2001 12:42:05 -0700

Hi all,

     I believe the folowing rule in the latest IGMPv3 draft is wrong.

     Router state     Report rec'd     New router state     Actions
     --------------------------------------------------------------------
     EXCLUDE(X,Y)     IS_EX(A)         EXCLUDE(A-Y,Y*A)    (A-X-Y)=GMI
                                                           Delete (X-A)
                                                           Delete (Y-A)
                                                           Group Timer=GMI

According to the Actions, the new router state should be EXCLUDE(X*A+(A-Y),Y*A).
This result was also shown in draft-ietf-idmr-igmp-v3-05.txt and was somehow
changed to EXCLUDE(A-Y,Y*A) in draft-ietf-idmr-igmp-v3-06.txt.

Still I do not understand why we keep X*A+(A-Y) in the first set of source list.
If the router receives the following sequence of reports, IS_EX(A) followd by
IS_EX(B), with an initial state of INCLUDE({}), the resulting
state will be EXCLUDE(B-A,A*B).

     Router state     Report rec'd     New router state
     ------------------------------------------------------
     INCLUDE({})       IS_EX(A)         EXCLUDE({},A)

     EXCLUDE({},A)     IS_EX(B)         EXCLUDE(B-A,A*B)

But if the order of the two reports is reversed, the result will be
EXCLUDE(A-B,A*B). Why is the final state depends on the order of reports
received?  What is the exact definition of X in EXCLUDE(X,Y)??

- James C. Huang

---

From: Isidor Kouvelas <[email-masked]>
Date: Wed, 25 Apr 2001 14:12:32 -0700

>     Router state     Report rec'd     New router state     Actions

The modification is correct as X*A is included in A-Y.

>     Router state     Report rec'd     New router state

Set X is a temporary working set of sources that may become blocked
if no messages are received to update the source timers. In both
sequence of events above, only A*B will remain blocked.

thanks
I