[Idr] Re: AD review of draft-ietf-idr-bgp-ls-sr-policy-13

Ketan Talaulikar <ketant.ietf@gmail.com> Thu, 27 February 2025 06:46 UTC

Return-Path: <ketant.ietf@gmail.com>
X-Original-To: idr@mail2.ietf.org
Delivered-To: idr@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id E6CFD28E307; Wed, 26 Feb 2025 22:46:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 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, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietfa.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietfa.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2bBFiYHG8cpa; Wed, 26 Feb 2025 22:46:52 -0800 (PST)
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com [IPv6:2607:f8b0:4864:20::634]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 13E4428E2CD; Wed, 26 Feb 2025 22:46:52 -0800 (PST)
Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-221057b6ac4so8498815ad.2; Wed, 26 Feb 2025 22:46:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740638811; x=1741243611; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=/bOA1cXSd5I1OebEbQAXZ6eBrAFZRfhiflYrUoG+QeQ=; b=DzzSY4bfVPrDyyES3B+C+C4h/rCZd4jW6Hr+oJSIcB4i6jidVkavOy23nwyAuYbW7o 331/asJoaN5sBiXehlJMpgiHacnmkY5cIRyuWQMRSVKgNXxoBV7Knj8fo3SRYtxcZGzW +nYNGrB2mzkP2iiQL6+WY0YMvfyxH3tOorpXZRShsjtqWX0yrpJGKsr7D8daJVj9cUOH 2o4aFskziHc/nRcmb5y40D8jayIfOY0Xrp1WhTDvDRnViXq3Kv6JV6wRVizhiGdeMxuy VjE9SDwERDSQTHoRgwcMQXPyzP0hIVveSJ/6P6dfrPOQgjLOEIyc2bIYwCyEYIhJFvPP ogXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740638811; x=1741243611; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/bOA1cXSd5I1OebEbQAXZ6eBrAFZRfhiflYrUoG+QeQ=; b=VP/xkJoOB1cukUyL7+iIK8Y+dFBcOGZD+o9AVHmVhc5CIeel7AnVwF3Ngew4eNcTYr PfvQ3w0BBj39hm/N4uqLgIHw3GnzCRhF9Vp/gFDbwb9AgoMmCyntEzkhH3RpUbgzV83i 68/UExCU0myPBJ7dieYogxs1iomns7XBxQgDecd771EiOZQqFfnNvuajagchVJREeiRw 1OtAezVQbLwj3YIsQPnC8p+kwHonP13RPSVxxwCLt3ecxS2jYvazPgnTaNqs4rAyf6UK sgAbcTpWftYUA+Gz0TOM7xpar3gL2iOt26Fs8HifWfYIdi9xN0rxHNSsCdydnW2RDyxv S5iA==
X-Forwarded-Encrypted: i=1; AJvYcCW/TeBYN+s5+S03DXrQvFQXftJprlT3E6jKAaptHA7T0WECrtoL8elaij43PqRNj25lXmo=@ietf.org
X-Gm-Message-State: AOJu0YyYI6hoA8NkfGwYiYs1tDuPsPRVZ0a/zU+TmrrJt5Y/xsgkb6Lk bU64x8kE9HvWs3Ucp3n1M/x9K89m+Slnmz2Q+xCt2vRNrYBP09Pim+zB+NotCrcA+5RKcOE+s7l J0Bs0Hr8EupO6S3XBrDOOsbgdTDf8lDLf
X-Gm-Gg: ASbGncuVS3OAjWFAgLx9HrAoieDkNF/ezqaPGScXIty/EPdxmIkubxxq+pD2x4ybqLH 5h+lKqORb92ehcrTXKMsNfOkSYC9Xwd9jAaZ5eBAUgect+gHlNQhoUW+d1N7L9p4qlgxDs6/5ce UXwiZKdsAA91RP86iMxB+4x8Yi6llkq/ULfwfHla+i
X-Google-Smtp-Source: AGHT+IE/8kr9iMYA2c9WZMerkkjybJy+ZYU1AJhIYAcjo8xJ/faXgH+qcHHKeLYNMEmTfx/SIJSEwvSRe8RysPuwgQk=
X-Received: by 2002:a17:903:3bac:b0:223:58ff:c722 with SMTP id d9443c01a7336-22358ffcb0amr6619055ad.28.1740638810852; Wed, 26 Feb 2025 22:46:50 -0800 (PST)
MIME-Version: 1.0
References: <51343555-C212-441E-AF48-9F9900C73496@juniper.net> <CAH6gdPz+x0t5WuNRCC+aDHYACgX1YUfDU6tuLHPiww7mT3qxHg@mail.gmail.com> <B3924657-5062-4917-9073-365DE498B8DA@juniper.net>
In-Reply-To: <B3924657-5062-4917-9073-365DE498B8DA@juniper.net>
From: Ketan Talaulikar <ketant.ietf@gmail.com>
Date: Thu, 27 Feb 2025 12:16:38 +0530
X-Gm-Features: AQ5f1JqrE05dEP4Crnn3gYr2uLWgaYnrBL3RES6NCHAwemMwdfBT-l-k0BkRbFU
Message-ID: <CAH6gdPzLzwJJmFtKOyWXRqajP4YTo-nk29t4L++ZFwMzmmUsnQ@mail.gmail.com>
To: John Scudder <jgs@juniper.net>
Content-Type: multipart/alternative; boundary="00000000000000d632062f1a0eac"
Message-ID-Hash: BT3YHOQCFWVUFWYK5T7HVSZBMCIP5UAI
X-Message-ID-Hash: BT3YHOQCFWVUFWYK5T7HVSZBMCIP5UAI
X-MailFrom: ketant.ietf@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-idr.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "draft-ietf-idr-bgp-ls-sr-policy@ietf.org" <draft-ietf-idr-bgp-ls-sr-policy@ietf.org>, "idr@ietf.org" <idr@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Idr] Re: AD review of draft-ietf-idr-bgp-ls-sr-policy-13
List-Id: Inter-Domain Routing <idr.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/EwjCtuO-ZdglaEt_Xy7VYkoiAXo>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Owner: <mailto:idr-owner@ietf.org>
List-Post: <mailto:idr@ietf.org>
List-Subscribe: <mailto:idr-join@ietf.org>
List-Unsubscribe: <mailto:idr-leave@ietf.org>

