Re: [Idr] BGP-LS alternatives - problems and solutions

Jeffrey Haas <jhaas@pfrc.org> Wed, 06 July 2022 18:09 UTC

Return-Path: <jhaas@pfrc.org>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 84CC5C157B5B for <idr@ietfa.amsl.com>; Wed, 6 Jul 2022 11:09:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3MZHf2SgEDFg for <idr@ietfa.amsl.com>; Wed, 6 Jul 2022 11:09:05 -0700 (PDT)
Received: from slice.pfrc.org (slice.pfrc.org [67.207.130.108]) by ietfa.amsl.com (Postfix) with ESMTP id 7E769C157B3B for <idr@ietf.org>; Wed, 6 Jul 2022 11:09:05 -0700 (PDT)
Received: from smtpclient.apple (99-59-193-67.lightspeed.livnmi.sbcglobal.net [99.59.193.67]) by slice.pfrc.org (Postfix) with ESMTPSA id 867E01E345; Wed, 6 Jul 2022 14:09:04 -0400 (EDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.100.31\))
From: Jeffrey Haas <jhaas@pfrc.org>
In-Reply-To: <CABNhwV0KJq7qgfJHmwB1wHYpGmy2XiatBXMFPfyNmMMAmF_dBg@mail.gmail.com>
Date: Wed, 06 Jul 2022 14:09:03 -0400
Cc: "idr@ietf.org" <idr@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <E9D9912C-B9AF-4E3D-9FDB-4957866EDD83@pfrc.org>
References: <BYAPR08MB4872F86B0433BF7CAF91326CB3BB9@BYAPR08MB4872.namprd08.prod.outlook.com> <CAKz0y8xVHBcxrGcKH6Q9mXbQK1mcsk5_zx-OOLQ5p7umuSJ=9Q@mail.gmail.com> <CAOj+MMG_9ZNrh41ixVRwguOXdvtGkMitfycDHXBJXop=Xb2cBw@mail.gmail.com> <20277_1656583958_62BD7716_20277_155_1_6b66b56f-8e05-be8d-7a90-2524fe2b975e@orange.com> <CABNhwV0KJq7qgfJHmwB1wHYpGmy2XiatBXMFPfyNmMMAmF_dBg@mail.gmail.com>
To: Gyan Mishra <hayabusagsm@gmail.com>
X-Mailer: Apple Mail (2.3696.100.31)
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/A2AxUamNxKMpqqsG3BXp1i1raLk>
Subject: Re: [Idr] BGP-LS alternatives - problems and solutions
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr/>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 06 Jul 2022 18:09:07 -0000

Gyan,


> On Jun 30, 2022, at 7:53 PM, Gyan Mishra <hayabusagsm@gmail.com> wrote:
> I believe the goal here is as the subject states is to investigate an alternative to BGP-LS to avoid overloading of BGP so BGP remains clean for internet routing functions only.

That boat has sailed long ago, and for the most part it's been fine.  But only after it hit rough waters.

This discussion of "I don't want it in BGP" really has two main operational points to it:
1. Is the state coupled enough with other data in BGP that it's useful to have it on the same session?
2. If it's a "separate application", do I want to risk having that application share the same stack as other important BGP data?

The "separate session" argument regularly sees applications like BGP-LS and BGP Flowspec deployed on dedicated sessions.  The one bit of operational awkwardness is it requires different IP addresses for the sessions if you have two different BGP applications between the same pair of boxes.

The "separate application" argument is a common software engineering discussion for fate-sharing, not just one of "same stack" or even "same protocol".  Moving things to a separate protocol doesn't help the fate sharing conversation if it's simply a different encapsulation that lives in the same code base.  Adding more encapsulations just adds more things to debug in many cases.  And certainly, structural separation of the code bases can be done to attempt to address resiliency considerations... but then you have to pass that data from application A to B anyway, and that's just another channel for performance issues - and often yet another encapsulation involved.

Personally, I'm more bothered by some of the heavy-weight telemetry options we've been shoving into routing than I am bothered by yet another BGP address family module.  But that's experiences of life in my own code base.

> Regarding new IGP extensions to be encoded for stateful PCE that come up, all solutions end up requiring a separate parser for OSPF and ISIS as the TLVs are different.  So you are in the same boat regardless of if it’s BGP-LS, PCEP-LS, IGP of Yang.

As at least one party commented to me off-list (who I suspect wants to stay out of this discussion) that we will have this particular headache no matter what the encapsulation for the state becomes.  BGP-LS did a fair job of providing a high level representation of important IGP state without deep ties to one particular IGP.

That level of abstraction also impacts the discussion of "put the state for this extension in BGP-LS along with the IGP".  For many of the things that have been simultaneously standardized in LSR since they decided to do work for both protocols in tandem, we don't have the headache about the mechanisms being different for common features.  Does this mean we'll want EVERYTHING LSR does in BGP-LS?  Possibly not.  We should make it easy to do so.

Similarly, operators might want to start to demand features to provide filtering of some state.  It's a reasonable idea.

> I think it’s a good idea to have multiple alternative to BGP-LS for operators.

My perspective has a different bend to it than yours does.

I tend to discuss these things in customer meetings in terms of "people will have preferences about the ecosystem they live in".  Some consumers want state in raw and efficient PDUs, some in simple structured YANG, some in their not-IETF-protocol transport with not-IETF-schema because their toolchains live in it.  Accommodating ecosystems is fine.

But for IETF discussions, we're mostly discussing how to get stuff between and out of routers efficiently.  There's plenty of room for middle-layers that can re-marshal data into your ecosystem component.  Do you really want that done by the router?  (See my comments above.)

Or, as I gripe when dealing with some of these encapsulations, "printf is expensive!"

> One major advantage of PCEP-LS is that if you already have a Centralized PCE/SDN controller deployed you already have a PCEP session NBI to all the nodes in each domain across H-PCE parents and child PCEs, do to the PCEP infrastructure beong already present and now can be reused for PCEP-LS instead of BGP-LS.

This is a great example of the ecosystem perspective.  And, similarly, how leveraging common encodings can let you deliver things quickly.

-- Jeff