Subject: Re: [pim] IGMP Group Membership Interval (draft-ietf-pim-3376bis) WAS: [Technical Errata Reported] RFC3376 (6725)

From: Brian Haberman <[email-masked]>
Date: Mon, 8 Nov 2021 13:50:17 -0500

Hi Nasir,
      What is missing from the scenario below are the queries being sent 
every [Query Interval] (default of 125 seconds). That will refresh the 
state for all multicast routers.

Regards,
Brian

On 10/28/21 2:29 AM, Ahmed, Nasir wrote:
> Hello Alvaro/Brian,
> 
> Thanks for following this up.
> 
> Let's assume Router-A sends Query at time 0sec.
> Host sends report after 2sec (random value from max-response-time).
> Routers (A,B) starts GMI to be expired at 262sec.
> Router A (Querier) dies off.
> Router B resumes sending queries after 255sec.
> Host responds to the query after 9sec(random value from max-response-time).
> Which is 255 + 9 = 264sec.
> 
> Even with the refresh logic, there is a gap of 2sec on the timeline, which results in group aging out.
> My recommendation is to add extra buffer to GMI to cater to this scenario.
> Add 10sec to GMI by default - ((the Robustness Variable) * (the Query Interval)) plus (Query Response Interval) + 10sec.
> 
> Let me know if this make sense or my understanding is wrong.
> 
> -regard's
> Nasir
> 
> -----Original Message-----
> From: Brian Haberman <[email-masked]>
> Sent: Thursday, October 28, 2021 1:33 AM
> To: Alvaro Retana <[email-masked]>; [email-masked]
> Cc: Ahmed, Nasir <[email-masked]>; [email-masked]
> Subject: Re: IGMP Group Membership Interval (draft-ietf-pim-3376bis) WAS: [Technical Errata Reported] RFC3376 (6725)
> 
> Hey Alvaro,
>        I don't think I understand the rationale described in the erratum.
> All multicast routers that receive a Report for a multicast group will set the timer for that group to GMI. It will clear any state for the target multicast group if it doesn't get updated info before the timer expires. In the scenario described in the report, the router that resumes sending queries after the Other Querier Present timer expires will send a General Query, which should result in a host that has joined the target multicast group sending another Report and that will refresh the state for the group (i.e., reset the timer to GMI).
> 
> Regards,
> Brian
> 
> On 10/27/21 12:54 PM, Alvaro Retana wrote:
>> [Trying again — with the correct pim address. ]
>>
>> Dear pim WG:
>>
>> Hi!
>>
>> Given the work on rfc3376bis, I want to bring the WGs attention to
>> this new report.
>>
>> I am looking forward to any comments.
>>
>> Thanks!
>>
>> Alvaro.
>>
>> On October 27, 2021 at 1:06:41 AM, RFC Errata System (
>> [email-masked]) wrote:
>>
>> The following errata report has been submitted for RFC3376, "Internet
>> Group Management Protocol, Version 3".
>>
>> --------------------------------------
>> You may review the report below and at:
>> https://secure-web.cisco.com/1-W1i5SwgGQM4dcAQZG7tzW3k_EaC_2e4vpCrdZum
>> pEPCo7hgvUCfzwEezjcO-_QnRKLXTonU9iKAioHqK8vKbUxYwXX3auSBCGnOqrJmjg7wFB
>> iINIQo6cIkNOHeHUqJYhjIkHrBI2ofMlwdz_ezQKCHnkIMErrYjDEukjkCKeJET8pWgrAZ
>> i3rDqZN6U2kFHvWD6lao9U_hOy2Rb3CST8TYgFayOlMQuLSxnB2rJ7v_7ETGMfMyaNKG-n
>> -VF47pYWfvG9OEsft87BzdQyazAUXM0ZhYUvVwZy7QP_SrtGlG3Jyu2nmTwV2_jGP7Hf3C
>> /https%3A%2F%2Fwww.rfc-editor.org%2Ferrata%2Feid6725
>>
>> --------------------------------------
>> Type: Technical
>> Reported by: Nasir Ahmed <[email-masked]>
>>
>> Section: 8.4
>>
>> Original Text
>> -------------
>> 8.4. Group Membership Interval
>>
>> The Group Membership Interval is the amount of time that must pass
>> before a multicast router decides there are no more members of a group
>> or a particular source on a network.
>>
>> This value MUST be ((the Robustness Variable) times (the Query
>> Interval)) plus (one Query Response Interval).
>>
>>
>>
>> Corrected Text
>> --------------
>> 8.4. Group Membership Interval
>>
>> The Group Membership Interval is the amount of time that must pass
>> before a multicast router decides there are no more members of a group
>> or a particular source on a network.
>>
>> This value MUST be ((the Robustness Variable) times (the Query
>> Interval)) plus (2 * Query Response Interval).
>>
>> Notes
>> -----
>> A router resuming querier role (when current querier dies off) waits
>> for other querier timer value to be expired. This value is ((the
>> Robustness
>> Variable) times (the Query Interval)) plus (one half of one Query
>> Response Interval). This value by default comes as (2 * 125 + 10/2) =
>> 255. Whereas GMI comes as (2 * 125 + 10) = 260. A group learnt with
>> this value will have its group timer value set to expire from anywhere
>> from 260 + 10 (min 260, max 270 due to random response from host in
>> the interval of max response time delay after a query). Now a new
>> router resuming a querier role will generate query after 255 sec. At
>> this point of time the group timer left will be in the range of (260 -
>> 255) 5sec to (270 - 255 ) 15sec. Since the query response can come
>> anywhere between 10sec, Groups whose timer value is less will expire
>> and will result in traffic drop. Therefore it is recommended to
>> increase the default GMI value by one extra Query Response Interval.
>> That is - ((the Robustness Variable
>> ) times (the Query
>> Interval)) plus (2 * Query Response Interval).
>>
>> Instructions:
>> -------------
>> This erratum is currently posted as "Reported". If necessary, please
>> use "Reply All" to discuss whether it should be verified or rejected.
>> When a decision is reached, the verifying party can log in to change
>> the status and edit the report, if necessary.
>>
>> --------------------------------------
>> RFC3376 (draft-ietf-idmr-igmp-v3-11)
>> --------------------------------------
>> Title : Internet Group Management Protocol, Version 3 Publication Date
>> : October 2002
>> Author(s) : B. Cain, S. Deering, I. Kouvelas, B. Fenner, A.
>> Thyagarajan Category : PROPOSED STANDARD Source : Inter-Domain
>> Multicast Routing Area : Routing Stream : IETF Verifying Party : IESG
>>