Hi John,

Thanks for your responses. Please check inline below for further
clarifications with KT2


On Thu, Feb 27, 2025 at 7:08 AM John Scudder <jgs@juniper.net> wrote:

> Hi Ketan,
>
> This mostly looks fine. I have a few residual points below; trimmed for
> brevity, cuts indicated by ellipses.a
>
> On Feb 17, 2025, at 7:08 AM, Ketan Talaulikar <ketant.ietf@gmail.com>
> wrote:
>
> Hi John,
>
> Thanks for sharing the next part of your document review and suggestions.
> Please check inline below for responses.
>
> We've also posted an update with the changes as discussed below:
> https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-ls-sr-policy-14
> <https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-ls-sr-policy-14__;!!NEt6yMaO-gk!GcANokg-oBRf06lI8IW_5LhkGS9mnhtDdT7LLCGeMKWznZ9hGnIZqr3veu4jWXSVJJMXZZ6z4NcGjZ5Few$>
>
>
> On Sat, Feb 15, 2025 at 8:34 AM John Scudder <jgs@juniper.net> wrote:
>
> ...
>
> @@ -1406,7 +1429,27 @@
>>        identifier for a set of disjoint paths.  A PCEP Association Object
>>        [RFC8697] (including its optional TLVs) MAY also be advertised to
>>        convey the disjoint group identifier.
>> ++--
>> +jgs: I'm a little lost at sea here.
>>
>> +First: The diagram shows this as "Disjoint Group Identifier" but here
>> +you call it "Disjointness Group Identifier". Please pick one.
>>
>
> KT> Fixed
>
>
>> +
>> +Second: The diagram says "(variable)" for size but here you say it's
>> +four octets. Which is it? I'm guessing 4-octet is right, in which case
>> +please fix the diagram.
>> +
>>
>
> KT> It is a 4-octet value unless the path was set up via PCEP in which
> cases the PCEP Association Object (and its TLVs) can be reported.
>
>
> Oh! You’re saying that I can embed a PCEP Association Object in this
> field? If so that was not at all clear to me and I think we need an update,
> something like,
>
> OLD:
>    *  Disjoint Group Identifier: 4-octet value that is the group
>       identifier for a set of disjoint paths.  A PCEP Association Object
>       [RFC8697] (including its optional TLVs) MAY also be advertised to
>       convey the disjoint group identifier.
>
> NEW:
>    *  Disjoint Group Identifier: 4-octet value that is the group
>       identifier for a set of disjoint paths.  Alternatively, this field
>       MAY contain a PCEP Association Object
>       [RFC8697] (including its optional TLVs).
>
> Is that what you mean?
>

KT2> Yes. I've updated with your suggested text that is more clear.


>
> Some other things:
>
> - Please add the section reference (Section 6) to the RFC 8697 xref,
> unless there’s some reason not to.
> - I assume you mean exactly the Association object depicted in 8697 §6
> Figures 3 and 4, reserved field, flags, and all.
>

KT2> Yes, section 6.1 to be precise (now added in the reference). Yes, it
includes the entire object.


> - If so, what’s the receiver meant to do if it gets an R flag? (Not to
> mention any future TBD flags.)
> - If not, and there are restrictions on the content or semantics of the
> object compared to what’s in 8697, please detail what the valid profile of
> the object is.
>

