Subject: [pim] anycast-rp with pim (rfc4610) when an RP reboots

From: Pekka Savola <[email-masked]>
Date: Wed, 14 Oct 2009 09:23:42 +0300 (EEST)

Hello,

My colleague started thinking on this and it seems there is a caveat 
in the use of PIM for anycast-rp compared to MSDP.

Assume a stable state of 10 sources with two RPs in an anycast-RP set. 
Both RPs have information about all sources.  All sources are closer 
to RP_1.  All receivers are attached to RP_2.

Now, RP_2 reboots.  RP_1 does not know that the router has rebooted. 
In consequence, it does not re-register sources to RP_2 until DRs 
restart registering.  In consequence, the receivers attached to RP_2 
do not get the transmissions after routing reconverges to RP_2.

Did I get this right?  Are there any mitigations for this?  PIM-PORT 
could offer a way to fix this, obviously, but it may a bit far off 
yet.

-- 
Pekka Savola                 "You each name yourselves king, yet the
Netcore Oy                    kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings

---

From: Srimanikandan Ganesan <[email-masked]>
Date: Wed, 14 Oct 2009 12:35:15 +0530

Pekka,

Two points, I did not understand fully,

1. When RP2 reboots, the receivers which were earlier to RP1 would re-learn the RP route and would try to reach RP1, right. I believe, that would be taken care by the underlying routing mechanism.

2. And when RP2 reboots, the MSDP session between them would break and comes back again once RP1 comes back. And MSDP would send the SA advertisements for every 60 sec. So, eventually, the router would get populated with SAs.

Regards,
Mani.

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Pekka Savola
Sent: Wednesday, October 14, 2009 11:54 AM
To: [email-masked]
Subject: [pim] anycast-rp with pim (rfc4610) when an RP reboots

Hello,

--
Pekka Savola                 "You each name yourselves king, yet the
Netcore Oy                    kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings
_______________________________________________
pim mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/pim

DISCLAIMER:
This e-mail and any attachments to it may contain confidential and proprietary material and is solely for the use of the intended recipient. Any review, use, disclosure, distribution or copying of this transmittal is prohibited except by or on behalf of the intended recipient.  If you have received this transmittal in error, please notify the sender and destroy this e-mail and any attachments and all copies, whether electronic or printed.

---

From: Pekka Savola <[email-masked]>
Date: Wed, 14 Oct 2009 11:13:34 +0300 (EEST)

> Two points, I did not understand fully,

I should have been clearer because I only mentioned it in the subject: 
this is what happens with MSDP based traditional anycast-RP. The 
problem I described happens with PIM-based anycast-RP (rfc4610).

---

From: pavan_kurapati <[email-masked]>
Date: Wed, 14 Oct 2009 14:07:37 +0530

Pekka,

Wouldn't the problem be solved when a Null register is triggered from the DR of RP1?

   o If Null Registers are sent (Registers with an IP header and no IP
     payload), they MUST be replicated to all of the RPs in the
     Anycast-RP set so that source state remains alive for active
     sources.

Thanks,
Pavan

> Sent: Wednesday, October 14, 2009 1:44 PM
> To: Srimanikandan Ganesan
> Cc: [email-masked]
> Subject: Re: [pim] anycast-rp with pim (rfc4610) when an RP reboots
> 

**************** CAUTION - Disclaimer *****************
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely 
for the use of the addressee(s). If you are not the intended recipient, please 
notify the sender by e-mail and delete the original message. Further, you are not 
to copy, disclose, or distribute this e-mail or its contents to any other person and 
any such actions are unlawful. This e-mail may contain viruses. Infosys has taken 
every reasonable precaution to minimize this risk, but is not liable for any damage 
you may sustain as a result of any virus in this e-mail. You should carry out your 
own virus checks before opening the e-mail or attachment. Infosys reserves the 
right to monitor and review the content of all messages sent to or from this e-mail 
address. Messages sent to or from this e-mail address may be stored on the 
Infosys e-mail system.
***INFOSYS******** End of Disclaimer ********INFOSYS***

---

From: Pekka Savola <[email-masked]>
Date: Wed, 14 Oct 2009 11:46:43 +0300 (EEST)

>     Anycast-RP set so that source state remains alive for active

Yes -- but:

  - this helps only until the next null register is received
  - fom the PIM spec, I don't see the suggested interval between null 
