Re: [Idr] Document shepherd review for draft-ietf-idr-rfc7752bis

Jeffrey Haas <jhaas@pfrc.org> Wed, 10 November 2021 16:42 UTC

Return-Path: <jhaas@slice.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 5C0BB3A11AF; Wed, 10 Nov 2021 08:42:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id be5O9BoOwXwe; Wed, 10 Nov 2021 08:42:36 -0800 (PST)
Received: from slice.pfrc.org (slice.pfrc.org [67.207.130.108]) by ietfa.amsl.com (Postfix) with ESMTP id 256B13A11A9; Wed, 10 Nov 2021 08:42:35 -0800 (PST)
Received: by slice.pfrc.org (Postfix, from userid 1001) id 12F791E2D6; Wed, 10 Nov 2021 11:42:35 -0500 (EST)
Date: Wed, 10 Nov 2021 11:42:34 -0500
From: Jeffrey Haas <jhaas@pfrc.org>
To: "Ketan Talaulikar (ketant)" <ketant@cisco.com>
Cc: "idr@ietf.org" <idr@ietf.org>, "draft-ietf-idr-rfc7752bis@ietf.org" <draft-ietf-idr-rfc7752bis@ietf.org>
Message-ID: <20211110164234.GF16907@pfrc.org>
References: <20210827200116.GJ19054@pfrc.org> <MW3PR11MB45701D09EF6D4483BAE06226C1BF9@MW3PR11MB4570.namprd11.prod.outlook.com> <20211109214501.GF28677@pfrc.org> <MW3PR11MB4570D388BF2874B047A3AF6CC1939@MW3PR11MB4570.namprd11.prod.outlook.com> <20211110112146.GC16907@pfrc.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20211110112146.GC16907@pfrc.org>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/xQ2aZtobUe7u8914-6zGfWSzc14>
Subject: Re: [Idr] Document shepherd review for draft-ietf-idr-rfc7752bis
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.29
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, 10 Nov 2021 16:42:41 -0000

Ketan,

On Wed, Nov 10, 2021 at 06:21:46AM -0500, Jeffrey Haas wrote:
> Ketan,
> 
> On Wed, Nov 10, 2021 at 08:56:00AM +0000, Ketan Talaulikar (ketant) wrote:
> > > A critical detail is you've added "A BGP-LS Consumer would need the ability to merge..." and we're not asking routers carrying this information to do the work.
> > [KT] Yes, that is correct. This distinction and boundary between the "BGP protocol module" and "BGP-LS Consumer module" is precisely why we've introduced these terminologies and clarifications in Sec 3. IIRC (it been a few years now), this was one of the key inputs that I got from Alvaro for this bis.
> 
> I'll spend some time hopefully today to try to re-read sections 3 and 7.2.

I took some time to deeply contemplate those sections.  In particular:

Section 3:
:    The above roles are not mutually exclusive.  The same BGP Speaker may
:    be the producer for some link-state information and propagator for
:    some other link-state information while also providing this
:    information to a consumer application.  Nothing precludes a BGP
:    implementation performing some of the validation and processing on
:    behalf of the BGP-LS Consumer as long as it does not impact the
:    semantics of its role as BGP-LS Propagator as described in this
:    document.

Section 7.2.2:
:    A BGP-LS Propagator SHOULD NOT perform semantic validation of the
:    Link-State NLRI or the BGP-LS Attribute to determine if it is
:    malformed or invalid.

The circumstance we're effectively discussing is BGP Speakers that are
operating in the context of either a mixed Consumer/Propagator or at least
an implementation that "some of the validation" above.

The CBOR RFC provides a nice phrase that covers some of the classes of
errors we're discussing here for BGP-LS, and also for other current IDR
proposals: "Well-formed, but invalid".

BGP-LS puts us in competing philosophies for the link-state we're carrying
in BGP:
- In the IGP, well formed trash gets happily carried.
- In BGP, well formed trash has been responsible for routing outages.

As John Scudder has pointed out over the years, "SHOULD NOT" in some
circumstances can mean MAY.  So, we have the wiggle room for implementations
that wish to not propagate "well-formed, but invalid" if they choose not to
do so.

Given this wiggle room, would the following small change be acceptable?

"A BGP-LS Propagator, even when also operating as a BGP-LS Consumer, SHOULD
 NOT perform semantic validation of the Link-State NLRI or the BGP-LS
 Attribute to determine if it is malformed or invalid."

The motivation for this update is more signaling to an implementor of BGP-LS
that in cases where validation happens that propagation is expected.  If you
can't reduce the BGP-LS state to internal data structures, you had best be
prepared to carry it as opaque binary data.

It's my personal belief that multiple implementations will simply treat
well-formed but invalid as reason to use RFC 7606 treat-as-withdraw.  But
perhaps that will change with time.

-- Jeff