Subject: [magma] IGMP Basics and Advanced

From: rajasekar bonthala <[email-masked]>
Date: Wed, 2 Jun 2010 16:43:21 +0530

Hello,

I had gone through the IGMP RFC and understood the IGMP to a basic level.
If any one can suggest me any book it would help me to understand better.
If you have any interview topics to be covered in IGMP also, please share
with me.

Thanks,
Raj

---

From: "Kudachi, Deepak S" <[email-masked]>
Date: Wed, 2 Jun 2010 12:20:01 +0000

Hi All,

I was going through the IGMPv3 RFC 3376  and was not clear on the below
Mentioned section.

/*---------------------------------------------------------------------------------------------------------*/
6.6.3.2. Building and Sending Group and Source Specific Queries

   When a table action "Send Q(G,X)" is encountered by a querier in the
   table in section 6.4.2, the following actions must be performed for
   each of the sources in X of group G, with source timer larger than
   LMQT:

   o Set number of retransmissions for each source to [Last Member Query
     Count].

   o Lower source timer to LMQT.

   The router must then immediately send a group and source specific
   query as well as schedule [Last Member Query Count - 1] query
   retransmissions to be sent every [Last Member Query Interval] over
   [Last Member Query Time].  The contents of these queries are
   calculated as follows.
/*-----------------------------------------------------------------*/

This section talks about how the group-source specific queries are build and
Send out.

Suppose our robustness variable is set to 2(default value).
And Last Member Query Interval is 10 Sec.

Any group-source specific query need to be transmitted robustness number of times
That is 2 times in our case and separated by LMQI which 10 sec.
So 2 queries has to be sent across Last Member Query Time which is 20 sec.

Now suppose we already sent Q(G,X) query for a group at T1 with set of sources. And we received
A report which causes new Q(G,(X+Y)) needs to be sent and T2( before T1+LMQI). Where Y is new set of sources to be
Queried. New Query will be sent with all sources merged from previous and new(x + y).

So the sources x already two queries will be sent and not separated by LMQI in this scenario.

My question is whether we need to send one more query after LMQI ( at T1+LMQI) for x
Set of sources for this group?

If we need to then we will be sending 3 queries for x set of sources as follows.

Time interval T1
Time interval T2
Time interval T1+LMQI

Which is not correct.

Let me know whether we should send query for x set of sources for this group
At T1+LMQI interval.

Thanks and Regards
Deepak

---

From: "Kudachi, Deepak S" <[email-masked]>
Date: Wed, 2 Jun 2010 12:20:01 +0000

Hi All,

Time interval T1
Time interval T2
Time interval T1+LMQI

Which is not correct.

Thanks and Regards
Deepak

---

From: Bharat Joshi <[email-masked]>
Date: Wed, 2 Jun 2010 18:07:00 +0530

Deepak,

      It would be better if you handle the example with IP addresses. Also consider how the state in the hosts are and what final state should be there after things stabilize.

      For the below example, I think you should attach the robustness count as query count with the source addresses and then as and when timer fires, you prepare a group-source specific query, send it out and reduce the query count for each source address you include in the query. Once the query count for a source address reaches zero, it is removed from the list and when all sources are removed from the list, we do not restart the timer.

      So we will end up sending three queries. But all the three queries will carry different sources in the list.

      I hope this helps.

Regards,
Bharat
________________________________________
From: [email-masked] [[email-masked]] On Behalf Of Kudachi, Deepak S [[email-masked]]
Sent: Wednesday, June 02, 2010 5:50 PM
To: [email-masked]; [email-masked]
Subject: [magma]  Igmp Group-Source specific Retransmission

Hi All,

Time interval T1
Time interval T2
Time interval T1+LMQI

Which is not correct.

Thanks and Regards
Deepak

---

From: Bharat Joshi <[email-masked]>
Date: Wed, 2 Jun 2010 18:07:00 +0530

Deepak,

      I hope this helps.

Regards,
Bharat

Hi All,

Time interval T1
Time interval T2
Time interval T1+LMQI

Which is not correct.

Thanks and Regards
Deepak

---

From: "Kudachi, Deepak S" <[email-masked]>
Date: Thu, 3 Jun 2010 09:45:48 +0000

Hi Bharat,

I am still not clear on the part that you said all the queries have different src addresses.

May be I can give an example for this case.

Let us assume following values.

Robustness = 2
LMQI = 10 sec

Group = G1 = 224.0.2.1
Srouces
        S1 = 10.10.10.10
        S2 = 10.10.10.20
        S3 = 10.10.10.30
        S4 = 10.10.10.40
        S5 = 10.10.10.50

