[mpls] Re: John Scudder's Discuss on draft-ietf-mpls-spring-inter-domain-oam-17: (with DISCUSS and COMMENT)

Loa Andersson <loa@pi.nu> Tue, 11 June 2024 18:00 UTC

Return-Path: <loa@pi.nu>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4A9E3C151531; Tue, 11 Jun 2024 11:00:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.906
X-Spam-Level:
X-Spam-Status: No, score=-1.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] 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 pf3-cYScESGd; Tue, 11 Jun 2024 11:00:35 -0700 (PDT)
Received: from srv.pi.nu (srv.pi.nu [IPv6:2a00:1a28:1410:5::1348]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 81106C1519AE; Tue, 11 Jun 2024 11:00:32 -0700 (PDT)
Message-ID: <5091fcba-d18c-4654-867f-e56528c8ea00@pi.nu>
Date: Tue, 11 Jun 2024 20:00:31 +0200
MIME-Version: 1.0
To: John Scudder <jgs@juniper.net>, The IESG <iesg@ietf.org>
References: <171811782664.60855.14869874777880744462@ietfa.amsl.com>
Content-Language: sv, en-GB
From: Loa Andersson <loa@pi.nu>
In-Reply-To: <171811782664.60855.14869874777880744462@ietfa.amsl.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Message-ID-Hash: Y7YYKPANJYVMJSSQWSPOGPWIFRAENOW7
X-Message-ID-Hash: Y7YYKPANJYVMJSSQWSPOGPWIFRAENOW7
X-MailFrom: loa@pi.nu
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-mpls.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: draft-ietf-mpls-spring-inter-domain-oam@ietf.org, mpls-chairs@ietf.org, mpls@ietf.org
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [mpls] Re: John Scudder's Discuss on draft-ietf-mpls-spring-inter-domain-oam-17: (with DISCUSS and COMMENT)
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/XAjqZJV7bOoUhWDp-8Ek0JgVT0Q>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Owner: <mailto:mpls-owner@ietf.org>
List-Post: <mailto:mpls@ietf.org>
List-Subscribe: <mailto:mpls-join@ietf.org>
List-Unsubscribe: <mailto:mpls-leave@ietf.org>

John, authors, (top post),

Apology - I have not been following this draft close for a couple of months.

It seem that the draft mandate a receiving LSR to ignore the S-bit.

Why would we ever want to do that?

/Loa

Den 2024-06-11 kl. 16:57, skrev John Scudder via Datatracker:
> John Scudder has entered the following ballot position for
> draft-ietf-mpls-spring-inter-domain-oam-17: Discuss
>
> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut this
> introductory paragraph, however.)
>
>
> Please refer to https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/
> for more information about how to handle DISCUSS and COMMENT positions.
>
>
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-mpls-spring-inter-domain-oam/
>
>
>
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
>
> # John Scudder, RTG AD, comments for draft-ietf-mpls-spring-inter-domain-oam-17
> CC @jgscudder
>
> I can see that this document solves an important problem, thanks for your work
> on it. I find a few of the consequences of the use case a little puzzling, more
> in my DISCUSS and comments below.
>
> ## DISCUSS
>
> As I understand it, the motivating use case for this document is summed up by
> this paragraph in the introduction:
>
>     It is not always possible to carry out LSP ping and traceroute
>     functionality on these paths to verify basic connectivity and fault
>     isolation using existing LSP ping and traceroute mechanisms([RFC8287]
>     and [RFC8029]).  That is because there might not always be IP
>     connectivity from a responding node back to the source address of the
>     ping packet when the responding node is in a different AS from the
>     source of the ping.
>
> That is, you are fixing the problem where some node needs to send a packet back
> to the originator, but doesn't have reachability to it.
>
> As a general thing, I think the document would benefit from more careful
> consideration of this in some of the sections, and I have some comments below
> related to that. I also have identified what looks like at least one bug --
>
> Section 5.3 includes this requirement:
>
>                                                 If the top label is
>     unreachable, the responder MUST send the appropriate return code and
>     follow procedures as per section 5.2 of [RFC7110].
>
> But, in this situation, the responder is unlikely to be able to successfully
> send any return message, because the top label is unreadable, and by definition
> of the use case, the responder doesn't have IP reachability to the head end.
>
> I understand that this might be a problem that has no perfect fix, but (unless
> I'm just wrong, in which case please tell me!), I think you should put some
> more realistic guidance in this requirement.
>
> By the way, the detailed example section was very useful, thank you. I think
> adding an example walk-through of an error case to that section would help
> elucidate this.
>
>
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>
> ## COMMENTS
>
> ### Section 3, if I can compute the return path I don't need to trace the route
>
> This text made my brain hurt:
>
>                                          One of the ways this can be
>     implemented on the head-end is to acquire the entire database (of all
>     domains) and build a return path for every node along the SR-MPLS
>     path based on the knowledge of the database.
>
> That's because, if I have the detailed topology database required to do this, I
> already know everything the traceroute will tell me. So why bother tracing the
> route? It can't be simply to verify connectivity, ping would do that, and if I
> want to verify that connectivity follows the expected route, I can ping with a
> strict source route. Furthermore, if the traceroute diverges from the expected
> path, it might be that replies don't come back to me, because the return path
> I've included might not work for nodes along the actual path.
>
> I see that dynamically computed return path addresses these concerns. But I'm
> struggling to understand what value a precomputed return path, as per the
> quote, brings to the table.
>
> ### Section 4.1, minor comment, consistency, flow
>
> You have,
>
>     RESERVED: 3 octets of reserved bits.  MUST be set to zero when
>     sending; MUST be ignored on receipt.
>
>     Label: 20 bits of label value.
>
>     TC: 3 bits of traffic class.
>
>     S: 1 bit Reserved.
>
>     TTL: 1 octet of TTL.
>
>     The following applies to the Type-A Segment sub-TLV:
>
>     The S bit MUST be zero upon transmission, and MUST be ignored upon
>     reception.
>
> Why not specify the S bit value and behavior in line just as the reserved bits
> are? As in,
>
> NEW:
>     RESERVED: 3 octets of reserved bits.  MUST be set to zero when
>     sending; MUST be ignored on receipt.
>
>     Label: 20 bits of label value.
>
>     TC: 3 bits of traffic class.
>
>     S: 1 bit Reserved.  MUST be zero upon transmission, and MUST be ignored upon
>     reception.
>
>     TTL: 1 octet of TTL.
>
>     The following applies to the Type-A Segment sub-TLV:
>
>     <"The S bit" line is deleted.>
>
> ### Section 4.2, why exclude Flex Algo?
>
> You cite RFC 8402:
>
>     SR Algorithm: 1 octet specifying SR Algorithm as described in section
>     3.1.1 in [RFC8402], when A-Flag as defined in Section 4.4 is present.
>     SR Algorithm is used by the receiver to derive the Label.  When
>     A-flag is unset, this field has no meaning and thus MUST be set to
>     zero on transmission and ignored on receipt.
>
> Are you intentionally excluding flexible algorithm (RFC 9350)? If not, you
> might take a look at the way draft-ietf-mpls-mldp-multi-topology does this. In
> brief, they have a definition in their Introduction:
>
>     A more lightweight mechanism to define constraint-based topologies is
>     the Flexible Algorithm (FA) [RFC9350].  FA can be seen as creating a
>     sub-topology within a topology using defined topology constraints and
>     computation algorithms.  This can be done within an MTR topology or
>     the default Topology.  An instance of such a sub-topology is
>     identified by a 1 octet value (Flex-Algorithm) as documented in
>     [RFC9350].  A flexible Algorithm is a mechanism to create a sub-
>     topology, but in the future, different algorithms might be defined
>     for how to achieve that.  For that reason, in the remainder of this
>     document, we'll refer to this as the IGP Algorithm.
>
> And then elsewhere they just refer to "IGP Algorithm". I'm not saying you have
> to adopt this approach, but it's one idea.
>
> Same comment applies to Section 4.3.
>
> ### Section 4.2, SID field
>
> It’s a little messy that what is defined as four separate fields in the
> previous section, here is defined as a single SID field. For consistency, I'd
> suggest either representing this the same way you did in section 4.1, or
> alternately, Section 4.1 could include text to the effect of “collectively,
> these four sub-fields comprise the SID field”.
>
> ### Section 5.5.1, weird use of "MAY not"
>
> “MAY not” looks weird:
>
>     Internal nodes or non-domain border nodes MAY not set the Reply Path
>     TLV return code to TBA1 in the echo reply message as there is no
>     change in the return Path.
>
> Can you clarify that you really mean what this literally says as per the RFC
> 2119 definition of "MAY", which would be, these nodes are permitted to refrain
> from setting the return code, but they also can set it, it’s all good? Or, did
> you mean MUST NOT? if you do genuinely mean the first thing I wrote, I
> recommend using language different from “MAY not“, since it looks quite weird.
>
> ### General, SRGB behavior
>
> In various places you talk about different actions depending on whether SRGB is
> uniform or non-uniform. I don’t think you mention anywhere how the
> determination of uniform or non-uniform SRGB behavior is made. Is it up to
> configuration? It would be good to be specific about this.
>
> ## Notes
>
> This review is in the ["IETF Comments" Markdown format][ICMF], You can use the
> [`ietf-comments` tool][ICT] to automatically convert this review into
> individual GitHub issues.
>
> [ICMF]: https://github.com/mnot/ietf-comments/blob/main/format.md
> [ICT]: https://github.com/mnot/ietf-comments
>
>
>
> _______________________________________________
> mpls mailing list -- mpls@ietf.org
> To unsubscribe send an email to mpls-leave@ietf.org

-- 
Loa Andersson
Senior MPLS Expert
Bronze Dragon Consulting
loa@pi.nu
loa.pi.nu.@gmail.com