KT2> I assume you mean the BGP-LS Consumer when you say "receiver" because
BGP-LS Speakers do not need to do semantic validation of the TLV contents.
The specifications of the actions of BGP-LS Consumers is outside the scope
of BGP-LS documents. However, if we keep that aside, and specifically talk
about the R flag, it is something between the PCC and the PCE - while in
this case we are providing information from the network to controllers and
so the R flag will most likely be ignored. If the LSP is removed from the
association group, there will be a follow-on update. This is based on my
limited knowledge of PCEP so I may be wrong.


>
> ...
>
> @@ -1535,9 +1607,14 @@
>>     *  Length: 12 octets
>>
>>     *  Metric Type: 1-octet field which identifies the type of the metric
>> -      being used.  The Table 1 below lists the metric types introduced
>> +      being used.  Table 1 below lists the metric types introduced
>>        by this document along with reference for each.  The reference is
>>        to IS-IS (equivalent also exist for OSPF) specifications where
>> ++--
>> +jgs: This doesn't appear to be anywhere close to specific enough. Please
>> +provide a reference for OSPF as well. For that matter, is there any
>> +reason not to cover both OSPFv2 and OSPFv3?
>> ++--
>>
>
> KT> This document is following the BGP-LS (RFC 7752, 9552) convention of
> providing IS-IS references instead of all 3 protocols (as OSPFv2 and OSPFv3
> are separate) for every metric type. This has been good enough for
> implementers to identify the equivalent for OSPF.
>
>
> Against my instincts, I am going to accept this, even though it sounds a
> great deal like “all my friends jumped off the bridge so I’m going to jump
> off, too”. In general, I think it is best if our specifications need a
> minimum of interpretation (“creativity”) on the part of the implementor.
>

KT2> I understand. In this case, I tried to follow the "norm" while in some
other BGP-LS documents I've tried to elaborate for all 3 IGPs (it is not
exactly the same but please check
https://www.rfc-editor.org/rfc/rfc9085.html#section-2.3.2 for something on
similar lines). In that latter case, it will not be in a table form but as
a bullet list. Let me know if you feel strongly about this and I will make
that change.


>
>
>
>>        those metric types are defined for a link while in the SR Policy
>>        context those relate to the candidate path or the segment list.
>>        The metric type code points that may be used in this sub-TLV are
>> @@ -1575,6 +1652,14 @@
>>        | Point |    Metric Type     |         Reference               |
>>        +-------+--------------------+---------------------------------+
>>        |  0    | IGP                | [RFC5305] Section 3             |
>> ++--
>> +jgs: Even in the IS-IS context (never mind my OSPF related complaints)
>> +this doesn't appear specific enough. Looking at RFC 5305 Section 3, I
>> +see at least two different things called "metric", the "default metric"
>> +and the "TE Default metric". This feels like a place where the
>> +implementor is being invited to use their creativity, which is not
>> +something our specs should do.
>> ++--
>>
>
> KT> Does it help if we say section 3.0 instead of 3?
>
>
> Not at all. There’s no defined meaning for “3.0”. We have a regrettable
> ambiguity created by the way we use sections/subsections in our document
> set. Please revert to “Section 3” which is less bad. I think the “default
> metric” clarification in version 14 covers you sufficiently, but I’ll leave
> it to you to decide if it’s worth excluding the subsections; if so you
> could use the wordy, but unambiguous, “Section 3 (but not its subsections)”.
>

KT2> OK. I will revert the 3.0 to 3.