Our interface's current state is INCLUDE for group G1.

So 
INCLUDE{S1,S2,S3,S4} for G1

Now we received Block message for the same group on same interface

Consider the message received is 
BLOCK {S3}.

now according to RFC 3376 sec 6.4.2
INCLUDE (A)    BLOCK (B)    INCLUDE (A)             Send Q(G,A*B)

We need to send a group-source specific query for A*B 
which is nothing but send a query for source S3.

So query will be sent at Time = T1
Send Q(G1, S3) 
We have started the timer (LMQI)10 sec with repeat 1 so that 
When timer expires we need to send one more query for this G1,S3. 
( query is send out for group G1= 224.0.1.2 ,S3 = 10.10.10.30.)

now at time  interval T2 < (T1+LMQI)
we received TO_EXC{ S1 , S2, S5 } on same interface for the same group G1.

Now according to RFC following function need to be performed.
INCLUDE (A)    TO_EX (B)    EXCLUDE (A*B,B-A)       (B-A)=0
                                                    Delete (A-B)
                                                    Send Q(G,A*B)
                                                    Group Timer=GMI

Interface moves to exclude mode 
EXCLUDE { (S1,S2),(S5)} for group G1.

Now immediate query has to be sent for S1,S2.

Since S3 retransmission is still pending we need to merge S3 with S1,S3 in this query.
Now Q(G1,S1,S2,S3) will be sent at interval T2.

Now for S3 we have sent two queries and its query count is set to 0 and will be
removed from retransmission list.

For S3 we sent out second query much before T1+LMQI and no more queries will be sent for S3.

This is what we infer from the RFC and just want to know others view on this.

(please Note: I am only considering router side processing).

Thanks and Regards
Deepak

-----Original Message-----
From: Bharat Joshi [mailto:[email-masked]] 
Sent: Wednesday, June 02, 2010 6:07 PM
To: Kudachi, Deepak S; [email-masked]; [email-masked]
Subject: RE: [magma] Igmp Group-Source specific Retransmission

Deepak,

      I hope this helps.

Regards,
Bharat

Hi All,

Time interval T1
Time interval T2
Time interval T1+LMQI

Which is not correct.

Thanks and Regards
Deepak

---

From: "Kudachi, Deepak S" <[email-masked]>
Date: Thu, 3 Jun 2010 09:45:48 +0000

Hi Bharat,

Robustness = 2
LMQI = 10 sec

Group = G1 = 224.0.2.1
Srouces
        S1 = 10.10.10.10
        S2 = 10.10.10.20
        S3 = 10.10.10.30
        S4 = 10.10.10.40
        S5 = 10.10.10.50

So 

Thanks and Regards
Deepak

-----Original Message-----
From: Bharat Joshi [mailto:[email-masked]] 
Sent: Wednesday, June 02, 2010 6:07 PM
To: Kudachi, Deepak S; [email-masked]; [email-masked]
Subject: RE: [magma] Igmp Group-Source specific Retransmission

Deepak,

      I hope this helps.

Regards,
Bharat

Hi All,

Time interval T1
Time interval T2
Time interval T1+LMQI

Which is not correct.

Thanks and Regards
Deepak

---

From: Bharat Joshi <[email-masked]>
Date: Thu, 3 Jun 2010 15:31:10 +0530

Deepak,

     I think your interpretation is perfect and I think that is exactly how one should implement it on router side.

     BTW, Just one question. Do you see any issue with this?

Thanks,
Bharat
________________________________________
From: Kudachi, Deepak S [[email-masked]]
Sent: Thursday, June 03, 2010 3:15 PM
To: Bharat Joshi; [email-masked]; [email-masked]
Cc: Sankaran, Balaji (HP Procurve)
Subject: RE: [magma]  Igmp Group-Source specific Retransmission

Hi Bharat,

Robustness = 2
LMQI = 10 sec

Group = G1 = 224.0.2.1
Srouces
        S1 = 10.10.10.10
        S2 = 10.10.10.20
        S3 = 10.10.10.30
        S4 = 10.10.10.40
        S5 = 10.10.10.50

So

Thanks and Regards
Deepak

-----Original Message-----
From: Bharat Joshi [mailto:[email-masked]]
Sent: Wednesday, June 02, 2010 6:07 PM
To: Kudachi, Deepak S; [email-masked]; [email-masked]
Subject: RE: [magma] Igmp Group-Source specific Retransmission

Deepak,

      I hope this helps.

Regards,
Bharat

Hi All,

