Subject: Re: [Idr] Section 4.7 of RFC#7752 bis

From: Balaji Rajagopalan <[email-masked]>
Date: Mon, 2 Dec 2019 09:34:35 +0000

Hi Ketan,

>> A BGP-LS Consumer MAY filter stale entries of unreachable nodes by treating each Producer’s view of the topology as a separate partition.
>>[KT] This is not sufficient and actually the consumer would have to run SPT computation using each Producer’s view to determine the nodes that are unreachable in its view? If your implementation is actually doing this, then it helps if you could clarify.

Yes, the consumer needs to run SPF rooted at each Producer to determine unreachable nodes.

No, I’m not aware of any implementation that does this. But, the model is akin to IGP in that propagator sends the information unmodified, leaving semantic processing to the recipient.

>>[KT] Could you please clarify what “other well-known solutions” are being referred to apart from add-path here? If the solution is add-path then I would skip the above sentence or merge it with the next one.

This text refers to the solutions listed below it. Yes, I think we can skip/merge that part.

--
Balaji Rajagopalan

From: "Ketan Talaulikar (ketant)" <[email-masked]>
Date: Friday, 29 November 2019 at 11:13 AM
To: Balaji Rajagopalan <[email-masked]>
Cc: 'idr wg' <[email-masked]>
Subject: RE: Section 4.7 of RFC#7752 bis

Hi Balaji,

Please check inline below.

From: Balaji Rajagopalan <[email-masked]>
Sent: 27 November 2019 14:31
To: Ketan Talaulikar (ketant) <[email-masked]>
Cc: 'idr wg' <[email-masked]>
Subject: Re: Section 4.7 of RFC#7752 bis

Hi Ketan,

Sorry for the delayed response.

Yes, I’m okay with a ‘SHOULD’ in place of ‘MUST’. I had a brief chat with John Scudder, and he reminded me that a ‘SHOULD’ condition must be accompanied by text that clearly explains under what conditions an implementation is not required to follow the ‘SHOULD’ condition.
[KT] Agree.

John & I came up with the following amended text for review:

There are two strategies that can be used to solve the above problem: producer-controlled & consumer-controlled.

  1.  A BGP-LS Producer SHOULD withdraw all link-state objects advertised by it in BGP when the node that originated its corresponding LSP/LSAs is determined to have become unreachable in the IGP, unless the Consumer is interested in receiving all the entries. If the Producer does so, it MUST re-advertise those link-state objects only after that node becomes reachable again in the IGP domain.
[KT] We can wordsmith this but I agree.

  1.  A BGP-LS Consumer MAY filter stale entries of unreachable nodes by treating each Producer’s view of the topology as a separate partition.
[KT] This is not sufficient and actually the consumer would have to run SPT computation using each Producer’s view to determine the nodes that are unreachable in its view? If your implementation is actually doing this, then it helps if you could clarify.
In order to perform this step, the consumer needs to have visibility into each Producer’s entries.

When Route Reflector (RR) is in use, as depicted in the diagram, the route selection procedure in the RR may conceal all but one entry.  This is similar to other issues that  arise when route reflection is used, and the other well-known solutions to  such problems MAY be applied instead of option-1.
[KT] Could you please clarify what “other well-known solutions” are being referred to apart from add-path here? If the solution is add-path then I would skip the above sentence or merge it with the next one.
The route reflector can refrain from hiding data, by using add-path [ref] to advertise all the routes. The consumer would have to use ‘Originator ID’ attribute to identify the Producer.

Another option is to operationally refrain from  using route reflection for this application: if the consumer in the above example peered directly with R2 and R3, the consumer would have full access to each partition’s view.
[KT] We can wordsmith this but I think it makes sense to have this as an option for the 2nd approach.

Thanks,
Ketan

--
Balaji Rajagopalan

From: "Ketan Talaulikar (ketant)" <[email-masked]<mailto:[email-masked]>>
Date: Friday, 15 November 2019 at 11:28 AM
To: Balaji Rajagopalan <[email-masked]<mailto:[email-masked]>>
Cc: 'idr wg' <[email-masked]<mailto:[email-masked]>>
Subject: RE: Section 4.7 of RFC#7752 bis

Hi Balaji,

I have personally no issue changing the MUST to SHOULD in the following text so that using the solution you propose for the very specific use-case that you have in mind is possible without being non-compliant to the specification.

   A BGP-LS Producer MUST withdraw all link-state objects advertised by
   it in BGP when the node that originated its corresponding LSP/LSAs is
   determined to have become unreachable in the IGP and it MUST re-
   advertise those link-state objects only after that node becomes
   reachable again in the IGP domain.

Would that completely address your concerns?

However, if you also wish to add this other option then we ought to at least explain that mechanism properly to enable review by the WG. When you say “advertise the links from both the partitions using ADD-PATH”, it is not really intuitive for reader of the document to understand this and its implications in the BGP-LS context.

In Montreal, I put together some slides<https://urldefense.com/v3/__https:/datatracker.ietf.org/meeting/105/materials/slides-105-idr-sessa-draft-ketant-idr-rfc7752bis-01__;!8WoA6RjC81c!Rxubt6nAMCIrzyBGtaPm7pq6fSdGiKyGY8o6Tr99-My6SdHIZyvv7Fwa1G29-ov9$> with your help to try and explain your proposal (solution B) and still it was difficult for many experts in the room to understand the need and motivation for it – the minutes<https://urldefense.com/v3/__https:/datatracker.ietf.org/meeting/105/materials/minutes-105-idr-01.htm__;!8WoA6RjC81c!Rxubt6nAMCIrzyBGtaPm7pq6fSdGiKyGY8o6Tr99-My6SdHIZyvv7Fwa1ERc30cG$> and the recording<https://urldefense.com/v3/__https:/www.youtube.com/watch?v=7tgD-hPPIhI__;!8WoA6RjC81c!Rxubt6nAMCIrzyBGtaPm7pq6fSdGiKyGY8o6Tr99-My6SdHIZyvv7Fwa1B2kSs6p$> are available to refresh our collective memory.

In full disclosure, I personally find your proposed solution B very complex with little or no benefit – even though, IIRC, I did not express that opinion during the session in order to not influence. I do agree though that you should have the flexibility to implement your solution for the use-cases you have in mind while the draft tries to capture the simpler and consensus solution for most of the broad use-cases.

So if you wish to still put forward your alternate mechanism, then please provide a good text that enables review by the WG. However, if you are happy with just the above text change that I’ve proposed then we are good and this can be posted in the next update for the draft.

Thanks,
Ketan

From: Balaji Rajagopalan <[email-masked]<mailto:[email-masked]>>
Sent: 15 November 2019 09:28
To: Ketan Talaulikar (ketant) <[email-masked]<mailto:[email-masked]>>
Cc: 'idr wg' <[email-masked]<mailto:[email-masked]>>
Subject: Re: Section 4.7 of RFC#7752 bis

Hi Ketan,

>> So, my suggestion would be the following:
>>Clearly describe the problem, as the current draft does
>>Describe both the solutions (ADD-PATH & the current text), and make them both optional behaviours available to an originator
>> [KT] Could you propose the text to describe the ADD-PATH solution? We can get the WG feedback for its inclusion as another alternative in the document.

Please see below suggested replacement text for the last paragraph of section 4.7. Please feel free to massage the text.

A BGP-LS Producer has two ways to cope with the above problem:

  *   Do not advertise the links of unreachable nodes
  *   Advertise the links from both the partitions using ADD-PATH, so the consumer has enough information to identify the stale entries.

--
Balaji Rajagopalan