Re: [Idr] [spring] Error Handling for BGP-LS with Segment Routing

<> Fri, 21 December 2018 14:28 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id ABAE9124D68; Fri, 21 Dec 2018 06:28:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id wpW8pIV-RzWW; Fri, 21 Dec 2018 06:28:06 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id BB213123FFD; Fri, 21 Dec 2018 06:28:05 -0800 (PST)
Received: from (unknown [xx.xx.xx.5]) by (ESMTP service) with ESMTP id 43LrZX019cz7v6D; Fri, 21 Dec 2018 15:28:04 +0100 (CET)
Received: from Exchangemail-eme2.itn.ftgroup (unknown [xx.xx.31.61]) by (ESMTP service) with ESMTP id 43LrZW68t9zCqmR; Fri, 21 Dec 2018 15:28:03 +0100 (CET)
Received: from OPEXCAUBM22.corporate.adroot.infra.ftgroup ( by OPEXCLILM7E.corporate.adroot.infra.ftgroup ( with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 21 Dec 2018 15:28:03 +0100
Received: from OPEXCAUBM43.corporate.adroot.infra.ftgroup ([fe80::b846:2467:1591:5d9d]) by OPEXCAUBM22.corporate.adroot.infra.ftgroup ([::1]) with mapi id 14.03.0415.000; Fri, 21 Dec 2018 15:28:03 +0100
From: <>
To: Alvaro Retana <>
CC: "idr@ietf. org" <>, SPRING WG <>
Thread-Topic: [spring] Error Handling for BGP-LS with Segment Routing
Thread-Index: AQHUl8RU9wX5MaOAokC2rI9Bv+Qo0aWJP9KQ
Date: Fri, 21 Dec 2018 14:28:03 +0000
Message-ID: <17236_1545402483_5C1CF873_17236_409_1_53C29892C857584299CBF5D05346208A489767C7@OPEXCAUBM43.corporate.adroot.infra.ftgroup>
References: <> <13486_1545174620_5C197E5C_13486_197_1_53C29892C857584299CBF5D05346208A48970FEB@OPEXCAUBM43.corporate.adroot.infra.ftgroup> <>
In-Reply-To: <>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_53C29892C857584299CBF5D05346208A489767C7OPEXCAUBM43corp_"
MIME-Version: 1.0
Archived-At: <>
Subject: Re: [Idr] [spring] Error Handling for BGP-LS with Segment Routing
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Inter-Domain Routing <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 21 Dec 2018 14:28:10 -0000

Hi Alvaro,

From: Alvaro Retana []
Sent: Wednesday, December 19, 2018 6:58 PM
Cc: idr@ietf. org; SPRING WG
Subject: RE: [spring] Error Handling for BGP-LS with Segment Routing

On December 18, 2018 at 6:10:21 PM,<> (<>) wrote:



1) shouldn’t BGP-LS error handling be also discussed in the LSVR WG? does not seem to cover this.
And this document was under WGLC till yesterday.

Yes, good point.

I wanted to focus on SR’s use, but I think you’re right to point out that other applications may have the same needs.  I think/hope that people on the lsvr list are also on the idr list (at least), so I’ll forward a pointer to this thread just in case.

2) Regarding BGP-LS error handling, it’s not clear to me that “treat as withdraw” would be “safer” than “Attribute Discard”. “Session reset” is safer from an inconsistency standpoint but definitely also “has a direct effect on how traffic is forwarded in the network” and a sever one.

[Not sure about the ending “…and a sever one”.]

Sorry, I meant « more severe” (serious). IOW the impact on the traffic is more important.

I agree.  I don’t want to rehash the discussion from rfc7606 about the types of approached and whether there should be more or not (or what those could be)…. I’m just pointing out that I think the current approach is not the right one for all applications.

> The BGP-LS extensions for SR (e.g. draft-ietf-idr-bgp-ls-segment-routing-ext) are, as explained in that draft, used so that "an external component (e.g., a controller) then can collect SR information from across an SR domain and construct the end-to-end path (with its associated SIDs) that need to be applied to an incoming packet to achieve the desired end-to-end forwarding."

> To me, that obviously implies that use of BGP-LS for SR has a direct effect on how traffic is forwarded in the network.  Does any one see it differently?

a) IMHO that implication would be the same without SR, e.g., with RSVP-TE. In fact, the effect on how traffic is forwarded is coming from the PCE computation using partial/incorrect topology information, not how the forwarding is enforced.

b) IMHO RFC7606 was more concerned about forwarding loops/black holing –especially for IBGP-, rather than changing the path of the traffic. (as ““treat as withdraw “ or “sessions reset” would also have “a direct effect on how traffic is forwarded in the network”.) Note that the latter quote is not from RFC760 which uses the terms  “no effect on route selection or installation” which is a bit different.

Interpreting the difference between “a direct effect on how traffic is forwarded in the network” and  “no effect on route selection or installation” is part of the reason this topic is not straight forward.

I think RFC 7606 had primarily IP/Internet routes in mind. Within an AS, different IBGP nodes could have a different opinion regarding the error (especially if the error is on the receiver side) which would create difference in route installation and forwarding inconsistencies such as persistent forwarding loops

To me, in the BGP-LS+SR context, because the controller *installs* the source route at the ingress router, the two phrases apply.

However, other interpretations are possible…which is one of the reasons for this thread.  For example, during the rfc7752 discussion, a point was made that the controller (being at the receiving end of the BGP session) would not have to worry about the effects of attribute discard because any loss of information would not have an effect on how it (the controller) selected or installed routes.  That argument is not completely flawed (the controller does not use the BGP-LS itself for routing), but (my personal opinion) is that the use of the information (in later programming the network) is what is important.

c) Coming back to SR, quickly looking at the ToC, the discard of the SID simply means that the SID can”t be used by the SR source/ingress node. The discard of the SR node attribute means that the node can’t be used to forward a global segment. The use of flex-algo is a bit more touchy as discarding the support for a flex algo will change the routing along this flex algo. But only from the perspective of the BGP-LS consumer, so this would not create forwarding loops/black hole, but only a non expected routing path.

Which ToC?

Table of content of

You’re right…but only if the information is discarded when it was initially learned.  If the error occurs later, when the information was changing for example, there is the possibility that the controller will want to use a node that shouldn’t be used any more….or be calculating not-the-best-routes.  Sub-optimal routes are not great and may not matter too much (compared to loops, for example), but some users may have specific business objectives (application performance, for instance) tied to the definition of the paths…it will be important to them.

4)  I haven’t checked but it’s not clear to me that IS-IS has a perfect (better?) error handling.

If you want to discuss this, please do it in the lsr WG. :-)

I have already been involved in discussions regarding error handling… I know that the subject is difficult and the opinions are diverse (partly because perspectives are different). One have to choose its battles. I’m happy to share the load with you ;-)


5) BGP-LS and IS-IS have chosen a different granularity to advertise the LSDB (per link/node vs oer LSP) which very likely will result in a different error handling hence a different vision of the topology. This looks like day 1 design choice for BGP-LS, so difficult to address.





Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.