registers and whether those are mandatory.

I was not arguing that the blackhole situation would last forever, but 
that it could be significant (let's say, in the order of 3-4 minutes).

---

From: pavan_kurapati <[email-masked]>
Date: Wed, 14 Oct 2009 14:38:13 +0530

> registers and whether those are mandatory.

RFC suggests register stop timer to be 

The Register-Stop Timer is set to a random value chosen
        uniformly from the interval ( 0.5 * Register_Suppression_Time,
        1.5 * Register_Suppression_Time) minus Register_Probe_Time.

Since the default of Register_Suppression_Time is 60 seconds, a Null-Register will be triggered <1.5 mins time unless the default values are changed

Yes, I agree though that things will be up and running in the tune of 1-2 mins time frame which may be significant. 

Thanks,
Pavan

> From: Pekka Savola [mailto:[email-masked]]
> Sent: Wednesday, October 14, 2009 2:17 PM
> To: pavan_kurapati
> Cc: Srimanikandan Ganesan; [email-masked]

---

From: "Prashant Jhingran (pjhingra)" <[email-masked]>
Date: Wed, 14 Oct 2009 14:51:29 +0530

Hi Pekka/All,

- As long as RP_2 remains down there would not be an issue
- However once RP_2 becomes operational then with the help of NULL
Registers (default every 60 sec or so), the black hole should get
patched up in < 2 mins
- Also note that black hole would be created for only new/upcoming
receivers i.e. those behind RP_2 during this transient time
- Recv behind RP_2 which would have ideally switched to SG would remain
unaffected. 

Thus perhaps we need not worry about this scenario. 

Regards,
Prashant Jhingran

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of
pavan_kurapati
Sent: Wednesday, October 14, 2009 2:38 PM
To: Pekka Savola
Cc: Srimanikandan Ganesan; [email-masked]
Subject: Re: [pim] anycast-rp with pim (rfc4610) when an RP reboots

Since the default of Register_Suppression_Time is 60 seconds, a
Null-Register will be triggered <1.5 mins time unless the default values
are changed

Yes, I agree though that things will be up and running in the tune of
1-2 mins time frame which may be significant. 

Thanks,
Pavan

---

From: Pekka Savola <[email-masked]>
Date: Thu, 15 Oct 2009 14:26:19 +0300 (EEST)

> - Recv behind RP_2 which would have ideally switched to SG would remain

Good points, thanks for summarizing.  However, I'm not sure if I see 
the third point.  I see this is the case if the receiver had switched 
to SG but otherwise..?

Another thing I noted is that if there are sources directly connected 
to an RP, with anycast-RP using PIM it's not enough to copy/replicate 
received register messages to other to the rest of the RP set.  In 
this case, you will need to create register messages yourself.  In 
some vendors' equipment this may be an issue and it might be 
interesting to see if all the anycast-rp+pim implementations handle 
this correctly.

---

From: "Prashant Jhingran (pjhingra)" <[email-masked]>
Date: Fri, 16 Oct 2009 09:20:39 +0530

Hi Pekka,

Actually point 3 & 4 are interrelated. In practice, since SPT threshold
is configured as zero therefore recv should switch to SG (SPT).
Otherwise, I agree there would be a black hole for ~ 2 min.

In case where RP is also a DR, RP needs to originated register/reg-stop
mesg. 

Regards,
Prashant Jhingran

-----Original Message-----
From: Pekka Savola [mailto:[email-masked]] 
Sent: Thursday, October 15, 2009 4:56 PM
To: Prashant Jhingran (pjhingra)
Cc: pavan_kurapati; Srimanikandan Ganesan; [email-masked]
Subject: Re: [pim] anycast-rp with pim (rfc4610) when an RP reboots

On Wed, 14 Oct 2009, Prashant Jhingran (pjhingra) wrote:
> - Recv behind RP_2 which would have ideally switched to SG would 
> remain unaffected.

Good points, thanks for summarizing.  However, I'm not sure if I see the
third point.  I see this is the case if the receiver had switched to SG
but otherwise..?

Another thing I noted is that if there are sources directly connected to
an RP, with anycast-RP using PIM it's not enough to copy/replicate
received register messages to other to the rest of the RP set.  In this
case, you will need to create register messages yourself.  In some
vendors' equipment this may be an issue and it might be interesting to
see if all the anycast-rp+pim implementations handle this correctly.