Re: [Idr] AD Review of draft-ietf-idr-rfc7752bis-10

Alvaro Retana <aretana.ietf@gmail.com> Mon, 14 November 2022 16:23 UTC

Return-Path: <aretana.ietf@gmail.com>
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 80DB3C14F748; Mon, 14 Nov 2022 08:23:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.094
X-Spam-Level:
X-Spam-Status: No, score=-2.094 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 kWA6KkCuw_6e; Mon, 14 Nov 2022 08:23:11 -0800 (PST)
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7DEBFC14CE5C; Mon, 14 Nov 2022 08:23:11 -0800 (PST)
Received: by mail-pl1-x629.google.com with SMTP id b21so10483855plc.9; Mon, 14 Nov 2022 08:23:11 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:from:to:cc:subject:date :message-id:reply-to; bh=Eh/BcQNG/WYmHWI1I9cECSLyy+1LBQwHMT4Fle1VbpA=; b=QEFvL5GfqSlljU/7MM0as8fqaAZYq/vvdxDIO1sqX5FDGBQI0eiyOlAFRlTneFPhWg A75fZOGNJjTkwtRntYCfmACcsMfFNUZNBWWKfCbCb6q7SSk6HJLNycccHZTstGySbuWI JBTHbcaM8Kte8m1c4+XeLW0Ddvf4cpLLw//E6Sk/TBgsjMm7pST+Y/brE8Ajpj+ws4+C 28T89JviMfJgz6y0hiVlPON9Ivlo+TM5hNway+kPT0QLZiOUu9nLN3nCZb+q5A3RqSFD Z8OlSGur0WMYqbgIuRmFXehJSLocl895hW6ixtcBC6T81dUfW8B1BN4hf1QZDImiCYjm nLIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Eh/BcQNG/WYmHWI1I9cECSLyy+1LBQwHMT4Fle1VbpA=; b=ykYqiGRyJ8YWuROkCNAvVtN4upxlBx3mU/5GAYLqZgi2MyA3/T3Si0ZpEkjCoTQBr8 nP73QDTBvduvNoDyJ3NDd2P2wZnTvRXYSIERV5iIV25YzvC9MxJFQvqqCNoXbt0c5/jW 5thwPLVtaTkMHI29p0zQzjUTpEJ0myDkKgQ3Djah5gFXn8OxIYjxSxXmxSL9AC9WR03Y aV+gvxU3RWJItHHn/HZchEHlF1RQcKYFHDk/B8VXb+QKGolzTJf7BKgNTJoZew4eR9HG BmghBs5M6NZUi2HY9k41s7pUPA0xItTCGvQRGay1szH/ncZ4dtCfDO8kGFywjE8/O3dE Gm1Q==
X-Gm-Message-State: ANoB5pn7maScYlhmqr/RzbF/8f7k2qenwA27DZmTbXw6Y6nOp70NIjiE fco/jZRJ3xaZAG4AYVTBxHwXBC1vgMPc0DnQc4w=
X-Google-Smtp-Source: AA0mqf5KIb4ykEM445YVmdrA3gvXAC1OLj9euITqdP91Cw4/Go6oygboby/4Tc0zQomkyKGZ88/PE/a2wfZ4qiB3aRo=
X-Received: by 2002:a17:903:4d5:b0:17f:5810:e9e3 with SMTP id jm21-20020a17090304d500b0017f5810e9e3mr127404plb.11.1668442990705; Mon, 14 Nov 2022 08:23:10 -0800 (PST)
Received: from 1058052472880 named unknown by gmailapi.google.com with HTTPREST; Mon, 14 Nov 2022 10:23:09 -0600
From: Alvaro Retana <aretana.ietf@gmail.com>
In-Reply-To: <CAH6gdPxWsoVtOYv+7ze_3JwytMxwvSdZ65THSdPH699+Epe7ig@mail.gmail.com>
References: <CAMMESszHeVAuQ2qW+M7rrwMoWFBR5kqdGqE8841rKhNX_ruOPA@mail.gmail.com> <CAH6gdPyg7fuoPzkP=HDgdqiC00Sk9N0hNn6dbfQxuYcyiY4-Pw@mail.gmail.com> <CAMMESsxh490nBavRcNbU7SA5oi3YHusToKRa7SjodpqcnTCPEQ@mail.gmail.com> <CAH6gdPxWsoVtOYv+7ze_3JwytMxwvSdZ65THSdPH699+Epe7ig@mail.gmail.com>
MIME-Version: 1.0
Date: Mon, 14 Nov 2022 10:23:09 -0600
Message-ID: <CAMMESsyKnni=BvPjWCenfg_WxTvVqWqV-RHV+MRSZ84z_szg3A@mail.gmail.com>
To: Ketan Talaulikar <ketant.ietf@gmail.com>
Cc: Jeff Haas <jhaas@juniper.net>, idr-chairs@ietf.org, draft-ietf-idr-rfc7752bis@ietf.org, "idr@ietf. org" <idr@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/UcX-j0Du9pBZLjdKn0gbPhGJtjM>
Subject: Re: [Idr] AD Review of draft-ietf-idr-rfc7752bis-10
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: Mon, 14 Nov 2022 16:23:15 -0000

