Re: [magma] IGMPv3 merging of pending SLC records
"K.Kawaguchi" <kawaguti@ysknet.co.jp> Fri, 17 July 2009 01:56 UTC
Return-Path: <kawaguti@ysknet.co.jp>
X-Original-To: magma@core3.amsl.com
Delivered-To: magma@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A65BD28C190 for <magma@core3.amsl.com>; Thu, 16 Jul 2009 18:56:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.805
X-Spam-Level: *
X-Spam-Status: No, score=1.805 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, HELO_EQ_JP=1.244, HOST_EQ_JP=1.265, J_CHICKENPOX_110=0.6, J_CHICKENPOX_51=0.6, RELAY_IS_203=0.994, UNPARSEABLE_RELAY=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id siTW1N0o9Xa9 for <magma@core3.amsl.com>; Thu, 16 Jul 2009 18:56:11 -0700 (PDT)
Received: from tkns.tk.ysknet.co.jp (tkmx.tk.ysknet.co.jp [203.180.172.16]) by core3.amsl.com (Postfix) with SMTP id 153C43A6E0A for <magma@ietf.org>; Thu, 16 Jul 2009 18:56:10 -0700 (PDT)
Received: (qmail 24010 invoked from network); 17 Jul 2009 10:56:43 +0900
Received: from (HELO PrecisionM20) (@) by with SMTP; 17 Jul 2009 10:56:43 +0900
To: myselfindranil@gmail.com, kiteflyer77@gmail.com
From: "K.Kawaguchi" <kawaguti@ysknet.co.jp>
References: <7a5c60c20907160325h52ac9bb1n9ba9d6bdbc20a0fd@mail.gmail.com> <9b18942c0907160913v5e548843v9fcfcd639ce1a636@mail.gmail.com> <200907171042.HDJ48951.JUBBVLHX@ysknet.co.jp>
In-Reply-To: <200907171042.HDJ48951.JUBBVLHX@ysknet.co.jp>
Message-Id: <200907171056.CEH65157.HVXLBUBJ@ysknet.co.jp>
X-Mailer: Winbiff [Version 2.51 PL2]
X-Accept-Language: ja,en,zh
Date: Fri, 17 Jul 2009 10:56:41 +0900
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Cc: magma@ietf.org
Subject: Re: [magma] IGMPv3 merging of pending SLC records
X-BeenThere: magma@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Multicast and Anycast Group Membership <magma.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/magma>, <mailto:magma-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/magma>
List-Post: <mailto:magma@ietf.org>
List-Help: <mailto:magma-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/magma>, <mailto:magma-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 17 Jul 2009 01:56:12 -0000
Hi,
Oops. I correct a clear description mistake.
> Hi,
>
> I am RFC 3376. 5.1 / RFC3810 6.1 is applied as follows.
> (RFC3810 compared with RFC3376, description is added.)
>
> 1. Call IPMulticastListen(s, i, G, EXCLUDE, {})
>
> - The status of an interface changes from INCLUDE (null) to EXCLUDE (null).
> - This status change record is TO_EX(null).
> - Transmission record is:
> Filter mode: Exclude : [RV] time (udapte)
> - Since there is no pending record, it is transmitted as it is.
> - Transmission time and each transmission counter are planned.
> Timer: T1
> Filter mode: Exclude : [RV]-1 time
>
> 2. Before T1 expires, call IPMulticastListen(s, i, G, EXCLUDE, {a})
>
> - The status of an interface changes from EXCLUDE(null) to EXCLUDE(a).
> - This status change record is BLOCK(a).
> - Transmission record is merged with the contents of the pending record.
> Filter mode: Exclude : [RV]-1 time
> Source a : Block : [RV] time (update)
> - The compounded record is transmitted immediately. TO_EX(a).
> - Transmission time and each transmission counter are planned.
> Timer: T2
> Filter mode: Exclude : [RV]-2 time (It is deleted if it is RV=2.)
> Source a : Block : [RV]-1 time
>
> 3. Before (T1->)T2 expires, call IPMulticastListen(s, i, G, INCLUDE, {a})
>
> - The status of an interface changes from EXCLUDE(a) to INCLUDE(a).
> - This status change record is TO_IN(a).
> - Transmission record is merged with the contents of the pending record.
> Filter mode: INCLUDE : [RV] time (update)
> Source a : Allow : [RV] time (update)
> - The compounded record is transmitted immediately. TO_IN(a).
> - Transmission time and each transmission counter are planned.
> Timer: T3
> Filter mode: Exclude : [RV]-1 time
> Source a : Block : [RV]-1 time
Timer: T3
Filter mode: Include : [RV]-1 time
Source a : Allow : [RV]-1 time
Best Regards
--
Kiyoaki Kawaguchi
> ---
> RFC3810 6.1
>
> If more changes to the same per-interface state entry occur before
> all the retransmissions of the State Change Report for the first
> change have been completed, each such additional change triggers the
> immediate transmission of a new State Change Report.
>
> The contents of the new Report are calculated as follows:
>
> o As for the first Report, the per-interface state for the affected
> multicast address before and after the latest change is compared.
>
> o The records that express the difference are built according to the
> table above. Nevertheless, these records are not transmitted in a
> separate message, but they are instead merged with the contents of
> the pending report, to create the new State Change Report. The
> rules for calculating this merged report are described below.
>
> The transmission of the merged State Change Report terminates
> retransmissions of the earlier State Change Reports for the same
> multicast address, and becomes the first of [Robustness Variable]
> transmissions of the new State Change Reports. These transmissions
> are necessary in order to ensure that each instance of state change
> is transmitted at least [Robustness Variable] times.
>
> Each time a source is included in the difference report calculated
> above, retransmission state for that source needs to be maintained
> until [Robustness Variable] State Change Reports have been sent by
> the node. This is done in order to ensure that a series of
> successive state changes do not break the protocol robustness.
> Sources in retransmission state can be kept in a per multicast
> address Retransmission List, with a Source Retransmission Counter
> associated to each source in the list. When a source is included in
> the list, its counter is set to [Robustness Variable]. Each time a
> State Change Report is sent the counter is decreased by one unit.
> When the counter reaches zero, the source is deleted from the
> Retransmission List for that multicast address.
>
> If the per-interface listening change that triggers the new report is
> a filter mode change, then the next n[Robustness Variable] State
> Change Reports will include a Filter Mode Change Record. This
> applies even if any number of source list changes occur in that
> period. The node has to maintain retransmission state for the
> multicast address until the [Robustness Variable] State Change
> Reports have been sent. This can be done through a per multicast
> address Filter Mode Retransmission Counter. When the filter mode
> changes, the counter is set to [Robustness Variable]. Each time a
> State Change Report is sent the counter is decreased by one unit.
> When the counter reaches zero, i.e., [Robustness Variable] State
> Change Reports with Filter Mode Change Records have been transmitted
> after the last filter mode change, and if source list changes have
> resulted in additional reports being scheduled, then the next State
> Change Report will include Source List Change Records.
> ---
>
>
> Best Regards
> --
> Kiyoaki Kawaguchi
>
>
>
> "Indranil Bhattacharya <myselfindranil@gmail.com>" wrote:
>
> >
> >
> > Hello Subrata,
> >
> > In this case, TO_IN(a) will be sent after
> > Step3. However, I see that this will break the protocol robustness.
> >
> > After 1 and 2, there is a block(a) record pending. Step
> > 3 is again a filter-mode-change. So, a TO_IN(a) will be sent. After
> > robustness_variable TO_IN(a)s have been sent, considering no filter-mode
> > change occurred in this period, if we send block(a) then forwarding on that
> > LAN is broken.
> >
> > I think the following line, "However these records are
> > not transmitted in a message but instead merged with the contents of the
> > pending report, to create
> > the new State-Change report." should be interpreted as merging between
> > same record types and typically source list changes. That means
> >
> > INCLUDE(A) EXCLUDE(B) -------> TO_EX(B) and SLC(ALLOW(A)) is discarded.
> >
> > EXCLUDE(A) INCLUDE(B) --------> TO_IN(B) and SLC(BLOCK(A)) is discarded.
> >
> > Thanks,
> > Indranil
> >
> >
> >
> > On Thu, Jul 16, 2009 at 3:55 PM, Subrata Sa <kiteflyer77@gmail.com> wrote:
> >
> > > Hello,
> > >
> > > This is regarding IGMPv3 host side behavior on merging of pending
> > > Source-List-Change (SLC) records.
> > >
> > > In the example below, two SLC requests of opposite types (block,
> > > unblock) are made *when previous Filter-Mode-Change (FMC) record is in
> > > retransmission state*. I understand that the SLC records should be
> > > scheduled later. Question is how the SLC records should be merged? I'm
> > > thinking that both (BLOCK, ALLOW) SLC records be sent as given in (5)
> > > below. What do you think? Am I missing something?
> > >
> > > 1. Call IPMulticastListen(s, i, G, EXCLUDE, {})
> > > -> Stack sends TO_EX(G, {}) FMC record (R1)
> > > -> State-change timer (T1) is started for retransmission
> > >
> > > 2. Before T1 expires, call IPMulticastListen(s, i, G, EXCLUDE, {a})
> > > i.e. block source
> > > -> This SLC record is scheduled later as FMC record retransmission is
> > > pending (see reference A given below)
> > >
> > > 3. Before T1 expires, call IPMulticastListen(s, i, G, INCLUDE, {a})
> > > i.e. unblock source
> > > -> This SLC record is also scheduled later as FMC record
> > > retransmission is pending (see A below)
> > >
> > > 4. Now T1 expires
> > > -> FMC record TO_EX(G, {}) is retransmitted (R2)
> > > -> As SLC records are pending, state-change timer (T2) is scheduled
> > >
> > > 5. Now T2 expires
> > > -> BLOCK(G, {a}), ALLOW(G, {a}) SLC records are sent (R3)
> > > -> State-change timer (T3) is started
> > >
> > > 6. Now T3 expires
> > > -> R3 is retransmitted (R4)
> > >
> > > --
> > > Reference A) RFC 3376 section 5.1, page 21:
> > >
> > > "
> > > If the interface reception-state change that triggers the new report
> > > is a filter-mode change, then the next [Robustness Variable] State-
> > > Change Reports will include a Filter-Mode-Change record. This
> > > applies even if any number of source-list changes occur in that
> > > period.
> > > "
> > >
> > > Thanks in advance,
> > > Subrata Sa
> > > _______________________________________________
> > > magma mailing list
> > > magma@ietf.org
> > > https://www.ietf.org/mailman/listinfo/magma
> > >
> >
> >
> >
> >
> > _______________________________________________
> > magma mailing list
> > magma@ietf.org
> > https://www.ietf.org/mailman/listinfo/magma
> >
> >
> >
> >
> >
>
>
>
>
- [magma] IGMPv3 merging of pending SLC records Subrata Sa
- Re: [magma] IGMPv3 merging of pending SLC records Indranil Bhattacharya
- Re: [magma] IGMPv3 merging of pending SLC records K.Kawaguchi
- Re: [magma] IGMPv3 merging of pending SLC records K.Kawaguchi
- Re: [magma] IGMPv3 merging of pending SLC records Subrata Sa
- Re: [magma] IGMPv3 merging of pending SLC records Indranil Bhattacharya
- Re: [magma] IGMPv3 merging of pending SLC records Subrata Sa
- Re: [magma] IGMPv3 merging of pending SLC records K.Kawaguchi