[spring] Re: [Shepherding AD review] review of draft-ietf-spring-srv6-srh-compression-18

Francois Clad <fclad.ietf@gmail.com> Thu, 03 October 2024 13:30 UTC

Return-Path: <fclad.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 6DE1DC1519AE; Thu, 3 Oct 2024 06:30:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 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_NONE=-0.0001, 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 Cm5e7EOlqWU9; Thu, 3 Oct 2024 06:30:16 -0700 (PDT)
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (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 E4FCFC15199D; Thu, 3 Oct 2024 06:30:15 -0700 (PDT)
Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-a8a7596b7dfso192951866b.0; Thu, 03 Oct 2024 06:30:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727962214; x=1728567014; 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=w9QeiDWi5pdG2KMFRIyJ/E9+rYCJKdQTvyI1FmJAq88=; b=PXV2hu8xW/CM/OoF0ZxMkhpKyJ55GbvL3fx9CkGwI8q4HQpIzlsCens1Dhzjv4lkvd 3yTBaYMllGbV/KXNpV5Tpn/6OSdww8HAgvwy5VmFkkBD8G+5BFiFa2L+dkZmFr+4qGVT tMo4xP6YNaSIMllk8RI/yx7p43N2aIjC8gA24JfX2z3C2RZnyOj4v92VwaL4jD35Mg0U 5QyEAgmU8JGgnCKFOVc7CHItu9gILcSz6EGmLy7+eWHWpOGjf/ZO9my23jagi018zmgi ZxY+tYiKP2dRPcSPhAUPu6OlSit8+Y5abmXxa+InzeP8zxyEsKtCLxXPjDGdgMcWMEKN LCLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727962214; x=1728567014; 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=w9QeiDWi5pdG2KMFRIyJ/E9+rYCJKdQTvyI1FmJAq88=; b=kdCeICEnTHXEH7LszNsa7ZMKwjA3ia/CouS4zjLtqO7uJLEvxz2L+lDrAfwum/Ghst dLymoxAOBn4ax0ss0u1c2C7syKc6KZXp0qRFB0LX4jM6AQObK56jswIxFXpM8P+3FteL kSpw6m1SpwKFZQ0U3NqPMyt4OTz812WW4y+lFhw+sczUmcR2DJuVBptqyRTZDTDQvDP8 K8zEa6+++iO8vfp31VOn+JdS+W4s1ypBN7tnkRmcPBXehPNzg78g19kvbmfubsMm8eSj a7GWkcrrelqv3siU9wjhWzgdJz5pO3FfM5+CidaBBERIGYbNvKxpGdHEJ2KICa1dLHCl cBzw==
X-Forwarded-Encrypted: i=1; AJvYcCU/5H/EMLcKu/7jsrHcNo7ENoBMhtVLOZXiW84DF0E5o8+2FHYnDzPEPXbFy387E/576sDWrv/JvIprhO/kaJcEAtYzCwWsSOewT95TCX7ASpymRpMkvg==@ietf.org, AJvYcCVuNDo8LBXbqWc9nptmvotmlVneSbbgbhBpTDBzl6eTADeWCW8oJFurPfI/wgFyhtV8GfW7Txpb@ietf.org
X-Gm-Message-State: AOJu0Yx+J1JFV0p5lG5aje62UjUcLDKp+wCBRugoEvJskTR7ZlyOGIN6 dU40NEgZqDh1GsaQXRnA7w/FS1FVa8xbhs18LPbWCYzKl5Io0KKchGdiOV3e3H10EiuuIc9A3dC lwEthLrm3KfM//8WBnoA1iOilIw==
X-Google-Smtp-Source: AGHT+IFm3K1cd0Hlw2MO5LrWOq2OaRQOPgFzgtIMLCANxjqCIDjjTb6cnD/0uqq4KFOgiJ9Fxgzq3Qkt5nftVO+rBgQ=
X-Received: by 2002:a17:907:6e8f:b0:a8a:87d5:2f49 with SMTP id a640c23a62f3a-a990a23c93fmr370157566b.28.1727962213698; Thu, 03 Oct 2024 06:30:13 -0700 (PDT)
Received: from 1064022179695 named unknown by gmailapi.google.com with HTTPREST; Thu, 3 Oct 2024 13:30:13 +0000
Received: from 1064022179695 named unknown by gmailapi.google.com with HTTPREST; Thu, 3 Oct 2024 13:30:10 +0000
MIME-Version: 1.0 (Mimestream 1.4.1)
References: <AS1PR07MB8589F61EE0C4D1E298E59CBDE0702@AS1PR07MB8589.eurprd07.prod.outlook.com>
In-Reply-To: <AS1PR07MB8589F61EE0C4D1E298E59CBDE0702@AS1PR07MB8589.eurprd07.prod.outlook.com>
From: Francois Clad <fclad.ietf@gmail.com>
Date: Thu, 03 Oct 2024 13:30:13 +0000
Message-ID: <CAHT6gR_TVDSJiD74_JC7f07zOXkE-QwiaEnLfZUFWvMsmkXMSQ@mail.gmail.com>
To: "Gunter van de Velde (Nokia)" <gunter.van_de_velde@nokia.com>
Content-Type: multipart/alternative; boundary="000000000000eed47f0623928db3"
Message-ID-Hash: CR5Q6Z6FLXILDZ7XCUKMUVLGGDXMS7OL
X-Message-ID-Hash: CR5Q6Z6FLXILDZ7XCUKMUVLGGDXMS7OL
X-MailFrom: fclad.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: "spring-chairs@ietf.org" <spring-chairs@ietf.org>, "spring@ietf.org" <spring@ietf.org>, "draft-ietf-spring-srv6-srh-compression@ietf.org" <draft-ietf-spring-srv6-srh-compression@ietf.org>
X-Mailman-Version: 3.3.9rc5
Precedence: list
Subject: [spring] Re: [Shepherding AD review] review of draft-ietf-spring-srv6-srh-compression-18
List-Id: "Source Packet Routing in NetworkinG (SPRING)" <spring.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/G-u56Rk-aVbXJki6nAPmIuEhGVE>
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>

 Hi Gunter,

Many thanks for your detailed review.

I will work on your comments with the co-authors and hope to provide a
reply during the week of Oct/14.

Thanks,
Francois

On 2 Oct 2024 at 15:58:10, Gunter van de Velde (Nokia) <
gunter.van_de_velde@nokia.com> wrote:

> # Gunter Van de Velde, RTG AD, comments for
> draft-ietf-spring-srv6-srh-compression-18
>
> # line numbers are derived with the idnits tool
> https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-spring-srv6-srh-compression-18.txt
>
>
> #GENERIC COMMENTS
> #================
> # This document is an intense read. It took time to process and get
> familiar with the documented procedures and concepts. During my review
> process i had the unique experience to review the document through the
> looking glass as a person "new to C-SID details".  This is important as
> that gave me a greenfield understanding of the documented C-SID details.
>
> # terminology: the codepoint registrations use "CSID" in the flavor name
> but everywhere in the draft "C-SID" is used. Is that by intention?
>
> # The documented interpretation of the terms "flavor" and "behavior"
> appears to be unusual. In RFC 8986, behaviors such as End, End.X, etc., are
> defined, and flavors like PSP, USP, and USD provide additional information
> on how to process those behaviors. Specifically, Section 4.16 of RFC 8986
> describes flavors as variants:
>
> "The Penultimate Segment Pop (PSP) of the SRH, Ultimate Segment Pop (USP)
> of the SRH, and Ultimate Segment Decapsulation (USD) flavors are variants
> of the End, End.X, and End.T behaviors. The End, End.X, and End.T behaviors
> can support these flavors either individually or in combinations."
>
> RFC 8986 suggests that the End, End.X, and End.T behaviors can be combined
> with flavors. This document defines new flavors that appear to exhibit
> different characteristics from what RFC 8986 considers to be a flavor. For
> example, the End behavior can be combined with the PSP and USP flavors,
> whereas the End behavior with the NEXT-C-SID together with REPLACE-C-SID
> flavors cannot be combined. This difference causes confusion regarding the
> understanding and distinction between "behavior" and "flavor" and needs
> clarification.
>
> # The draft specifies that C-SIDs should be used as the destination
> address of an IPv6 packet, with or without an SRH. However, it does not
> provide guidance on whether using a C-SID construct or container as a
> source address is valid, invalid, or forbidden.
>
> # This document contains valuable operational C-SID guidelines scattered
> throughout its sections, which may make it challenging for operators to
> locate relevant recommendations. Collecting all SRv6 C-SID guidelines,
> recommendations, and considerations into a single "Operational
> Considerations" section or, alternatively, into a separate SRv6OPS document
> would be a reasonable approach.
>
> # section "7. Inter-Domain Compression" describes a procedure to swap
> Locator-Blocks. This seems rather different from procedures about
> NEXT-C-SID and REPLACE-C-SID and is maybe better discussed in its own
> separate document.
>
> #DETAILED COMMENTS
> #=================
>
>
> 150   The Segment Routing (SR) architecture [RFC8402] describes two data
> 151   plane instantiations of SR: SR over MPLS (SR-MPLS) and SR over IPv6
> 152   (SRv6).
>
> GV> RFC8402 talks about the instantiation of SR *on* MPLS/IPv6
> *data-plane*, and not *over*.
> A more accurate text blob, using RFC8402 text would be:
>
> "
> The Segment Routing (SR) architecture [RFC8402] describes two data
> plane instantiations of SR: SR applied to the MPLS-architecture
> (SR-MPLS) and SR applied to the IPv6-architecture (SRv6).
> "
>
> 154   SRv6 Network Programming [RFC8986] defines a framework to build a
> 155   network program with topological and service segments (also referred
> 156   to by their Segment Identifier (SID)) carried in a Segment Routing
> 157   Header (SRH) [RFC8754].
>
> GV> This statement is not fully accurate. RFC8986 also describe Reduced
> SRH where a SID is carried outside the SRH to reduce the size of the SRH.
>
> 159   Some SRv6 applications such as strict path traffic engineering may
> 160   require long segment lists.  Compressing the encoding of these long
> 161   segment lists in the packet header can significantly reduce the
> 162   header size.  This document specifies new flavors to the SR segment
> 163   endpoint behaviors defined in [RFC8986] that enable a compressed
> 164   encoding of the SRv6 segment list.
>
> GV> This document seems to define additional behaviors, not only new
> flavors of existing behaviors.
> For example END.PS and END.XPS appear to be new behaviors, not new
> flavors of behaviors defined in RFC8986.
>
> 183   *  Locator-Node: The least significant bits of a SID locator that
> 184      identify the SR segment endpoint node instantiating the SID.  The
> 185      Locator-Node is referred to as "N" in Section 3.1 of [RFC8986].
>
> GV> section 3.1 describe "N" as the "N is the identifier of the parent
> node instantiating the SID".
> Is this difference in terminology "endpoint" vs "parent node" by intent?
>
> 187   *  Compressed-SID (C-SID): A compressed encoding of a SID.  The
> C-SID
> 188      includes the Locator-Node and Function bits of the SID being
> 189      compressed.
>
> GV> I wonder if this is accurate. When a CSID is a global node-level
> identifier, the function bits are set to zero and are therefore omitted.
> Similarly, when the CSID is a local identifier without an associated global
> node-level CSID, the Locator Node bits are also zero and omitted.
>
> 191   *  C-SID container: A 128-bit container holding a list of one or
> more
> 192      C-SIDs.
>
> GV> This may need some additional clarification for an accurate
> description.
> rfc8402 describe a SRv6 segment as an IPv6 address, in addition RFC8754
> describe a segment within the SRH as an 128-bit IPv6 address. The above
> CSID container says its simply a 128-bit thing. A more accurate description
> would be:
>
> "
> * C-SID container: A 128-bit IPv6 address that functions as a container
> holding a list of one or more C-SIDs.
> "
>
> 194   *  C-SID sequence: A group of one or more consecutive SID list
> 195      entries carrying the common Locator-Block and at least one C-SID
> 196      container.
>
> GV> Note that the verb "carry" is not entirely clear in above context.
>
> "
> *  C-SID sequence: A group of one or more consecutive SID list
> entries encoding the common Locator-Block and at least one C-SID
> container.
> "
>
> 187   *  Compressed-SID (C-SID): A compressed encoding of a SID.  The
> C-SID
> 188      includes the Locator-Node and Function bits of the SID being
> 189      compressed.
>
> GV> a *compressed* SID list can contain *uncompressed* SIDs
>
> 245   The compressed segment list encoding is fully compatible with and
> 246   builds upon the mechanisms specified in [RFC8754] and [RFC8986].
> The
> 247   compressed encoding leverages a SID list compression logic on the SR
> 248   source node (Section 6) in combination with new flavors of the base
> 249   SRv6 segment endpoint behaviors that process the compressed SID list
> 250   (Section 4).
>
> GV> In the draft -18 there are 56 instances of the term "SR source node"
> without an explicit definition of "what is" a SR source node from a C-SID
> perspective. This should be clarified and defined in terminology section 2
>
> GV> What about an editorial rewrite to make the text more accurate:
> "Building upon and fully compatible with the mechanisms specified in
> [RFC8754] and [RFC8986], the compressed segment list encoding leverages SID
> list compression logic at the SR source node (see Section 6) in combination
> with both new and existing flavors of the base SRv6 segment endpoint
> behaviors that process the compressed SID list (see Section 4)."
>
> 252   A segment list can be encoded in the packet header using any
> 253   combination of compressed and uncompressed sequences.  The C-SID
>
> GV> Line194 in terminology section introduce C-SID sequence. How does
> C-SID sequence correlate with uncompressed sequence? Could uncompressed
> sequence description be added in the terminology section?
>
> 252   A segment list can be encoded in the packet header using any
> 253   combination of compressed and uncompressed sequences.  The C-SID
> 254   sequences leverage the flavors defined in this document, while the
> 255   uncompressed sequences use behaviors and flavors defined in other
> 256   documents, such as [RFC8986].  An SR source node constructs and
> 257   compresses the SID list depending on the SIDs instantiated on each
> SR
> 258   segment endpoint node that the packet should traverse, as well as
> its
> 259   own compression capabilities.
>
> GV> There is an inconsistency. In the text is mentioned "leverage the
> flavors defined in this document", however in section 4.1 can be found:
>
> "
>   When a C-SID sequence comprises at least two C-SIDs, the last C-SID
>   in the sequence is not required to have the NEXT-C-SID flavor.  ***It
>   can be bound to any behavior and flavor(s)***
> "
>
> GV> s/packet should traverse/packet intended to traverse/
>
> 274   behaviors of [RFC8986].  A counterpart NEXT-C-SID flavor is not
> 275   defined for these SIDs because they can be included within a C-SID
> 276   sequence that uses the NEXT-C-SID flavor without any modification of
> 277   the procedure defined in [RFC8986].
>
> GV> What does "they can be included within a C-SID sequence" exactly mean?
> Can this be explained how this is intended to function?
>
> 297   SRv6 is intended for use in a variety of networks that require
> 298   different prefix lengths and SID numbering spaces.  Each of the two
> 299   flavors introduced in this document comes with its own
> 300   recommendations for Locator-Block and C-SID length, as specified in
> 301   Section 4.1 and Section 4.2.  These flavors are best suited for
> 302   different environments, depending on the requirements of the
> network
>