On November 7, 2022 at 5:49:13 AM, Ketan Talaulikar wrote:

Ketan:

Hi!

...
> > While I still have issues that I would like to see resolved, I am
> > starting the IETF LC. Given that we are close to IETF 115, the LC
> > will end afterwards. Maybe we can find a time there to talk about any
> > remaining issues.
>
> KT2> I am attending IETF 115 remotely and I hope we can still find time to
> meet virtually for any points that need further discussions.

I still have a couple of issues that we should maybe talk about.

Last week was too busy to find a time, but perhaps we can find
something tomorrow:  https://fantastical.app/aretana-tJ8Q/open-time

[Besides the times there, I could also talk at 11:15am UTC if that helps.]

See comments inline.


Thanks!

Alvaro.


...
> > > > 854 A BGP-LS Producer MAY suppress the advertisement of a Link NLRI,
> > > > 855 corresponding to a half link, from a link-state IGP unless it has
> > > > 856 verified that the link is being reported in the IS-IS LSP or OSPF
> > > > 857 Router LSA by both the nodes connected by that link. This 'two-way
> > > > 858 connectivity check' is performed by link-state IGPs during their
> > > > 859 computation and may be leveraged before passing information for any
> > > > 860 half-link that is reported from these IGPs into BGP-LS. This ensures
> > > > 861 that only those Link State IGP adjacencies which are established get
> > > > 862 reported via Link NLRIs. Such a 'two-way connectivity check' may be
> > > > 863 also required in certain cases (e.g. with OSPF) to obtain the proper
> > > > 864 link identifiers of the remote node.
> > ...
> > > > [major] "A BGP-LS Producer MAY suppress the advertisement of a...half
> > > > link...unless it has verified that the link is being reported [in the
> > > > IGP] by both the nodes connected by that link."
> > > >
> > > > Another way of looking at this option is to require the converse
> > > > behavior: "the BGP-LS Producer MUST NOT suppress...if the two-way
> > > > connectivity has been advertised on the IGP".
> > > >
> > > > I both cases we would be requiring the BGP-LS Producer to perform the
> > > > two-way connectivity check using the IGP information. That seems to
> > > > me to be way outside the scope of BGP (or BGP-LS).
> > > >
> > > > As far as I can tell, the two-way connectivity check is done by the
> > > > IGPs when running SPF, so that result wouldn't be available in the
> > > > LSBD.
> > >
> > > KT> Whether the result of 2-way connectivity check is stored/available in
> > > the LSDB is implementation specific. It is not so that information from
> > > LSAs/LSPs can be simply plucked from a LSDB built from raw IGP PDUs and
> > > advertised into BGP-LS. Information from multiple LSAs/LSPs can
> > > contribute to a single link-state object. This requires additional
> > > processing in the form of collating information into some form of a
> > > topology database (nodes, links, prefixes). Ultimately, it is up to the
> > > implementation how it realizes the LSDB.
> >
> > It looks like we're saying the same thing: the 2-way connectivity
> > information may not be immediately available to BGP-LS. Right?
>
> KT2> It can be available - it depends on how the interface between IGP and
> BGP is implemented. Note that the text does not say "BGP or BGP-LS" but the
> "BGP-LS Producer" - the intention here is reference to the "router" and not
> to a specific protocol component.

What?!   According to §3, the BGP-LS Producer *is* a BGP speaker...