>
> There is already a reference to section 3.7 for the TE metric. That said,
> added text to clarity that IGP and TE metric are called as "default metric"
> and "TE default metric" in the IS-IS references so as to address the
> concerns that you have raised.
>
>
>>        |  1    | Min Unidirectional | [RFC8570] Section 4.2           |
>>        |       | Delay              |                                 |
>>        |  2    | TE                 | [RFC5305] Section 3.7           |
>> @@ -1592,6 +1677,10 @@
>>        +-------+--------------------+---------------------------------+
>>
>>                     Table 1 BGP-LS SR Policy Metric Types
>> ++--
>> +jgs: I think all the above have to be normative references since they
>> +provide the necessary details about the respective values.
>> ++--
>>
>
> KT> Ack - made them normative.
>
>
>>
>>     *  Flags: 1-octet field that indicates the validity of the metric
>>        fields and their semantics.  The following bit positions are
>> @@ -1641,7 +1730,25 @@
>>        metric to accommodate for other factors such as bandwidth
>>        availability, minimal SID stack depth, and maximizing of ECMP for
>>        the SR path computed.
>> ++--
>> +jgs: This might be a place where I am running afoul of lack of domain
>> +knowledge, but I would have assumed we desire to minimize some metrics
>> +(e.g. latency) but maximize others (say, bandwidth). Above you're
>> +implying we want only to maximize metrics (you talk about "minimum
>> +metric"). Does this make sense in some context that pertains to this
>> +spec?
>>
>
> KT> Not all metrics are additive. There was originally a discussion on
> this topic in the SR Policy Architecture document that went on to be
> published as RFC9256. However, per the WG and chairs feedback that these
> topics were well-known and established in the realm of TE, they were
> removed to another document that was not picked up by the SPRING WG -
> https://datatracker.ietf.org/doc/html/draft-filsfils-spring-sr-policy-considerations-09#section-3.1
> <https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/draft-filsfils-spring-sr-policy-considerations-09*section-3.1__;Iw!!NEt6yMaO-gk!GcANokg-oBRf06lI8IW_5LhkGS9mnhtDdT7LLCGeMKWznZ9hGnIZqr3veu4jWXSVJJMXZZ6z4NcCjlVlcw$>
> ... if we step back, this draft is a specification for reporting and not
> path computation.
>
>
> You say “not all metrics are additive”. Indeed. But the text in question
> implies several things, contradictory ones at that. "The metric margin
> loosens the criteria for minimum metric path calculation up to the
> specified metric”:
>
> - “Minimum” implies that a metric MUST be greater than or equal to the
> given value
> - “Up to” implies “the metric MUST be less than or equal to the given value
>
> Oops. Maybe we can discuss offline what it is you really want to express
> here, and come up with some replacement text. (Or you can school me on why
> I’m confused. :-)
>

KT2> Indeed, it looks like this needs a discussion. We can circle back on
this thread once we have concluded.


>
>
>
>>
>> +Related, "loosens the criteria... up to the specified metric" and so on
>> +seems insufficiently precise. That is to say, is the effective metric...
>> +the specified metric plus the margin? Minus? Plus-or-minus?
>> +
>>
>
> KT> We cannot preclude which metric types are introduced in the future -
> some may have higher values are better while others where lower values are
> better. This is left to the specification of the particular metric type.
>
>
> Sure. See above for why I think the text as written isn’t achieving the
> goals you’ve described above. Let’s discuss offline.
>

KT2> Ack


>
>
>
>> +Come to think of it, I don't know what the "computed path metric" is,
>> +which means I don't know what I'm supposed to apply the percentage to.
>> +I guess maybe I don't need to, precisely, it just means the effective
>> +metric is equal to the specified metric times (1 + percentage value/100)
>> +(or maybe it's +/-).
>> ++--
>>
>
> KT> That depends on the metric type. The point is that instead of getting
> the "lowest", it may be OK to get something that is 25% higher but meets
> other criteria.
>
>
> Again, that’s fine but I think the text could be clearer; again, let’s
> discuss.
>

KT2> Ack


>
> ...
>
> @@ -1948,9 +2064,35 @@
>>    +------+-------------------------------------------------------------+
>>
>>                      Table 2  SR Segment Types
>> ++--
>> +jgs: It makes me sad that we're defining a new registry that appears to
>> +need to be kept in sync with
>> +
>> https://www.iana.org/assignments/segment-routing/segment-routing.xhtml#segment-types
>> <https://urldefense.com/v3/__https://www.iana.org/assignments/segment-routing/segment-routing.xhtml*segment-types__;Iw!!NEt6yMaO-gk!GcANokg-oBRf06lI8IW_5LhkGS9mnhtDdT7LLCGeMKWznZ9hGnIZqr3veu4jWXSVJJMXZZ6z4NfHWmAwzQ$>
>>
>> +Is there a good reason this can't/shouldn't be a new column in the
>> +existing Segment Types registry? Beyond the obvious desire to avoid
>> +duplication, unifying the registries might also offer a helpful hint to
>> +people defining new Segment Types that they should also not forget to
>> +define a new Segment Descriptor.
>> ++--
>>
>
> KT> Good point. This one can still be augmented within the SR Parameters
> registry group. However, we cannot do that for BGP SR Policy SAFI (the
> southbound protocol) - see
> https://www.ietf.org/archive/id/draft-ietf-idr-sr-policy-safi-13.html#section-6.5
> <https://urldefense.com/v3/__https://www.ietf.org/archive/id/draft-ietf-idr-sr-policy-safi-13.html*section-6.5__;Iw!!NEt6yMaO-gk!GcANokg-oBRf06lI8IW_5LhkGS9mnhtDdT7LLCGeMKWznZ9hGnIZqr3veu4jWXSVJJMXZZ6z4NcTKwtvAQ$>
> and we cannot also do that for similar things in PCEP. Please let me know
> if you still feel strongly about putting only the BGP-LS code points in the
> SR Parameters registry group.
>
>
> Let’s make this a topic to discuss also.
>

KT2> Ack

Thanks,
Ketan


>
> Thanks,
>
> —John
>
>