---

From: Brian Haberman <[email-masked]>
Date: Wed, 10 Nov 2021 14:26:09 -0500

Hi Nasir,
      I see what you are getting at... There is a corner case where the 
state for a group could disappear for a few seconds before getting 
refreshed/recreated by the next query/response cycle. This isn't a 
catastrophic issue given the soft state nature of multicast, but it does 
appear to be a minor conflict between two timer values.

Regards,
Brian

On 11/8/21 10:28 PM, Ahmed, Nasir wrote:
> Hi Brain,
> 
> This is the case when the current active querier dies off. And all other non-Queriers are waiting for their timer to expire.
> There is no one to send query during this interval.
> 
> -regard's Nasir
> 
> Sent: Tuesday, November 9, 2021 12:20 AM
> To: Ahmed, Nasir <[email-masked]>; Alvaro Retana <[email-masked]>; [email-masked]
> Cc: [email-masked]
>        What is missing from the scenario below are the queries being sent every [Query Interval] (default of 125 seconds). That will refresh the state for all multicast routers.
> 
> Regards,
> Brian
> 
>> Subject: Re: IGMP Group Membership Interval (draft-ietf-pim-3376bis)
>> WAS: [Technical Errata Reported] RFC3376 (6725)
>>
>> Hey Alvaro,
>>> before a multicast router decides there are no more members of a
>>> group or a particular source on a network.
>>>
>>> before a multicast router decides there are no more members of a
>>> group or a particular source on a network.
>>>
>>> this value will have its group timer value set to expire from
>>> anywhere from 260 + 10 (min 260, max 270 due to random response from
>>> host in the interval of max response time delay after a query). Now a
>>> new router resuming a querier role will generate query after 255 sec.
>>> At this point of time the group timer left will be in the range of
>>> (260 -