Subject: Re: Another IGMPv3 question

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

So the idea behind set X is that if no more messages are received from
any other host, the view of the last reporting host will eventually be
reflected by the router state. In your example below, if after this
event:

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

the router keeps receiving IS_EX(B), (this means that the host that
was sending IS_EX(A) either died or changed its mind) then the sources
in X (i.e B-A) will time out and be added to set Y. Hence the state
will become EXCLUDE({},B) which is what the host asked for.

thanks
I

[email-masked] writes:
>
>
>From:  James Huang@MITEL on 04/25/2001 04:45 PM PDT
>
>
>
>
>
>Isidor Kouvelas <[email-masked]> on 04/25/2001 02:12:32 PM
>
>To:   James Huang/USA/Mitel@Mitel
>cc:   [email-masked], [email-masked], [email-masked],
>      [email-masked], [email-masked], [email-masked]
>
>Subject:  Re: Another IGMPv3 question
>
>
>
>
>[email-masked] writes:
>>>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.
>>
>>The modification is correct as X*A is included in A-Y.
>>
>
>
>O.K.I got it. X*A is included in A-Y becuase X and Y are disjoint.
>
>
>>>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 b
>y
>>>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)??
>>
>>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
>>
>
>The rule to computing the second set of the EXCLUDE mode state is very
>straight-forward.  Basically we have to make sure that any source with
>interested receivers should not be included in the second set.
>
>But I simply can not find any rationale or pattern for the way the first set
>(the temporary working set) is computed.  For example, why INCLUDE(A) + IS_EX(
>B)
>--> EXCLUDE(A*B,B-A) instead of INCLUDE(A) + IS_EX(B) --> EXCLUDE(A,B-A)?  Als
>o
>why EXCLUDE(X,Y) + IS_EX(A) --> EXCLUDE(A-Y,Y*A) instead of EXCLUDE(X,Y) +
>IS_EX(A) --> EXCLUDE(X+Y+A-Y*A,Y*A)?  Can someone explain it to me?
>
>
>Thanks,
>-- James C. Huang
>
>
>
>

---

From: [email-masked]
Date: Wed, 25 Apr 2001 16:45:15 -0700

EXCLUDE(X*A+(A-Y),Y*A).

list.
>>If the router receives the following sequence of reports, IS_EX(A) followd by

But I simply can not find any rationale or pattern for the way the first set
(the temporary working set) is computed.  For example, why INCLUDE(A) + IS_EX(B)
--> EXCLUDE(A*B,B-A) instead of INCLUDE(A) + IS_EX(B) --> EXCLUDE(A,B-A)?  Also
why EXCLUDE(X,Y) + IS_EX(A) --> EXCLUDE(A-Y,Y*A) instead of EXCLUDE(X,Y) +
IS_EX(A) --> EXCLUDE(X+Y+A-Y*A,Y*A)?  Can someone explain it to me?

Thanks,
-- James C. Huang