Time interval T1
Time interval T2
Time interval T1+LMQI

Which is not correct.

Thanks and Regards
Deepak

---

From: "K.Kawaguchi" <[email-masked]>
Date: Fri, 4 Jun 2010 09:22:26 +0900

Hi Deepak-san,

I comment only one point.
Please observe S flag. (RFC3376 4.1.5.)

> Now Q(G1,S1,S2,S3) will be sent at interval T2.

Q(G1,S1,S2)w/SFlag=0 and Q(G1,S3)w/S Flag=1

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

Best Regards
--
Kiyoaki Kawaguchi

---

From: "K.Kawaguchi" <[email-masked]>
Date: Fri, 4 Jun 2010 09:22:26 +0900

Hi Deepak-san,

Best Regards
--
Kiyoaki Kawaguchi

---

From: Bharat Joshi <[email-masked]>
Date: Fri, 4 Jun 2010 07:14:45 +0530

Hi,

       I am not sure if I understand this correctly. 'S' bit flag needs to be set only when a querier wants to tell non-querier to not-to-update their timer. It is set when someone replies to the first query saying that he still wants that source and a source timer is updated. In this case, 'S3' will not be available in the final include source list so why should the 'S' flag be set for this source?

Thanks,
Bharat
________________________________________
From: K.Kawaguchi [[email-masked]]
Sent: Friday, June 04, 2010 5:52 AM
To: [email-masked]
Cc: [email-masked]; Bharat Joshi; [email-masked]; [email-masked]
Subject: Re: [magma] Igmp Group-Source specific Retransmission

Hi Deepak-san,

Best Regards
--
Kiyoaki Kawaguchi

---

From: "K.Kawaguchi" <[email-masked]>
Date: Fri, 4 Jun 2010 11:06:29 +0900

Hi Bharat-san,

> we received TO_EXC{ S1 , S2, S5 } on same interface for the same group G1.

This report desires source 'S3'.

Best Regards
--
Kiyoaki Kawaguchi

---

From: Bharat Joshi <[email-masked]>
Date: Fri, 4 Jun 2010 07:53:03 +0530

Hi,

Yes. I agree that this report desires S3 but neither querier nor non-querier has state for S3 so what is the point in setting the 'S' flag.

>From implementation perspective, while setting 'S' flag at querier, would not an implementation be checking if the source timer has been updated or not? and because the querier won't even have state for that, would it really set 'S' flag?

Thanks,
Bharat
________________________________________
From: K.Kawaguchi [[email-masked]]
Sent: Friday, June 04, 2010 7:36 AM
To: Bharat Joshi; [email-masked]
Cc: [email-masked]; [email-masked]
Subject: Re: [magma] Igmp Group-Source specific Retransmission

Hi Bharat-san,

Best Regards
--
Kiyoaki Kawaguchi

---

From: "K.Kawaguchi" <[email-masked]>
Date: Fri, 4 Jun 2010 12:13:02 +0900

Hi,

It is just an matter of the implementation method.
Although I am not related to it, I know the implementation
which sets S Flag correctly. (For example, Xorp)

Best Regards
--
Kiyoaki Kawaguchi

---

From: Indranil Bhattacharya <[email-masked]>
Date: Fri, 4 Jun 2010 11:51:20 +0530

Hi Raj,

         Read IGMP Snooping now and try to understand how these two will fit
together in a L2-L3 switch i.e in  SVI environment.

Thanks,
Indranil

---

From: Indranil Bhattacharya <[email-masked]>
Date: Fri, 4 Jun 2010 11:51:20 +0530

Hi Raj,

Thanks,
Indranil

---

From: Liu Hui <[email-masked]>
Date: Thu, 10 Jun 2010 12:19:24 +0800

Hi, Raj

We have a draft including some summary descriptions of most IGMP/MLD
protocols (in section 3):

http://tools.ietf.org/id/draft-liu-multimob-igmp-mld-mobility-req-01.txt

Hope this would be useful to you. 

Best Regards,
Liu Hui 

> From: [email-masked] [mailto:[email-masked]] 
> On Behalf Of rajasekar bonthala
> Sent: Wednesday, June 02, 2010 7:13 PM
> Subject: [magma] IGMP Basics and Advanced
> 
> Hello,
>  
> If you have any interview topics to be covered in IGMP also, 
> please share with me.
>  
> Thanks,
> Raj
>  
>

---

From: Liu Hui <[email-masked]>
Date: Thu, 10 Jun 2010 12:19:24 +0800

Hi, Raj

Best Regards,
Liu Hui