[mpls] John Scudder's Discuss on draft-ietf-mpls-spring-inter-domain-oam-17: (with DISCUSS and COMMENT)
John Scudder via Datatracker <noreply@ietf.org> Tue, 11 June 2024 14:57 UTC
Return-Path: <noreply@ietf.org>
X-Original-To: mpls@ietf.org
Delivered-To: mpls@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 9FB0CC14F603; Tue, 11 Jun 2024 07:57:06 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: John Scudder via Datatracker <noreply@ietf.org>
To: The IESG <iesg@ietf.org>
X-Test-IDTracker: no
X-IETF-IDTracker: 12.15.0
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <171811782664.60855.14869874777880744462@ietfa.amsl.com>
Date: Tue, 11 Jun 2024 07:57:06 -0700
Message-ID-Hash: GFIBXUQGMX5AM3YQATXISN7V35WFCGZS
X-Message-ID-Hash: GFIBXUQGMX5AM3YQATXISN7V35WFCGZS
X-MailFrom: noreply@ietf.org
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
Reply-To: John Scudder <jgs@juniper.net>
Subject: [mpls] 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/30PKWVGFuFK3Jy9qyNCVu391Zpc>
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 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] John Scudder's Discuss on draft-ietf-mpls-… John Scudder via Datatracker
- [mpls] Re: John Scudder's Discuss on draft-ietf-m… Loa Andersson
- [mpls] Re: John Scudder's Discuss on draft-ietf-m… Adrian Farrel
- [mpls] Re: John Scudder's Discuss on draft-ietf-m… Loa Andersson
- [mpls] Re: John Scudder's Discuss on draft-ietf-m… Shraddha Hegde
- [mpls] Re: John Scudder's Discuss on draft-ietf-m… Shraddha Hegde
- [mpls] Re: John Scudder's Discuss on draft-ietf-m… John Scudder
- [mpls] Re: John Scudder's Discuss on draft-ietf-m… Shraddha Hegde