[spring] Re: WGLC Chair review of draft-ietf-spring-bfd-12

Alvaro Retana <aretana.ietf@gmail.com> Fri, 13 December 2024 16:40 UTC

Return-Path: <aretana.ietf@gmail.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F2C54C1DFD42; Fri, 13 Dec 2024 08:40:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.104 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, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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 gVbcguugGpvn; Fri, 13 Dec 2024 08:40:11 -0800 (PST)
Received: from mail-yb1-xb30.google.com (mail-yb1-xb30.google.com [IPv6:2607:f8b0:4864:20::b30]) (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 ietfa.amsl.com (Postfix) with ESMTPS id 207A6C1DFD25; Fri, 13 Dec 2024 08:39:56 -0800 (PST)
Received: by mail-yb1-xb30.google.com with SMTP id 3f1490d57ef6-e398273d6ffso1296164276.0; Fri, 13 Dec 2024 08:39:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734107995; x=1734712795; darn=ietf.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=zsBxUZVzj1BiCxgE5e2Yhg9yDt+duuCeLSHHmrHEh18=; b=lq0mlCfz0HXhEzl5OCFA7DQTskRdJnqOo40E+s0p/npm/ZorYqChsASkD1w3ZxYIpk UR6my+DZcAPHEEdDhFza8JHgoCosD56UWL0dsb2tcYo6sWsmSvthAnMYFd/HTFXIb1LC Qx+KHOtvf19Fy7zqC3RohQB02k84e2HFTIOzWsZ1XXjlEPHeBTmOM+imrvoqYeYoSbi5 WG8+cZyXRHE4ZJFa34PtlEM+nPWZn21CkS8/Litf0py+/OHTGZIEA5L1xYVNg1RARl5n o/XnpHAPitGAkX+TWLAMj7DFy3DJ7w3hMks6gjUzV912rzZwOGMfhFigCV/8FMsiw9yr U/aw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734107995; x=1734712795; h=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=zsBxUZVzj1BiCxgE5e2Yhg9yDt+duuCeLSHHmrHEh18=; b=uq+2y/nlbS3mytdJrxicAEBM6kXtHm+BaaFA61pKxOE2Xyg2xEibHC3x1Jyp6afWGO QAr/XN15o4c3/xQQunLBaMjVIUk93e9vPQP+S13ja/Btf+GhMR8Pdpdo4TW925EmMsco IscJLtbdr7xkmYFkkTcE8HwD1jDi4xL7CNlbkMu0LOPPar2jvm8/lWz0gyVizXLP0PZH pSL3QWqZ9Mp9B9MUNDVHn6XsNlaPXfGhX2RPfNVE4WZBCFYEMcHL0sXez+M0B/e6H4pw Evmx1OpW7OAmw7k1sS42KEOgfRMxjDy/z/RDLz0w6SuZH7pcYFETOhYXjl9PS4lU9MCE FgZw==
X-Forwarded-Encrypted: i=1; AJvYcCULPSx01CHLbWwfuNoviVDabuAG+ipnvDsoyKf992SPcKFJ0nCKaBsM/p35Ov5+eh01l2RC@ietf.org, AJvYcCUfLD+O4aJhlx0Sui8sv3Vly+BiEQcIQ2NFfSdps7kVlR2tLhjGRsdHh70hmGKtsj+G2Msqc/e7YQ==@ietf.org, AJvYcCWyaokzJM46KgA/641xzWFfCv/vofH+OIQcIPMnRkr/BvmHlITvjcXZI7oaDPw9jfij22wvhZ041+jwzNc+7A==@ietf.org, AJvYcCXKy7K62eQWVszO/ks7JAyKr7a5ugx81WfsQbvZAyv7cQzE1SnhX/tsfsaQ3pxi6GvudZAXaSlh@ietf.org
X-Gm-Message-State: AOJu0YwnGqyNGQZvH5ZeKiQ+JArK35fcErs9yhJCnRhYUJUwMTt4dgxt 8bMz6+lrz20XLhLoqysB2wDQr3/YJllL7Gtg1gBu2dNBLQIONU0sMxnkWH9aMQW59syb8FZh49M BtjWe4se4qKFQ6HnW3qvciUjc2hHUjEuF
X-Gm-Gg: ASbGncvop9OxdGj9nHTYCbKTUC6YyFFydx3Rmf6KHFuDWXGrm9MleoMHlD7vI6RHkAj 9BNu0kwGYMGbmGZbL9FGdiaY0NNUIhAPYQY84KxBYEYPX3bYUSkDvq+EJE0XALMkOtADJkLNK
X-Google-Smtp-Source: AGHT+IFFD2xlLfpuxth+Xk9qAoO8jLp7mC6VusyGCHyA26oOhcoU0qbAoEjjSM5RaU6lqJrA5ROnXpvWm3fZb34If8I=
X-Received: by 2002:a05:6902:1b8b:b0:e30:d89f:1342 with SMTP id 3f1490d57ef6-e434b4af5f0mr2824962276.24.1734107994726; Fri, 13 Dec 2024 08:39:54 -0800 (PST)
Received: from 1058052472880 named unknown by gmailapi.google.com with HTTPREST; Fri, 13 Dec 2024 16:39:54 +0000
From: Alvaro Retana <aretana.ietf@gmail.com>
In-Reply-To: <CAMMESsyA6EUOdzXKA5QY_vmMCaWSZJcwMRcvVkXUyF_ZH0TuNQ@mail.gmail.com>
References: <CAMMESsyA6EUOdzXKA5QY_vmMCaWSZJcwMRcvVkXUyF_ZH0TuNQ@mail.gmail.com>
MIME-Version: 1.0
Date: Fri, 13 Dec 2024 16:39:54 +0000
Message-ID: <CAMMESsy9EOQt=KifyDXEq3dmc4KeqxyjxX04shAbgvrptZ0LGQ@mail.gmail.com>
To: draft-ietf-spring-bfd@ietf.org
Content-Type: multipart/alternative; boundary="000000000000072a720629297bd9"
Message-ID-Hash: BPUNKSEDAU5UG6EVZT46O5GDB2XHA5Q2
X-Message-ID-Hash: BPUNKSEDAU5UG6EVZT46O5GDB2XHA5Q2
X-MailFrom: aretana.ietf@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-spring.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Ketan Talaulikar <ketant.ietf@gmail.com>, "spring-chairs@ietf.org" <spring-chairs@ietf.org>, IETF MPLS List <mpls@ietf.org>, rtg-bfd@ietf.org, SPRING WG <spring@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [spring] Re: WGLC Chair review of draft-ietf-spring-bfd-12
List-Id: "Source Packet Routing in NetworkinG (SPRING)" <spring.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/q-Dpq-Kla_EbKr2DP8VaqNW8Y2E>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spring>
List-Help: <mailto:spring-request@ietf.org?subject=help>
List-Owner: <mailto:spring-owner@ietf.org>
List-Post: <mailto:spring@ietf.org>
List-Subscribe: <mailto:spring-join@ietf.org>
List-Unsubscribe: <mailto:spring-leave@ietf.org>

 FYI — in case the review is truncated, the full review is in the archive:
https://mailarchive.ietf.org/arch/msg/spring/AOOQjydEU3xxZwqEYihoDyVjD2c/

On December 13, 2024 at 11:38:09 AM, Alvaro Retana (aretana.ietf@gmail.com)
wrote:


Dear authors:

In parallel with the WGLC, here's my review of this document.  Please
consider the comments with other WGLC input you may receive.

Thanks!

Alvaro.


[Line numbers from idnits.]

...
18 Abstract

20   Segment Routing (SR) architecture leverages the paradigm of source
21   routing.  It can be realized in the Multiprotocol Label Switching
22   (MPLS) network without changing the data plane.  Bidirectional
23   Forwarding Detection (BFD) is expected to monitor a segment list,
24   representing a specific source-routed SR Policy path between the
25   headend and an endpoint.  This document describes using BFD for
26   monitoring individual segment lists of candidate paths of an SR
27   Policy.  It documents the use of various BFD modes and features such
28   as BFD Demand mode, Seamless BFD, and BFD Echo function with the BFD
29   Control packet payload in the SR-MPLS domain.  Also, this document
30   defines how to use Label Switched Path Ping to bootstrap a BFD
31   session, with optional control of selecting a segment list in the
32   reverse direction of the BFD session.

[nit] s/Segment Routing (SR) architecture/The Segment Routing (SR)
architecture


[nit] "(BFD) is expected to monitor"

I don't think that expectation is expressed anywhere (outside this draft).
Given that the next sentence talks about what this draft describes and that
the expectation is only called out here, we can live without this sentence
in the Abstract.



...
64 Table of Contents
...
76   4.  Applicability of BFD Demand Mode in SR-MPLS Domain  . . . . .   7
77   5.  Using BFD to Monitor Point-to-Multipoint SR Policy  . . . . .   8
78   6.  Use of Echo BFD in SR-MPLS  . . . . . . . . . . . . . . . . .   8
79   7.  Use of S-BFD in SR-MPLS . . . . . . . . . . . . . . . . . . .   9

[minor] This document describes several BFD options. What should an
operator consider when selecting one over another?  For example, are there
differences related to the number of sessions?  It would be nice if there
were a short section talking about the pros/cons.



...
93 1.  Introduction

95   [RFC5880], [RFC5881], and [RFC5883] defined the operation of
96   Bidirectional Forwarding Detection (BFD) protocol between the two
97   systems over IP networks.  [RFC5884] and [RFC7726] set rules for
98   using BFD Asynchronous mode over point-to-point (p2p) Multiprotocol
99   Label Switching (MPLS) Label Switched Path (LSP).  These latter
100   standards implicitly assume that the remote BFD system, which is at
101   the egress Label Edge Router (LER), will use the shortest path route
102   regardless of the path the BFD system at the ingress LER uses to send
103   BFD Control packets towards it.  Throughout this document, references
104   to ingress LER and egress LER are used, respectively, as a shortened
105   version of the "BFD system at the ingress/egress LER".

[nit] s/defined the operation/define the operation


[nit] s/operation of Bidirectional Forwarding Detection (BFD) protocol
between/

operation of the Bidirectional Forwarding Detection (BFD) protocol between

OR

operation of Bidirectional Forwarding Detection (BFD) between


[nit] s/between the two systems/between two systems


[minor] "will use the shortest path route" -- for what?

This phrase seems incomplete: "to respond", or "sent xxx back"...



[minor] "Throughout this document..."  Maybe better suited for the
Terminology section.



107   [RFC9256] defines the SR Policy architecture.  When analyzing the
108   applicability of a BFD-based mechanism for detecting network failures
109   in a Segment Routing domain, it is essential to identify the SR
110   Policy elements monitored by the BFD.  Concluding from the definition
111   of BFD in [RFC5880], in an SR domain, BFD, in its modes and
112   functions, monitors not the SR Policy, as defined in [RFC9256], but a
113   segment list that is a constituent of the candidate path of the
114   particular SR Policy.  That is the context used throughout the
115   document.

[nit] s/identify the SR Policy elements monitored by the BFD/identify the
monitored SR Policy elements


[major] "Concluding from the definition of BFD in [RFC5880], in an SR
domain, BFD, in its modes and functions, monitors not the SR Policy, as
defined in [RFC9256], but a segment list that is a constituent of the
candidate path of the particular SR Policy.  That is the context used
throughout the document."

I had to read the first sentence several times; it is more complex than it
should be.

Instead of asking which definitions of BFD and "SR Policy" you're referring
to or pointing at the fact that rfc5880 doesn't talk about SR, I'm assuming
these two sentences intend to set the context.

Suggestion>

   In this document, BFD is used to monitor a segment list that is a
   constituent of a candidate path of a particular SR Policy.

This suggestion is similar to the text in the next paragraph, so I would be
equally happy if you just removed the last two sentences above.


117   This document describes the use of BFD for monitoring individual
118   segment lists of candidate paths of an SR Policy.  It documents the
119   use of various BFD modes and features such as BFD Demand mode,
120   Seamless BFD, and BFD Echo function with the BFD Control packet
121   payload. in the SR-MPLS domain.  Also, this document defines the use
122   of LSP Ping for Segment Routing networks over the MPLS data plane
123   [RFC8287] to bootstrap and control path of a BFD session from the
124   egress LER to the ingress LER using Segment Routing segment list with
125   MPLS data plane (SR-MPLS).

127 1.1.  Conventions

129 1.1.1.  Terminology
...
139   SR-MPLS Segment Routing with MPLS data plane
140   LSP: Label Switched Path

[nit] Some entries have a colon, and some don't.



...
162 2.  Initialization of a BFD Session Over a Segment List with MPLS Data
163    Plane

165   Use of an LSP Ping to bootstrap BFD over an MPLS LSP is required, as
166   documented in [RFC5884], to establish an association between a fault
167   detection message, i.e., BFD Control message, and the Forwarding
168   Equivalency Class (FEC) of a single label stack LSP in case of
169   Penultimate Hop Popping or when the egress LER distributes the
170   Explicit NULL label to the penultimate hop router.  The Explicit NULL
171   label is not advertised as a Segment Identifier (SID) by an SR node
172   but, as demonstrated in section 3.1 [RFC8660] if the operation at the
173   penultimate hop is NEXT; then the egress SR node will receive an IP
174   encapsulated packet.  Furthermore, even if the endpoint receives an
175   MPLS encapsualted packet, the top label might be an Adjacency SID or
176   Prefix SID which doesn't provide the context for the SR segment list.
177   Thus the conclusion is that LSP Ping MUST be used to bootstrap a BFD
178   session in an SR-MPLS domain if there are no other means to bootstrap
179   the BFD session, e.g., using an extension to a dynamic routing
180   protocol as described in [RFC9026] and [RFC9186].

[minor/major] Wow!  Many of the sentences (in this paragraph and elsewhere
in the draft) are long and convoluted -- making the text hard to understand
and prone to misinterpretation.  The sentences above are prime examples. :-(

To illustrate...  "Use of an LSP Ping to bootstrap BFD over an MPLS LSP is
required, as documented in [RFC5884], to establish..."  Is the use of LSP
Ping required by rfc5884, or is the behavior in rfc5884 required (by this
document), or are you simply saying that rfc5884 requires the use of LSP
Ping to establish... ?

If rfc5884 is a document that "must be read to understand or implement the
technology" [1] in this draft, you don't need to include all the
background.  But listing it as a Normative reference is enough.

[1]
https://datatracker.ietf.org/doc/statement-iesg-iesg-statement-normative-and-informative-references-20060419/


The conclusion in the last sentence is the only piece that is needed.
However, I believe the "MUST" should be changed to a "SHOULD" given that
there are alternatives.

Suggestion (for the whole paragraph)>

   LSP Ping SHOULD be used to bootstrap the BFD sessions [RFC5884]
   unless other means are available, e.g., using an extension to a
   dynamic routing protocol as described in [RFC9026] and [RFC9186].



182   As demonstrated in [RFC8287], the introduction of Segment Routing
183   network domains with an MPLS data plane requires three new sub-TLVs
184   that MAY be used with Target FEC TLV [RFC8029].  Section 6.1
185   addresses the use of the new sub-TLVs in Target FEC TLV in LSP ping
186   and LSP traceroute.  For the case of LSP ping, the [RFC8287] states
187   that:

189      The initiator, i.e., ingress LER, MUST include FEC(s)
190      corresponding to the destination segment.

192      The initiator MAY include FECs corresponding to some or all of
193      segments imposed in the label stack by the ingress LER to
194      communicate the segments traversed.

[major] Several points...starting with: I don't understand the value of
mentioning the details of what other RFCs specify.  The same can be
obtained by Normatively referencing them or otherwise pointing at specific
sections (if needed).

rfc8287 specified (didn't "demonstrate") the new sub-TLS.

The "MAY" is out of place because that normative behavior is specified in
rfc8287 and not here.  You can either quote the text or paraphrase it (for
example, "the use of the new sub-TLVs is optional [RFC8287]").

There is no "Section 6.1" in rfc8287; you probably refer to §7.1.

To all this...why do you need to include this text in this draft?  There's
no statement related to how this text is used in the context of this
draft.  Maybe all you need is text such as: "The procedures specified in
[RFC8287] for using LSP Ping with an MPLS data plane MUST be used."



196   It has been noted in [RFC5884] that a BFD session monitors for
197   defects particular <MPLS LSP, FEC> tuple.  [RFC7726] clarified how to
198   establish and operate multiple BFD sessions for the same <MPLS LSP,
199   FEC> tuple.  Because only the ingress LER is aware of the SR-based
200   explicit route, the egress LER can associate the LSP ping with BFD
201   Discriminator TLV with only one of the FECs it advertised for the
202   particular segment.  Thus this document clarifies that:

204      When LSP Ping is used to bootstrapping a BFD session for SR-MPLS
205      segment list the FEC corresponding to the last segment to be
206      associated with the BFD session MUST be as the very last sub-TLV
207      in the Target FEC TLV.

[major] Again, multiple comments...

Because rfc7726 Updates rfc5884, you don't need to mention the whole story.

What do you mean when you say, "this document clarifies…"?  Are you saying
it in the same way that rfc7726 clarified rfc5884?  Or are you specifying a
behavior in the context of this document?

As to the clarifying text, I now see that the "clarification" is really an
addition to the text in §7.1/rfc7726 related to Ping -- right?  If so, and
assuming that the Normative text should read "MUST be the very last" (and
not "MUST be as the very last"), what is new?  The text in §7.1/rfc7726
already requires a FEC for the destination segment, which I assume to be
the last one...  What am I missing?


[major] What if the last/destination segment is a BSID?  I don't think
there's a FEC defined for that...even if it should be possible to monitor
the SL, at least up to that point.  Is this case not supported?



209   Encapsulation of a BFD Control packet in Segment Routing network with
210   MPLS data plane MUST follow Section 7 [RFC5884] when the IP/UDP
211   header used and MUST follow Section 3.4 [RFC6428] without IP/UDP
212   header being used.

[nit] s/the IP/UDP header used/an IP/UDP header is used


[nit] s/without IP/UDP header being used/if the IP/UDP header is not used



214 3.  Using BFD Reverse Path TLV over SR Policy's Segment List

216   For BFD over MPLS LSP case, per [RFC5884], egress LER MAY send BFD
217   Control packet to the ingress LER either over IP network or an MPLS
218   LSP.  Similarly, for the case of BFD over p2p SR-MPLS segment list,
219   the egress LER MAY route BFD Control packet over the IP network, as
220   described in [RFC5883], or transmit over a segment list, as described
221   in Section 7 [RFC5884].  In some cases, there may be a need to direct
222   egress LER to use a specific path for the reverse direction of the
223   BFD session by using the BFD Reverse Path TLV and following all
224   procedures as defined in [RFC9612].

[major] "For BFD over MPLS LSP case, per [RFC5884], egress LER MAY send BFD
Control packet to the ingress LER either over IP network or an MPLS LSP."

This behavior is already specified in RFC5884, so there should be no
Normative language here -- unless it is to point at the other RFC in
general.  Also, note that the text above makes sending optional ("MAY
send”), not the election.

Suggestion>

   For the BFD over MPLS LSP case, the egress LER SHOULD send BFD
   Control packets to the ingress LER either based on the destination
   IP address or encapsulated in an MPLS label stack as specified in
   [RFC5884].


[major] "Similarly, for the case of BFD over p2p SR-MPLS segment list, the
egress LER MAY route BFD Control packet over the IP network, as described
in [RFC5883], or transmit over a segment list, as described in Section 7
[RFC5884]."

Same comment as above about the "MAY": it makes sending optional.

I couldn't find a mention of "egress" in rfc5883, but I guess you mean the
procedure in §5 (Encapsulation).  ??

The text in §7/rfc5884 is what I thought you were referring to in the
previous sentence -- it's ok to use the same process.  You may want to also
refer to §7 in the first sentence.  rfc5884 doesn't use the "segment list"
language, so it is not "as described" there.  Please use language that is
consistent with the source.

Suggestion>

   For the case of BFD over a p2p SR-MPLS segment list, the egress LER
   SHOULD send BDF Control Packets to the ingress LER either using an
   IP encapsulation as specified in Section 5 of [RFC5883], or
   encapsulated in an MPLS label stack as specified in Section 7 of
   [RFC5884].


[major] "In some cases, there may be a need to direct egress LER to use a
specific path for the reverse direction of the BFD session by using the BFD
Reverse Path TLV and following all procedures as defined in [RFC9612]."

"In some cases..."  Which cases?  The sentence seems to imply that you're
either talking about scenarios that the last two sentences don't address
(i.e., not using "BFD over MPLS LSP case" or "BFD over a p2p SR-MPLS
segment list") OR cases where other considerations should come into play.
This is a case where you want to be explicit with the justification behind
rfc9612.

Suggestion (new paragraph)>

   The mechanisms mentioned above don't ensure that both directions
   of the BFD session use co-routed paths, which may contribute to
   false positive defect notifications [RFC9612].  To instruct the
   egress BFD system to use an explicit path for the BFD Control
   Packets associated with a particular BFD session, the procedures
   defined in [RFC9612] MUST be used.



226 3.1.  Use Non-FEC Path TLV
...
246   Non-FEC Path TLV Type is two octets in length and has a value of TBD1
247   (to be assigned by IANA as requested in Section 8.1).

[nit] s/Non-FEC Path TLV Type/The Non-FEC Path TLV Type field


[nit] s/(...)/



249   Length field is two octets long and defines the length in octets of
250   the Non-FEC Path field.

[nit] s/Length field/The Length field



252   Non-FEC Path field contains a sub-TLV.  Any Non-FEC Path sub-TLV
253   (defined in this document or to be defined in the future) for Non-FEC
254   Path TLV type MAY be used in this field.  None or one sub-TLV MAY be
255   included in the Non-FEC Path TLV.  If no sub-TLV has been found in
256   the Non-FEC Path TLV, the egress LER MUST revert to using the reverse
257   path selected based on its local policy.  If there is more than one
258   sub-TLV, then the Return Code in echo reply MUST be set to value TBD3
259   "Too Many TLVs Detected" (to be assigned by IANA as requested in
260   Table 4).

[nit] s/Non-FEC Path field/The Non-FEC Path field


[minor] s/(...)/  x2


[major] "MAY be used in this field" implies that the use of these sub-TLVs
is optional (and that there may be others).

s/MAY/may


[major] "Non-FEC Path field contains a sub-TLV. ... None or one sub-TLV MAY
be included in the Non-FEC Path TLV."

The first sentence implies 1...

Suggestion>

   The Non-FEC Path field MUST contain at most one sub-TLV.



262   Non-FEC Path TLV MAY be used to specify the reverse path of the BFD
263   session identified in the BFD Discriminator TLV.  If the Non-FEC Path
264   TLV is present in the echo request message the BFD Discriminator TLV
265   MUST be present as well.  If the BFD Discriminator TLV is absent when
266   the Non-FEC Path TLV is included, then it MUST be treated as
267   malformed Echo Request, as described in [RFC8029].

[major] [Assuming the Non-FEC Path TLV is a sub-TLV of the BFD Reverse Path
TLV...]  The text above is unnecessary because the behavior is already
specified in rfc9612.


[major] §11 (The Scope of the Experiment) mentions the use of the "Non-FEC
Path TLV in BFD Reverse Path TLV", which I interpret as the Non-FEC Path
TLV is a sub-TLV of the BFD Reverse Path TLV.  However, as defined in this
document (see the request in §8.1), the Non-FEC Path TLV can't be used as a
sub-TLV of the BFD Reverse Path TLV because §3.1/RFC9612 specifies:

   Only non-multicast Target FEC Stack sub-TLVs (already defined or
   to be defined in the future) for TLV Types 1, 16, and 21 in the
   "Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs)
   Ping Parameters" registry are permitted to be used in this field.
   Other sub-TLVs MUST NOT be used."

If the intent is to use the "Non-FEC Path TLV in BFD Reverse Path TLV", the
definition won't allow it.


[major] How should the Non-FEC Path TLV interact with any other possible
sub-TLVs in the BFD Reverse Path TLV?  [rfc9612 is, unfortunately, silent
about any interaction.]



269   This document defines the SR Policy's Segment List sub-TLV that MAY
270   be used with the Non-FEC Path TLV.  The format of the sub-TLV is
271   presented in Figure 2.

[] Please put the specification of this sub-TLV in a new sub-section.



...
289   The SR Policy's Segment List sub-TLV Type is two octets in length,
290   and has a value of TBD2 (to be assigned by IANA as requested in
291   Section 8.1).

[nit] s/(...)/


[major] Even if obvious, you must define the Length field.



293   Label Stack Entries [RFC3032] MUST be in network order.  The egress
294   LER MUST use the Label fields of the Label Stack Entry field as label
295   stack for BFD Control packets for the BFD session identified by the
296   source IP address of the MPLS LSP Ping packet and the value in the
297   BFD Discriminator TLV.

[major] The Label Stack Entry field hasn't been defined.  Please do so
before describing how the entries should be used.


[minor] The SR Policy's Segment List sub-TLV is an ordered list of labels.
Several Type-A Segment Sub-TLVs [draft-ietf-mpls-spring-inter-domain-oam]
could also be used in the BFD Reverse Path TLV to describe an ordered list
of labels.  Is there a functional difference between the two?  [This
question is related to the interaction question above.]



299 3.2.  BFD Reverse Path TLV over SR Policy's Segment List with Dynamic
300      Control Plane

302   When Segment Routed domain with MPLS data plane uses distributed
303   computation of SR Policy's segment lists, BFD Reverse Path TLV MAY
304   use Target FEC sub-TLVs defined in [RFC8287].

[nit] s/Segment Routed domain/a Segment Routed domain


[major] "When...uses distributed computation of SR Policy's segment lists,
BFD Reverse Path TLV MAY use..."

How do the senders/receivers know that a controller is not used?  Is this a
known configuration setting?


[major] "BFD Reverse Path TLV MAY use..."

The BFD Reverse Path TLV already allows the use of *any* sub-TLV, so
there's no need to specify this here.  Even if needed, this document isn't
Updating rfc9612 to change the behavior or limit what is already allowed.



306 4.  Applicability of BFD Demand Mode in SR-MPLS Domain

308   Sections 6.6 and 6.18.4 of [RFC5880] define how Demand mode of BFD
309   can be used to monitor uni-directional MPLS LSP.  Similar procedures
310   can be following in SR-MPLS to monitor uni-directional SR tunnels:

[minor] "6.18.4 of [RFC5880]" doesn't exist.


[nit] s/can be following/can be followed



312   *  an ingress SR node bootstraps BFD session over SR-MPLS in Async
313      BFD mode;

[nit] s/bootstraps BFD session/bootstraps the BFD session



315   *  once BFD session is Up, the ingress SR node switches the egress
316      LER into the Demand mode by setting D field in BFD Control packet
317      it transmits;

[nit] s/once BFD session/once the BFD session



...
329 5.  Using BFD to Monitor Point-to-Multipoint SR Policy

331   [RFC9524] defined variants of SR Policy to deliver point-to-
332   multipoint (p2mp) services.  For the given segment list of an p2mp SR
333   Policy, [RFC8562] can be used if, for example, leaves have an
334   alternative source of the multicast service flow to select.  In such
335   a scenario, a leaf may switch to using the alternative flow after
336   p2mp BFD detects the failure in the working multicast path.  For
337   scenarios where it is required for the root to monitor the state of
338   the multicast tree [RFC8563] can be used.  The root may use the
339   detection of the failure of the multicast tree to the particular leaf
340   to restore the path for that leaf or re-instantiate the whole
341   multicast tree.

[nit] To make reading easier, please use descriptive names when referring
to RFCs that others may not be familiar with.

For example:

s/[RFC8562] can be used/BFD for Multipoint Networks [RFC8562] can be used



343   An essential part of using p2mp BFD is the bootstrapping the BFD
344   session at all the leaves.  The root, acting as the MultipointHead,
345   MAY use LSP Ping [I-D.ietf-pim-p2mp-policy-ping] with the BFD
346   Discriminator TLV.  Alternatively, extensions to routing protocols,
347   e.g., BGP, or management plane, e.g., Path Computation Element
348   Protocol, MAY be used to associate the particular p2mp segment list
349   with MultipointHead's Discriminator.  Extensions for routing
350   protocols and management plane are for further study.

[major] "extensions to routing protocols...or management plane...MAY be
used...  Extensions for routing protocols and management plane are for
further study."

We can't use Normative language to point at things that are not defined.
You should be able to delete the last two sentences without losing
information.

Alternatively, here's a suggestion:

   Extensions to routing protocols or the management plane could
   be defined in the future to serve similar purposes, but such
   work is out of the scope of this document.



352 6.  Use of Echo BFD in SR-MPLS

354   Echo-BFD [RFC5880] can be used to monitor a segment list of the
355   particular SR Policy between the local and the remote BFD peers.  As
356   defined in [RFC5880], the remote BFD system does not process the
357   payload of an Echo BFD.  Thus it is the local system that
358   demultiplexes the Echo BFD packet matching it to the appropriate BFD
359   session and detects missing Echo BFD packets.  A BFD Control packet
360   MAY be used as the payload of Echo BFD.  This specification defines
361   the use of Echo BFD in SR-MPLS network with BFD Control packet as the
362   payload.  The use of other types of Echo BFD payload is outside the
363   scope of this document.  Because the remote BFD system does not
364   process Echo BFD, the value of the Your Discriminator field MUST be
365   set to the discriminator the local BFD system assigned to the given
366   BFD session.  My Discriminator field MUST be zeroed.  Authentication
367   MUST be set according to the configuration of the BFD session.  To
368   ensure that the Echo BFD packet is returned to the sender without
369   being processed, the sender MAY use a Binding SID (BSID) [RFC8402]
370   that has been bound with the SR Policy that ensures the return of a
371   packet to that particular node.  A BSID MAY be associated with the SR
372   Policy that is the reverse to the SR Policy programmed onto the BFD
373   Echo packet by the sender.

[major] "Authentication MUST be set according to the configuration of the
BFD session."

Ahhh...ok.  IOW, use authentication if configured and don't use it if not
configured.  Is that what you mean?  I don't see any
Normative/interoperability value in using Normative language -- or any
value in the sentence itself.

Why isn't authentication mentioned anywhere else?


[major] "...the sender MAY use a Binding SID (BSID) [RFC8402] that has been
bound with the SR Policy that ensures the return of a packet to that
particular node.  A BSID MAY be associated with the SR Policy that is the
reverse..."

These two sentences specify the same behavior.  The second one can be
deleted.


[minor] In the case where the BSID is used, what would the encapsulation
look like?  In both directions...



375 7.  Use of S-BFD in SR-MPLS
...
383   Considering that a particular SR Policy can include multiple
384   candidate paths, which, in turn, have one or more segment lists, it
385   could be beneficial to monitor each segment list independently.  To
386   achieve that, S-BFD Reflector advertises My Discriminator value.
387   Then, the S-BFD Initiator uses the advertised My Discriminator value
388   as Your Discriminator value in the BFD Control messages transmitted
389   over the segment list of the SR Policy.  Furthermore, the S-BFD
390   Initiator assigns a unique My Discriminator for each S-BFD session
391   monitoring a segment list.  S-BFD Reflector transmits BFD Control
392   messages as IP/UDP packets, taking advantage of the available
393   resilience mechanisms of the IP network.  From that point, to
394   minimize the detection of failures in the IP network that do not
395   affect the monitored segment list, it is reasonable not to use defect
396   detection intervals that are close to the IP network repair time.
397   Instead, having an S-BFD detection interval three times longer than
398   the IP network repair time is practical.

[nit] s/S-BFD Reflector advertises/the S-BFD Reflector advertises


[major] "...to minimize the detection of failures in the IP network that do
not affect the monitored segment list...[use a] detection interval three
times longer than the IP network repair time is practical."

This text sounds like good operational advice for any BFD mode; why is it
only mentioned here?  I know that S-BFD doesn't negotiate -- applying this
recommendation when configuring the local Tx interval seems important.



...
402 8.1.  Non-FEC Path TLV

404   IANA is requested to assign new TLV type from the from 16384-31739
405   range of the registry "Multiprotocol Label Switching Architecture
406   (MPLS) Label Switched Paths (LSPs) Ping Parameters - TLVs" as defined
407   in Table 1.

[major] The correct registry is: "Sub-TLVs for TLV Types 1, 16, and 21".



...
526 10.  Security Considerations

528   This document describes the specifics of using MPLS LSP Ping, BFD,
529   and BFD for multipoint networks for the Segment Routing network with
530   the MPLS data plane.  Since all the discussed tools have been used in
531   MPLS networks, there are no additional security risks.  Security
532   considerations discussed in [RFC5880], [RFC5884], [RFC8562],
533   [RFC8563], [RFC7726], [RFC8029], and [RFC9256] apply to this
534   document.

[nit] s/Security considerations discussed/The security considerations
discussed


[major] Most Normative references should be listed, please add
draft-ietf-pim-p2mp-policy-ping, RFC6428, RFC7880, RFC8287, RFC8402,
RFC9524, and RFC9612.



536 11.  The Scope of the Experiment

538   The experimental part included in this document is limited to the use
539   of Non-FEC Path TLV in BFD Reverse Path TLV [RFC9612].  The goal of
540   the experiment with the Non-FEC Path TLV is validation that its use
541   does not adversely affect the defect detection in the forward
542   direction while reducing the number of used BFD sessions between a
543   pair of LSRs without reporting additional false-negative events.

[nit] s/number of used BFD sessions/number of BFD sessions



...
654 14.2.  Informative References

656   [RFC3032]  Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
657              Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
658              Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001,
659              <https://www.rfc-editor.org/info/rfc3032>.

[major] This reference should be Normative because there's a "MUST"
associated with it.



661   [RFC7880]  Pignataro, C., Ward, D., Akiya, N., Bhatia, M., and S.
662              Pallagatti, "Seamless Bidirectional Forwarding Detection
663              (S-BFD)", RFC 7880, DOI 10.17487/RFC7880, July 2016,
664              <https://www.rfc-editor.org/info/rfc7880>.

[major] This reference should be Normative because it is needed to
understand §7.



...
682   [RFC9256]  Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov,
683              A., and P. Mattes, "Segment Routing Policy Architecture",
684              RFC 9256, DOI 10.17487/RFC9256, July 2022,
685              <https://www.rfc-editor.org/info/rfc9256>.

[major] This reference should be Normative because understanding the SR
Policy architecture is required for this document.

[EoR-12]