> > My issue with the text above is that it is Normative ("BGP-LS Producer
> > MAY suppress"). The only way to do that is to either expect that the
> > LSDB will provide the information, or to have BGP-LS figure it out. I
> > think we're both saying that neither option is feasible. So, how can
> > the Normative statement be satisfied?
>
> KT2> Please see my previous response and the next one.
>
> >
> > Suggestion: s/MAY/may and add a statement about the mechanism itself
> > to figure out the 2WCC being out of scope.
>
> KT2> The text describes a mechanism - i.e., use/leverage the check performed
> by the IGPs. However, added text in the new section 4 introduced to clarify
> this a bit further.

No, the text doesn't describe anything, it just suggests using
whatever the IGP does, but the interaction is also left out of scope.
We can't have it both ways: normatively depend on a behavior *and*
leave it out of scope.

The test in this section (§5.2.2, quoted above) is not specific about
the mechanism:

   A BGP-LS Producer MAY suppress the advertisement of a Link NLRI,
   corresponding to a half-link, from a link-state IGP unless it has
   verified that the link is being reported in the IS-IS LSP or OSPF
   Router LSA by both the nodes connected by that link.  This 'two-way
   connectivity check' is performed by link-state IGPs during their
   computation and may be leveraged before passing information for any
   half-link that is reported from these IGPs into BGP-LS.  ...

Note that the text implies that the BGP-LS Producer is responsible for
the action (advertisement and verification: "BGP-LS Producer MAY
suppress the advertisement...unless it has verified..."), but also
points at the 2WCC being done by the IGPs ("'two-way connectivity
check' is performed by link-state IGPs").

The new §4 leaves the ability to use/leverage whatever the IGP does
out of scope.

   The design of the interface between IGPs and BGP for the
   advertisement of link-state information is outside the scope of this
   document.  In some cases, the information derived from IGP processing
   (e.g., combination of link-state object from across multiple LSAs/
   LSPs, leveraging reachability and two-way connectivity checks, etc.)
   may be required for advertisement of link-state information into BGP-
   LS.

As I said above, we can't normatively depend on a behavior *and* leave
it out of scope.


Back to the top: as I mentioned, what bothers me the most is the
initial "MAY", so s/MAY/may would solve this issue for me (without
changing the meaning of the rest of the text).  I probably should have
started with this -- the more I read it (and the additional text), the
more I now think that the "MAY" is stating a fact, not a normative
option, which also takes me back to s/MAY/may.



...
> > > > 2358 When a BGP Speaker receives an update message with Link-State NLRI(s)
> > > > 2359 in the MP_REACH_NLRI but without the BGP-LS Attribute, it is most
> > > > 2360 likely an indication that a BGP Speaker preceding it has performed
> > > > 2361 the 'Attribute Discard' fault handling. An implementation SHOULD
> > > > 2362 preserve and propagate the Link-State NLRIs in such an update message
> > > > 2363 so that the BGP-LS Consumers can detect the loss of link-state
> > > > 2364 information for that object and not assume its deletion/withdraw.
> > > > 2365 This also makes it possible for a network operator to trace back to
> > > > 2366 the BGP-LS Propagator that detected the fault with the BGP-LS
> > > > 2367 Attribute.
> > > >
> > > > [major] "SHOULD preserve and propagate"
> > > >
> > > > This is a very useful signal that something went wrong. Why is it
> > > > recommended and not required? When is it ok to not preserve and
> > > > propagate.
> > >
> > > KT> Good point. There is a flip side here. Assume that there were two
> > > BGP-LS Producers for the same link-state object. For some reason, one of
> > > them generated a malformed TLV in the BGP-LS attribute while the other
> > > did not. If we do "treat as withdraw" then that malformed update is gone
> > > and the other will go through. However, if we were to retain with
> > > "attribute discard" then there is no guarantee which of the two updates
> > > would go through.
> >
> > I still don't understand. When is it ok to not "preserve and
> > propagate the Link-State NLRIs" (after another node used "attribute
> > discard")? I'm not sure if you're arguing for "MAY preserve and
> > propagate".
>
> KT2> The discard (or absence) of BGP-LS Attribute does not affect its
> eligibility for best path selection. Hence, it would get propagated further
> w/o the BGP-LS attribute. Please also see my next response - this was just
> for discussion and no change to text is proposed.

Right...so you're saying that propagating the route (after removing
the BGP-LS Attribute) is a good thing.

The question is: why is that behavior not required?  If it is only
recommended, when is it ok to decide not to propagate?