Subject: [pim] The BSR spec and maintaining group-to-RP mappings

From: Stig Venaas <[email-masked]>
Date: Wed, 27 Oct 2004 16:34:23 +0200

In the last update of the BSR spec, draft-ietf-pim-sm-bsr-04, we changed
the way group-to-RP mappings are maintained.

In the draft update we propose ONLY using the hold-time to expire the RP
mappings. Each time a new BSM is received the timers are reset.  A hold-
time of 0 means immediate removal. If a BSM is received which does not
contain a previously learnt RP-mapping, routers will still *wait* for
the mapping's holdtime to expire before removing it. We call this
approach "Explicit withdrawal" (EW) because the BSR has to explicitly
include RPs to be deleted with a holdtime of 0.

Another approach, is that in addition to using holdtime for RP
maintenance, an RP is *also* removed when a BSM not containing the RP is
received. We call this the "Implicit withdrawal" (IW) approach. IW
because not including an RP, implicitly implies that it is to be removed.

We think the old PIM RFC and the previous BSR drafts both are ambiguous
but lean towards the IW approach. However, there are implementations of
both approaches.

We would like to resolve this in the latest specification to pick the
approach that works better and also see if we can find a transition
strategy for implementations to go from one to the other. Or for mixed
networks until they are upgraded eventually to a common approach.

Stig
_______________________________________________
pim mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/pim

---

From: bharat_joshi <[email-masked]>
Date: Thu, 28 Oct 2004 17:10:38 +0530

Hi Stig,

   I think we should go with EW.

   There are certain advantages with EW.

   * Backward compatibility
   * If fragmented BSM packet get lost, a router will still wait for 
     holdtime timer to expire before it removes the RP set which have lost.
   * This will also help when EBSR changes and new EBSR has not received all
     the C-RP messages and send out a partial BSM. All routers will keep
     their RP set for RP holdtime which are not available in this BSM. Which
     may be available in next BSM before RP holdtime expires.

Thanks & Regards,
Bharat

-----Original Message-----
From:	[email-masked] on behalf of Stig Venaas
Sent:	Wed 10/27/2004 8:04 PM
To:	[email-masked]
Cc:	
Subject:	[pim] The BSR spec and maintaining group-to-RP mappings

Stig

---

From: Prashant Jhingran <[email-masked]>
Date: Sat, 30 Oct 2004 09:43:04 +0800

Hi All,

Regarding the strategy adopted to expire the RP mappings...
Its better for the routers in the domain not to remove RP if not
included in the RP set of the latest BSM, EW can be used instead.

Consider the case when CRP goes down. 
The CRP timer would definitely expire at EBSR. 
Hence the next BSM may be sent with a holdtime of 0 and as a result all
the routers in the domain can synchronize there database with latest
BSM.

However we need to counter act the loss of RP-set during BSR election
and also situations when a CRP and EBSR goes down at the same time....
In such scenarios holdtime of Zero may not be helpful.

Regards,
Prashant Jhingran

Huawei Technologies 
Beijing, China
Ph# 00-86-10-82882837  (O)  
        00-86-10-62983443  (R)
www.huawei.com

"You see, all the problems in the world are created by those who want
'perfection.' "
   -- Sri Sri Ravi Shankar  www.artofliving.org  

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of
bharat_joshi
Sent: Thursday, October 28, 2004 7:41 PM
To: Stig Venaas
Cc: [email-masked]
Subject: RE: [pim] The BSR spec and maintaining group-to-RP mappings

Hi Stig,

   * Backward compatibility
   * If fragmented BSM packet get lost, a router will still wait for 
     holdtime timer to expire before it removes the RP set which have
lost.
   * This will also help when EBSR changes and new EBSR has not received
all
     the C-RP messages and send out a partial BSM. All routers will keep
     their RP set for RP holdtime which are not available in this BSM.
Which
     may be available in next BSM before RP holdtime expires.

Thanks & Regards,
Bharat

-----Original Message-----
From:	[email-masked] on behalf of Stig Venaas
Sent:	Wed 10/27/2004 8:04 PM
To:	[email-masked]
Cc:	
Subject:	[pim] The BSR spec and maintaining group-to-RP mappings

Another approach, is that in addition to using holdtime for RP
maintenance, an RP is *also* removed when a BSM not containing the RP is
received. We call this the "Implicit withdrawal" (IW) approach. IW
because not including an RP, implicitly implies that it is to be
removed.

Stig

---

From: Christopher Thomas Brown <[email-masked]>
Date: Sun, 31 Oct 2004 21:30:17 -0500

Stig,
I feel that the EW approach is better than the ambiguously defined
approach that the current specification is.

However, I have some thoughts about things you bring up.

In section 2.1 you state:

>   IW: The router needs to wait for the entire Mapping record (G/mask
>   and RP list) to be received before it purge mappings which have
>   not been included this time. However, we think there is no way for
>   a router to know that the entire mapping record has been
>   received e.g. the last record in the fragment.

Is this true? It seems like one of the previous drafts had a solution for
this problem. In a group range mapping there is a count of the RPs for the
mapping (RP count) and a count of the RPs included in the current message
(Frag RP count). Each fragment of the message carries a tag that indicates
which instance of the BSR message it is. One knows when the entire mapping
record has been received when one has received as many RPs for the group
range as indicated by the RP count. One knows that a fragment has been
lost when a new instance of the message is encountered.

Now, I don't really like this approach but I think it does provide a way
for a router to know that the entire mapping record has been received.
Perhaps, I'm missing something here.

2.2 RP disappearing

For EW, I hope the 'trigger BSM' action is only for the affected group
range and only the affected RP.

2.4 BSR disappearing

Is it really desirable to not have an RP set at all? Wouldn't using
a previously available mapping be better than not having a mapping at all?
Of course this should only occur if all of the CBSRs are down. How
likely is it that all domain's CBSRs will be down? Is it worth trying
to handle that or is going to an empty RPset OK.

2.5 BSR being replaced

With EW, since the routers in the PIM domain do not change their RP sets
in response to the elected BSR changing, it seems like an optimization if
the newly elected BSR uses the RP set it had stored from the previous BSR
to announce to the domain.

3 Backward compatibility

I don't think you can firmly make the claim that EW is backwards compatible.
There is nothing that I recall in some of the older specs that requires
a router to honor a holdtime of zero in a BSM as a request to remove
the RP from that mapping. As has been said, older specs are ambiguous. Some
implementations that do IW only remove from the RP set at a non-EBSR
upon the implicit withdrawal and not on holdtime timeout.

* Transition

If consensus is reached on the EW approach, I think some of the suggested 
IW behaviors should be documented as they help compatibility between
EW and IW. A vendor that has implemented the IW approach with its current
ambiguities can then implement the documented behaviors, if they have not
already, and be reasonabilly sure that their IW implementation will
interoperate with the EW approach.

Chris