[mpls] Re: draft-ietf-mpls-mna-hdr-17 ietf last call Rtgdir review

Jaganbabu Rajamanickam <jaganbaburietf@gmail.com> Tue, 13 January 2026 13:46 UTC

Return-Path: <jaganbaburietf@gmail.com>
X-Original-To: mpls@mail2.ietf.org
Delivered-To: mpls@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 01CA3A70004D for <mpls@mail2.ietf.org>; Tue, 13 Jan 2026 05:46:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2wVt57GwMQ1j for <mpls@mail2.ietf.org>; Tue, 13 Jan 2026 05:46:35 -0800 (PST)
Received: from mail-yw1-x1135.google.com (mail-yw1-x1135.google.com [IPv6:2607:f8b0:4864:20::1135]) (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 E9ED1A700019 for <mpls@ietf.org>; Tue, 13 Jan 2026 05:46:34 -0800 (PST)
Received: by mail-yw1-x1135.google.com with SMTP id 00721157ae682-78fc3572431so84575587b3.0 for <mpls@ietf.org>; Tue, 13 Jan 2026 05:46:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768311994; x=1768916794; 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=/dGw8obUmdjaBPOzO7knQrWez5d3Ika1weeMhEVfCAo=; b=YMdUlAA45t1cuAtvFNecrNlCQR3Ry+xB1ML/SNgKc3DvlmAFUE1SEmHUfD+++ApwvJ Urs5kmdSbwUtLA934FN3eT+ImkL3Z6t8dZQcU8O8vPyjX4tZRRalVci08mXesoaDhCX/ HotMtJD0fsqhLJgAwfofClzq3v3NPZoneybrNdMgZnj/apLvdc3xTl23hdDwdSNBaE/2 ofJNtCPH2OAkpxQMC/RfFG/QgeLipAol4W5U6OeTUlIWuEtxxrzHDOEfHFc/JzYN7wgc pK+0u06neUnG8xsI01N8O8r16Mahk1NPwMYzP0M6xcOVw5z9qZ263hVneUKcD8QGYCx7 HmKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768311994; x=1768916794; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=/dGw8obUmdjaBPOzO7knQrWez5d3Ika1weeMhEVfCAo=; b=FZXunqDOLb1JfxPbVe/aPZvXeDEOMYKozuFMzX1aOSzwlZ+GK8vmblz9JX2vrW8Zcz GW2nm0rwa2NLVLG58ixptMGEv/HHdSf+a0Iiaaj1MtAwJg0TKu8i+88l/KZoDAaxyrgH Wt46qhrhGR5SmBq6Pz3x5NfbW53KMTVZEYzxt5t5CgPS8XDLFplTQXNZNbNeQyBIQXH3 LIulbmoUfGgMfbo+jm9ikXGMlCzWW5XLaVcgI6L1UqzxbT0qNYG6T11cUd+n9ImMZ5P7 ROtuB5kMIy+V0k3IfGji1b4r8mcSnOuCu6jSy42OzfdR1wteByQuOb1Bd1+G8oFsdrCP GRLQ==
X-Forwarded-Encrypted: i=1; AJvYcCWuYR9fL9JywLPGpH6Mq0VL4MRGxZIgzOY4GQVzinceyXnGa10QQDZFcsm6lG8XmGn/BFmA@ietf.org
X-Gm-Message-State: AOJu0Yx10m6elBVbxs2bzChZA4+SEkzyU2rS+lIz+JGAi6huU9+LsdZe rUUqrgGhjoNuYVzv9e6ybNJqvI9saeavX0z4GUCYX0Lrl+Qy8aWN657oG6D33nCKPdXrTg3j28x Aa6Q+WHn/E3n0ijiU7jHNVgIQWsCWP3/ubVy6FD4=
X-Gm-Gg: AY/fxX4vmgXvx38xx9xScN+VkIaXBmRPy8fVk2v1HI/DxyBAF7VB1a+IDF5Uob2xWV+ efC8HBnAsWWuI1g+kQuTcxa9jcYLxl9x5tYeJB5FRpVTgGNpePwBdosiYhTXajIYxkqjSGDmWHR XKJVkwWVE4P5I3qyMAq7+QzjaCR7NHkq47WdXpHafMitCfmAoX6eGUJyR4nSvbjwHcdXSDTmiSL 3L+Np/Z3P3qDvXWBXQdyk3U/aLiyWEgiGJZH0s7JtjWQWTxyRX0m2qqLbF2MwBLmVvDDxD8c8rQ tQYioQ0=
X-Google-Smtp-Source: AGHT+IH7XTmrJ0o5vATO77wIVXfWHkTgkNRxlLGKJO+yAX0/M9fNAp0v9+ofFHh3hWgEZXZeY95WeUSL2czs83DUe7Y=
X-Received: by 2002:a05:690e:13cb:b0:644:ca2b:b64f with SMTP id 956f58d0204a3-64716c0f720mr17922856d50.41.1768311993939; Tue, 13 Jan 2026 05:46:33 -0800 (PST)
MIME-Version: 1.0
References: <176616227998.69874.9921037096290135715@dt-datatracker-5656579b89-p6k4r> <PH7PR11MB80589CFAB1C29A09CA110295D08EA@PH7PR11MB8058.namprd11.prod.outlook.com> <GV4PR07MB11565FC4CE53C7D4E7A562B3CEB8EA@GV4PR07MB11565.eurprd07.prod.outlook.com>
In-Reply-To: <GV4PR07MB11565FC4CE53C7D4E7A562B3CEB8EA@GV4PR07MB11565.eurprd07.prod.outlook.com>
From: Jaganbabu Rajamanickam <jaganbaburietf@gmail.com>
Date: Tue, 13 Jan 2026 08:46:23 -0500
X-Gm-Features: AZwV_Qgs9rKfN8qFGt3Mj5jjRZUUhFFpM6LlaCKxp3sXResBoVQ9zoVMnkIlU30
Message-ID: <CAPOsKjGt9yVsZNr2k9NfLifYfkA1G7BGepHp4Zjt7-OVAyh_BA@mail.gmail.com>
To: "Matthew Bocci (Nokia)" <matthew.bocci=40nokia.com@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="000000000000403a380648453861"
Message-ID-Hash: 5EJN6X6ZQIGVZA4ISTREFCXWQHYUUXUJ
X-Message-ID-Hash: 5EJN6X6ZQIGVZA4ISTREFCXWQHYUUXUJ
X-MailFrom: jaganbaburietf@gmail.com
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: "Jaganbabu Rajamanickam (jrajaman)" <jrajaman@cisco.com>, "rtg-dir@ietf.org" <rtg-dir@ietf.org>, "draft-ietf-mpls-mna-hdr.all@ietf.org" <draft-ietf-mpls-mna-hdr.all@ietf.org>, "last-call@ietf.org" <last-call@ietf.org>, "mpls@ietf.org" <mpls@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [mpls] Re: draft-ietf-mpls-mna-hdr-17 ietf last call Rtgdir review
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/dgAl2M2AFQqNU__2HxAIn04hLgc>
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>

Thanks Matthew, We will upload the latest draft.

Thanx,
Jags

On Tue, Jan 13, 2026 at 8:16 AM Matthew Bocci (Nokia) <matthew.bocci=
40nokia.com@dmarc.ietf.org> wrote:

> Hi Jags
>
> Thank you for considering my comments and updating the draft. I am good
> with all the resolutions.
>
> Best regards
>
> Matthew
>
> *From: *Jaganbabu Rajamanickam (jrajaman) <jrajaman@cisco.com>
> *Date: *Tuesday, 13 January 2026 at 12:35
> *To: *Matthew Bocci (Nokia) <matthew.bocci@nokia.com>, rtg-dir@ietf.org <
> rtg-dir@ietf.org>
> *Cc: *draft-ietf-mpls-mna-hdr.all@ietf.org <
> draft-ietf-mpls-mna-hdr.all@ietf.org>, last-call@ietf.org <
> last-call@ietf.org>, mpls@ietf.org <mpls@ietf.org>
> *Subject: *Re: draft-ietf-mpls-mna-hdr-17 ietf last call Rtgdir review
>
> You don't often get email from jrajaman@cisco.com. Learn why this is
> important <https://aka.ms/LearnAboutSenderIdentification>
>
> *CAUTION:* This is an external email. Please be very careful when
> clicking links or opening attachments. See the URL nok.it/ext for
> additional information.
>
>
> Hello Matthew,
>    Thanks for your feedback.
>    We have updated the draft with your feedback.
>    We are attaching the diff  and the our response to your feedback.
>
>    Please let us know if you have any questions.
>
> Thanx,
> Jags
>
> Get Outlook for Mac <https://aka.ms/GetOutlookForMac>
> *From: *Matthew Bocci via Datatracker <noreply@ietf.org>
> *Date: *Friday, December 19, 2025 at 11:38 AM
> *To: *rtg-dir@ietf.org <rtg-dir@ietf.org>
> *Cc: *draft-ietf-mpls-mna-hdr.all@ietf.org <
> draft-ietf-mpls-mna-hdr.all@ietf.org>, last-call@ietf.org <
> last-call@ietf.org>, mpls@ietf.org <mpls@ietf.org>
> *Subject: *draft-ietf-mpls-mna-hdr-17 ietf last call Rtgdir review
>
> Document: draft-ietf-mpls-mna-hdr
> Title: MPLS Network Action (MNA) Sub-Stack Solution
> Reviewer: Matthew Bocci
> Review result: Has Issues
>
> Hello,
>
> I have been selected as the Routing Directorate reviewer for this draft.
> The
> Routing Directorate seeks to review all routing or routing-related drafts
> as
> they pass through IETF last call and IESG review, and sometimes on special
> request. The purpose of the review is to provide assistance to the Routing
> ADs.
> For more information about the Routing Directorate, please see
> https://wiki.ietf.org/en/group/rtg/RtgDir
>
> Although these comments are primarily for the use of the Routing ADs, it
> would
> be helpful if you could consider them along with any other IETF Last Call
> comments that you receive, and strive to resolve them through discussion
> or by
> updating the draft.
>
> Document: draft-ietf-mpls-mna-hdr-17
> Reviewer: Matthew Bocci
> Review date: 18-12-2025
>
> Summary
> -------
> In general, the draft is clear and readable. Thank you!
> I appreciate that the draft is the a part of a wider set of protocol
> extensions
> required to achieve MPLS Network Actions, so I have primarily reviewed this
> from the context of the header format and processing that it defines,
> rather
> than broader questions of the overall trajectory of the MNA design. I
> believe
> my comments are fairly minor but these should be resolved before
> progressing
> the draft.
>
> Detailed Comments.
> -----------------
> Comments are embedded below, prefixed by MB>. Line numbers are generated by
> id-nits.
>
> 2       MPLS Working Group                                  J.
> Rajamanickam, Ed.
> 3       Internet-Draft                                            R.
> Gandhi, Ed.
> 4       Intended status: Standards Track                     Cisco
> Systems, Inc.
> 5       Expires: 4 June 2026                                           R.
> Zigler
> 6
> Broadcom
> 7
> H. Song
> 8                                                         Futurewei
> Technologies
> 9                                                                    K.
> Kompella
> 10                                                              Juniper
> Networks
> 11                                                               1
> December 2025
>
> 13                    MPLS Network Action (MNA) Sub-Stack Solution
> 14                             draft-ietf-mpls-mna-hdr-17
>
> MB> Can the title of the document better reflect its content? The draft
> specifies the MNA Sub-stack, including support for in-stack data, but not
> support for post-stack data. Also, it is not an MNA solution as described
> in
> RFC9782 Section 2, but is primarily a header specification. I would suggest
> updating the title to something like: "MPLS Network Action (MNA) Sub-Stack
> Specification including In-Stack Network Action Indicators and In-Stack
> Data.",
> or something along those lines.
>
> 16      Abstract
>
> 18         This document defines the MPLS Network Actions (MNA) sub-stack
> 19         solution for carrying Network Actions and Ancillary Data in the
> MPLS
> 20         label stack.  MNA can be used to influence packet forwarding
> 21         decisions, carry additional Operations, Administration, and
> 22         Maintenance information in the MPLS packet or perform
> user-defined
> 23         operations.  The solution specified in this document addresses
> the
> 24         requirements for In-stack network action and In-stack data
> found in
> 25         RFC 9613.  This document follows the architectural framework
> for the
>
> MB> I suggest re-phrasing to:
>
> 8          This document specifies the MPLS Network Actions (MNA) sub-stack
> 19         for carrying Network Actions and Ancillary Data in the MPLS
> 20         label stack.  MNA can be used to influence packet forwarding
> 21         decisions, carry additional Operations, Administration, and
> 22         Maintenance information in the MPLS packet or perform
> user-defined
> 23         operations.  This document addresses the
> 24         requirements for In-stack network actions and In-stack data
> found in
> 25         RFC 9613.
>
> [snip]
>
> 115     1.  Introduction
>
> 117        [RFC3032] defines the encoding of the MPLS label stack, the
> basic
> 118        structure used to define a forwarding path.  Forthcoming
> applications
>
> MB> The term "forthcoming" could become outdated very rapidly. Rather than
> saying "Forthcoming applications" it would be clearer to move the
> reference to
> RFC9791 up front and say "There are applications that... ".
>
> 119        require MPLS packets to perform special network actions and
> carry
> 120        optional Ancillary Data (AD) that can affect the packet
> forwarding
> 121        decision or trigger Operations, Administration, and Maintenance
> (OAM)
> 122        logging, for example.  Ancillary Data can be used to carry
> additional
> 123        information, such as a network slice identifier or an entropy
> value
> 124        for load-balancing.  Several MPLS Network Actions (MNA)
> applications
> 125        are described in [RFC9791].
>
> 127        The solution specified in this document addresses the
> requirements
> 128        for In-stack network action and In-stack data (ISD) found in
> 129        [RFC9613].
>
> 131        This document defines the syntax and semantics of network
> actions and
> 132        ancillary data encoded in an MPLS label stack.  In-stack
> actions and
> 133        ancillary data are contained in a Network Action Sub-Stack
> (NAS),
> 134        which is recognized by a new base Special Purpose Label
> (bSPL).  This
> 135        document follows the framework specified in [RFC9789].
>
> [snip]
>
> 201     3.  Overview
>
> 203        The MPLS Network Action Sub-Stack (NAS) is a set of Label Stack
> 204        Entries (LSEs) that appear as part of an MPLS label stack and
> serve
> 205        to encode information about the network actions that should be
> 206        invoked for the packet.  Multiple NASes may appear in a label
> stack
> 207        and be placed as described in Section 5.
>
> 209        This document describes how network actions and their optional
> 210        ancillary data are encoded as part of an NAS as a stack of LSEs.
>
> MB> s/an NAS/a NAS
> MB> I think it is worth adding a statement that this document defines new
> LSE
> formats beyond RFC3032 that define behaviors or are processed in different
> ways
> to MPLS labels as defined in RFC3031.
>
> 211        Mechanisms that allow sharing of ancillary data (AD) between
> multiple
> 212        network actions encoded in the same NAS can be described in
> other
> 213        documents and do not rely on any explicit provision in the
> encodings
> 214        described in this document.
>
> 216     4.  Label Stack Entry Formats
>
> 218        The NAS uses a variety of different formats of LSEs for
> different
> 219        purposes.  This section describes the syntax of the various
> formats
> 220        while the overall structure of the NAS and the semantics of the
> 221        various LSEs are described in the sections below.
>
> 223     4.1.  LSE Format A: The MNA Sub-Stack Indicator
>
> 225        LSE Format A is an LSE as described in [RFC3032] and
> [RFC5462].  The
> 226        label value is an IANA-assigned value (TBA) for the MNA bSPL
> label
> 227        from the "Base Special-Purpose MPLS Label Values" registry to
> 228        indicate the presence of MNA in the packet and the beginning of
> an
> 229        MNA Sub-Stack in the label stack.
>
> 231         0                   1                   2                   3
> 232         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> 233
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 234        |      MNA-Label=bSPL                   | TC  |S|    TTL
> |
> 235
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>
> 237                 Figure 1: LSE Format A: The MNA Sub-Stack Indicator
>
> 239        *  S (1 bit): The Bottom of Stack [RFC3032].  MUST be set to 0
> on
> 240           transmitted packets.  If a packet is received with an LSE
> 241           containing the bSPL (value TBA) and with S bit set to 1,
> then the
> 242           packet MUST be dropped.
>
> 244     4.2.  LSE Format B: The initial opcode
>
> 246        LSE Format B is used to encode the first opcode in the NAS,
> plus a
> 247        number of other fields about the NAS.  This LSE can carry up to
> 13
> 248        bits of ancillary data.
>
> 250         0                   1                   2                   3
> 251         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> 252
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 253        |   Opcode    |        13-bit Data      |R|IHS|S|  NASL |U| NAL
> |
> 254
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>
> 256                      Figure 2: LSE Format B: The initial opcode
>
> 258        *  Opcode (7 bits): The operation code for this LSE.  See
> 259           Section 5.1.
>
> 261        *  Data (13 bits): Opcode-specific ancillary data.
>
> 263        *  R (1 bit): Reserved.  This bit MUST be transmitted as zero
> and
> 264           ignored upon receipt.
>
> MB> Suggest rephrasing to "This bit MUST be set to zero on transmission and
> ignored upon receipt." to be more consistent with other MPLS RFCs.
>
> 266        *  IHS (2 bits): The scope of the sub-stack.  See Section 5.3.
>
> MB> Isn't this the scope of the network action rather than the sub-stack?
> That
> would be consistent with RFC9613 and Section 5.3.
>
> 268        *  S (1 bit): The Bottom of Stack [RFC3032].  If NASL value is
> non-
> 269           zero, then S bit MUST be 0.  If a packet is received with S
> bit
> 270           set to 1 and a non-zero NASL value, then the packet MUST be
> 271           dropped.  The encapsulating node MUST ensure that the S bit
> is set
> 272           to 1 only in the Last LSE in the MPLS header.
>
> [snip]
>
> 338        *  S (1 bit): The Bottom of Stack [RFC3032].  If this is not
> the last
> 339           LSE for the Network Action based on the NAL value and if S
> bit is
> 340           set to 1 then the packet MUST be dropped.  If this is not
> the last
> 341           LSE in the NAS and if S bit is set to 1 then the packet MUST
> be
> 342           dropped.  The encapsulating node MUST ensure that the S bit
> is set
> 343           to 1 only in the Last LSE.
>
> 345        *  Data (22 bits + 8 bits): Opcode-specific ancillary data
>
> MB> Full stop/period is missing at the end of the above bullet.
>
> 347        NOTE: A Format A and a Format B LSE MUST be present when a
> Format D
> 348        LSE is carried in the NAS.
>
> 350     5.  The MNA Sub-Stack
>
> 352        The MNA Sub-Stack begins with a Format A LSE (Section 4.1).  The
> 353        label value of the LSE contains the MNA bSPL (value TBA) to
> indicate
> 354        the presence of the MNA Sub-Stack.
>
> [snip]
>
> 371        The Format B LSE (Section 4.2) could optionally carry
> additional data
> 372        in Format D (Section 4.4) LSEs, up to the length encoded in the
> LSE's
> 373        NAL value.
>
> 375        An NAS MAY contain more Format C (Section 4.3) and Format D
>
> MB> s/An NAS/A NAS.
>
> 376        (Section 4.4) LSEs, up to the length encoded in the NASL
> value.  All
> 377        Format D LSEs MUST follow a Format C or B LSE and be included
> in that
> 378        LSE's NAL value.
>
> 380     5.1.  Opcodes
>
> 382        The opcode is a 7-bit field that indicates the semantics of its
> LSE.
> 383        Several opcodes are assigned special semantics (Section 6),
> others
> 384        act as Network Action Indicators and are assigned through IANA
> 385        (Section 10 and Section 14.4).
>
> 387     5.2.  Ancillary Data
>
> 389        The data field carries opcode-specific data that is ancillary
> data
> 390        for a network action.  In the case of opcode 1, the data field
> 391        carries Flag-Based Network Action Indicators without ancillary
> data.
>
> 393        Legacy implementations might use the label value (most
> significant 20
>
> MB> I am not sure you mean "Leagacy implementations" since this document
> does
> not obsolete RFC3031 or any other RFC. Label based hashing is a perfectly
> valid
> way of ensuring ECMP behavior does not lead to out of order packet
> delivery on
> an MPLS-based service, and it is very widely deployed. Maybe rephrase to:
> "The
> label value (most significant 20 bits) in one or more consecutive LSEs is
> commonly used for load balancing data flows in an ECMP environment."
>
> 394        bits) in one or more consecutive LSEs when load-balancing data
> flows
> 395        in an ECMP environment.  Modifying the first 20 bits in an LSE
> might
> 396        alter that packet's path and result in out-of-order delivery of
> 397        packets.  To maintain the stability of deployed services in ECMP
>
> MB> The sentence above doesn't quite capture what it is trying to say, I
> think.
> I suggest modifying to: "Modifying the first 20 bits in an LSE might alter
> a
> packet's path and result in out-of-order delivery of packets belonging to a
> given flow."
>
> 398        environments that rely on label value information for
> load-balancing,
> 399        care must be taken when encoding network action data in the
> given
> 400        LSE.  If the network action data may differ among packets in
> the same
> 401        flow or change during forwarding across the MPLS network, it
> MUST NOT
> 402        be placed in the most significant 20 bits of a Format B LSE
> 403        (Section 4.2), a Format C LSE (Section 4.3), or a Format D LSE
> 404        (Section 4.4).  Thus, the available bits for data that can
> change by
> 405        a transit node or differ among packets of the same flow in
> Format A
> 406        and Format B LSEs are 0, Format C LSE is 7 (bits 20-22 and
> 25-28) and
> 407        Format D LSE is 11 (bits 20-22 and 24-31).
>
> [snip]
>
> 426     5.3.  Scope
>
> 428        The IHS field in the Format B LSE indicates the scope of all
> the NAIs
> 429        encoded in the NAS.  Scope defines which nodes along the MPLS
> path
> 430        should perform the network actions found within the NAS.  The
> 431        specific values of the IHS field are as follows:
>
> 433                         +======+=========================+
> 434                         | Bits | Scope                   |
> 435                         +======+=========================+
> 436                         | 00   | I2E                     |
> 437                         +------+-------------------------+
> 438                         | 01   | HBH                     |
> 439                         +------+-------------------------+
> 440                         | 10   | Select                  |
> 441                         +------+-------------------------+
> 442                         | 11   | Reserved for future use |
> 443                         +------+-------------------------+
>
> 445                             Table 2: IHS Scope Values
>
> 447           Ingress To Egress (I2E) - The NAS MUST NOT be processed by
> any
> 448           node except the egress node.
>
> MB> Is it the NAS or the network action (or NAI) that is scoped? The
> terminology in RFC9789 seems to suggest that it is the NA. I suggest
> aligning
> the definitions in this section with that RFC.
>
> 450           Hop-By-Hop (HBH) - All nodes along the path MUST process the
> NAS.
>
> 452           Select - Only specific nodes along the path that brings NAS
> to top
> 453           of the stack will perform the action.
>
> 455        A single NAS carries only one of the three scopes
> (I2E/HBH/Select).
> 456        To support multiple scopes for a single packet, multiple NASes
> MAY be
> 457        included in a single label stack.
>
> MB> Ah OK. So now you say it is the NAS that is scoped. Would it be more
> recise
> to say that a given NAS can only carry NAIs with the same scope?
>
> 459        The egress node is included in the HBH scope.  This implies
> that the
> 460        penultimate node MUST NOT remove a HBH NAS.  The egress node MAY
> 461        receive an NAS at the top of the label stack as discussed in
> 462        Section 10.
>
> 464        An I2E scope NAS, if present, MUST be encoded after any HBH or
> 465        Select-scope NASes.  This makes it easier for the transit nodes
> to
> 466        process a NAS with HBH or Select scope.
>
> 468        If a packet is received with the IHS scope set to "Reserved for
> 469        future use", the packet is processed based on the U bit in the
> Format
> 470        B LSE in the NAS.
>
> [snip]
>
> 565     7.  NAS placement in the Label Stack
>
> 567        The node adding an NAS to the label stack places a copy of the
> NAS
> 568        where the relevant nodes can read it.  Each downstream node
> along the
> 569        path has a Readable Label Depth (RLD).  If the NAS is to be
> processed
> 570        by a downstream MNA-capable node, then the entire NAS MUST be
> placed
> 571        so that it is within RLD by the time the packet reaches the
> 572        downstream MNA-capable node.
>
> 574        If the label stack is deep, several copies of the NAS may need
> to be
> 575        encoded in the label stack.
>
> 577        For an NAS with HBH scope, every node will process the top copy
> of
>
> MB> s/an NAS/a NAS
>
> 578        the NAS, but the NAS MUST NOT appear at the top of the stack at
> any
> 579        MNA-incapable node on the path.
>
> 581        An NAS MUST NOT appear at the top of the stack after popping the
> 582        forwarding label on an MNA-incapable node on the path.
>
> MB> Can you provide more guidance on how the MNA capable inress LER can
> ensure
> this if the downstream node is MNA incapable?
>
> 584        The node behaviour, where an NAS with I2E and HBH scopes is also
> 585        removed along with popping the forwarding label on a PHP node,
> is
> 586        outside the scope of this document.
>
> 588        For an NAS with Select scope, it is processed by the node that
> brings
>
> MB> s/an NAS/a NAS
>
> 589        it to the top of stack (for example, in the case of using MPLS
> label
> 590        pop operation in Segment Routing) and then the NAS is removed
> from
> 591        the stack.  The select-scoped NAS needs to be inserted after the
> 592        forwarding label and before the next forwarding label.  It
> could be
> 593        inserted before or after a HBH NAS.  Note that the case of an
> NAS
> 594        with Select scope with MPLS label swap operation (for example,
> with
> 595        RSVP Traffic Engineering LSPs) is for future study.
>
> [snip]
>
> 614     7.1.  Actions when Pushing Labels
>
> 616        An MNA-capable node may need to push additional labels as well
> as
> 617        push new network actions onto a received packet.
>
> 619        While pushing additional labels on to the label stack of the
> received
> 620        packet, the MNA-capable node MUST verify that the entire
> top-most NAS
> 621        with HBH scope is still within the RLD of the downstream
> MNA-capable
> 622        nodes.  If required, the MNA-capable node MAY create a copy of
> the
> 623        top-most NAS with HBH scope and insert it within the RLD of the
> 624        downstream MNA-capable nodes on the label stack.
>
> 626        When an MNA-capable node needs to push a new NAS with HBH scope
> on to
> 627        a received packet that already has an NAS with HBH scope, it
> SHOULD
> 628        copy (and merge) the network actions (including their Ancillary
> Data)
> 629        from the received top-most NAS with HBH scope in the new NAS
> with HBH
> 630        scope.  The new NAS MUST be placed within the RLD of the
> downstream
> 631        MNA-capable nodes.  This behavior can be based on local policy.
>
> 633        The new network actions added MUST NOT conflict with the network
> 634        actions in the received NAS with HBH scope.  The mechanism to
> resolve
> 635        such conflicts depend on the network actions and can be based on
> 636        local policy.  The MNA-capable node that pushes entries MUST
> 637        understand any network actions which it is pushing which may
> result
> 638        in a conflict, and MUST resolve any conflicts between new and
> 639        received network actions.  In the usual case of a conflict of
> 640        duplicating a network action, the definition of the network
> action
> 641        will generally give guidance on likely resolutions.
>
> MB> The last sentence above is unclear. Also, I think this should be more
> prescriptive so that such that the resolution of conflicts is
> deterministic. I
> propose rephrasing to "The definition of a network action MUST give
> guidance on
> confict resolution."
>
> 643     8.  Node Capability Signaling
>
> 645        The Encapsulating Node is the node that pushes an NAS on to the
> Label
> 646        stack.
>
> MB> 'encapsulating node' to be consistent wiht the captulaisation below.
>
> 648        The encapsulating node MUST make sure that the NAS can be
> processed
> 649        by the transit and egress nodes.
>
> 651        *  The node responsible for selecting a path through the MPLS
> network
> 652           needs to know and consider the MNA-capabilities and RLD of
> the
> 653           transit nodes, and the MNA-capabilities of the end point.
>
> 655        *  Information about the capabilities of the nodes may be
> configured,
> 656           collected through management protocols, or distributed by
> control
> 657           protocols (such as advertising by routing protocols).
>
> 659        *  The mechanisms by which the capabilities of the nodes are
> known by
> 660           the node responsible for selecting a path through the MPLS
> network
> 661           are out of scope for this document.
>
> 663        *  In the case of MPLS Segment Routing (SR-MPLS), as well as
> the,
> 664           RLD, the path computation system needs to know the MSD
> [RFC8664]
> 665           that can be imposed at the ingress node of a given SR path.
> This
> 666           ensures that the label stack depth of a computed path does
> not
> 667           exceed the maximum number of labels (i.e., MSD) the node is
> 668           capable of imposing and the maximum number of labels that
> can be
> 669           read by the MNA-processing nodes in the path.  The MSD needs
> to
> 670           include the MNA Sub-Stacks to be added.
>
> MB> I think this is 'MUST include'.
>
> 672     9.  Processing the Network Action Sub-Stack
>
> 674        This section defines the specific responsibilities for nodes
> along an
> 675        LSP [RFC3031].
>
> 677     9.1.  Encapsulating Node Responsibilities
>
> 679        The encapsulating node MAY add NASes to the label stack in
> accordance
> 680        with its policies, the placement restrictions in Section 7, and
> the
> 681        limitations learned from Section 8.
>
> 683        The encapsulating node MUST NOT add an NAS to the label stack
> if the
> 684        egress node does not support MNA.
>
> MB> s/an NAS/a NAS
>
> 686        If there is an existing label stack, the encapsulating node
> MUST NOT
> 687        modify the first 20 bits of any LSE in the label stack when the
> ECMP
> 688        technique in the network is using the hashing of the labels on
> the
> 689        label stack.
>
> 691        If the encapsulating node is also a transit node, then it MUST
> also
> 692        follow the rules set out in Section 9.2.
>
> [snip]
>
> 724        The following information MUST be defined for a new Network
> Action
> 725        Indicator opcode request in the document that specifies the
> Network
> 726        Action.
>
> 728        A request for a new NAI opcode MUST include the following
> 729        information:
>
> 731        *  Format: The definition of the new Network Action MUST
> specify the
> 732           LSE Formats.  The opcode can define Network Action in Format
> B or
> 733           C or both Format B and C.  Both Format B and C LSEs MAY
> optionally
> 734           carry Format D LSEs.
>
> 736        *  Scope: The definition of the new Network Action MUST specify
> at
> 737           least one scope (I2E, HBH, Select) for the Network Action,
> and MAY
> 738           specify more than one scope.
>
> 740        *  Ancillary Data: The definition of the new Network Action MUST
> 741           specify the quantity, syntax, and semantics of any associated
> 742           Ancillary Data.  The Ancillary Data MAY be variable length,
> but
> 743           the length MUST be computable based on the data present in
> the
> 744           NAS.
>
> 746        *  Processing: The definition of the new Network Action MUST
> specify
> 747           the detailed procedure for processing the network action.
>
> 749        *  Interactions: The definition of the new Network Action MUST
> 750           specify its interaction with other currently defined Network
> 751           Action if there is any.
>
> MB> Including any considerations in merging network actions?
>
> 753        An assignment for an NAI MAY make requests from any combination
> of
> 754        the "Network Action Opcodes" or "Network Action Flags Without
> 755        Ancillary Data" assignments.  This decision should optimize for
> 756        eventual encoding efficiency.  If the NAI does not require any
> 757        ancillary data, then a flag is preferred as only one bit is
> used in
> 758        the encoding.
>
> 760     11.  Backward Compatibility
>
> 762        This section discusses interactions between MNA-capable and
> legacy,
> 763        MNA-incapable nodes.
>
> MB> remove the work 'legacy' in this section as suggested above. It is just
> 'MNA-incapable'.
>
> 765        An MNA-encapsulating node MUST ensure that the MPLS Network
> Action
> 766        Sub-Stack indicator is not at the top of the MPLS label stack
> when
> 767        the packet arrives at an MNA-incapable node.  If such a packet
> did
> 768        arrive at an MNA-incapable node, it will most likely be dropped
> as
> 769        described in Section 2.1.1 of [RFC7325].
>
> 771        Legacy nodes may scan the label stack, potentially looking for a
> 772        label value containing a bSPL.  To ensure that the LSE formats
>
> MB> *any* node cold scan the label stack looking for a bSPL.
>
> 773        described herein do not appear to contain a bSPL value, the
> opcode
> 774        value of 0 has been reserved.  By ensuring that there is a
> non-zero
> 775        value in the high order 7 bits, we are assured that the high
> order 20
> 776        bits cannot be misinterpreted as containing a bSPL value (0-15).
>
> 778        The TC and TTL values of the Format A LSE are not re-purposed
> for
> 779        encoding, as the penultimate node on the MPLS packet path may
> 780        propagate TTL from the transport (or forwarding) label to the
> next
> 781        label on the label stack, overwriting the TTL on the next
> label.  If
> 782        the penultimate node is a legacy node, it might perform this
> action,
> 783        potentially corrupting other values stored in the TC and TTL
> values.
> 784        To protect against this, we retain the TC and TTL values in the
> 785        Format A LSE.
>
> 787        When adding the Entropy Label Identifier (ELI) (bSPL 7) and
> Entropy
>
> MB> Entropy Label Identifier / Entropy Label Indicator
>
> 788        Label (EL) as defined in [RFC6790], along with an MNA NAS, the
> RLD
> 789        MUST be considered for the placement of both, and they both can
> be
> 790        placed in any order.  If a transit LSR chooses to use as much
> of the
> 791        whole label stack as feasible as keys for the load-balancing
> 792        function, the MNA reserved label MUST NOT be used as a key for
> the
> 793        load-balancing function, as specified in Section 4.3 of
> [RFC6790].
> 794        Note that the behavior of an MNA-incapable transit LSR that
> scans the
> 795        label stack for ELI and EL but encounters a different,
> unrecognized
> 796        reserved label first, is not modified by this document.
>
> 798        Similarly, when adding the Flow-ID Label Indicator (FLI)
> (including
> 799        the extension label 15) and Flow-ID Label (FL) as defined in
> 800        [RFC9714], along with an MNA NAS, the RLD MUST be considered
> for the
> 801        placement of both, and they both can be placed in any order.
> Note
> 802        that the behavior of an MNA-incapable transit LSR that scans the
> 803        label stack for FLI (including the extension label 15) and FL,
> but
> 804        encounters a different, unrecognized reserved label first, is
> not
> 805        modified by this document.
>
> 807        However, as the existing behavior is not specified for transit
> LSRs,
> 808        upon encountering any unrecognized bSPLs or eSPLs below the top
> of
> 809        the label stack, some existing implementations may have chosen
> to
> 810        implement non-standardized actions, such as discarding
> packets.  Any
> 811        uses of a new bSPL or eSPL would cause issues with such existing
> 812        implementations using the non-standardized actions upon
> encountering
> 813        unrecognized bSPLs or eSPLs below the top of the label stack.
> Since
> 814        this is a generic problem, any clarifications for the treatment
> of
> 815        unrecognized bSPL or eSPL are outside the scope of this
> document.
>
> 817     12.  Implementation Status
>
> 819        [Note to the RFC Editor - remove this section before
> publication, as
> 820        well as remove the reference to [RFC7942]]
>
> 822        This section records the status of known implementations of the
> 823        protocol defined by this specification at the time of posting
> of this
> 824        Internet-Draft, and is based on a proposal described in
> [RFC7942].
> 825        The description of implementations in this section is intended
> to
> 826        assist the IETF in its decision processes in progressing drafts
> to
> 827        RFCs.  Please note that the listing of any individual
> implementation
> 828        here does not imply endorsement by the IETF.  Furthermore, no
> effort
> 829        has been spent to verify the information presented here that was
> 830        supplied by IETF contributors.  This is not intended as, and
> must not
> 831        be construed to be, a catalog of available implementations or
> their
> 832        features.  Readers are advised to note that other
> implementations may
> 833        exist.
>
> 835     12.1.  University of Tuebingen Implementation
>
> 837        The solution defined in the document draft-ietf-mpls-mna-hdr-08
> has
> 838        been implemented using P4 pipeline.  The implementation code
> can be
> 839        found at https://github.com/uni-tue-kn/P4-MNA.
>
> MB> General comment: It would be useful to record the above implementation
> status somewhere public after it is removed from this document. The text
> should
> also be clear as to what value of bSPL is used by this implementation to
> avoid
> the risks of clashes in the wild, since there is no early allocation for
> the
> MNA bSPL.
>
> 841     13.  Security Considerations
>
> 843        The security considerations in [RFC3032] and [RFC9789] also
> apply to
> 844        this document.
>
> 846        In addition, MNA-creates a new dimension in security concerns:
>
> 848        *  The actions of an encapsulating node can affect any or all
> of the
> 849           nodes along the path.  In the most common and benign
> situations,
> 850           such as a syntactically incorrect packet could result in
> packet
> 851           loss or corruption.
>
> 853        *  The semantics of a network action are unbounded and may be
> 854           insecure.  A network action could be defined that made
> arbitrary
> 855           changes to the memory of the forwarding router, which could
> then
> 856           be used by the encapsulating node to compromise every
> MNA-capable
> 857           router in the network.  The IETF needs to ensure that only
> secure
> 858           network actions are defined.
>
> 860        *  The MNA architecture supports locally-defined network
> actions.
> 861           For such actions, there will be limited oversight to ensure
> that
> 862           the semantics do not create security issues.  Implementors
> and
> 863           network operators will need to ensure that the
> locally-defined
> 864           network actions do not compromise the security of the
> network.
>
> 866        *  The MPLS domain border nodes MUST ensure that the MPLS
> packets
> 867           with MNA from any domain with a different administrative
> control
> 868           can be filtered to prevent entering the provider MPLS
> domain.  The
> 869           filtering capability MAY be enabled on a per network action
> basis
> 870           and it can be based on a local policy.  The filtering
> capability
> 871           MUST be implemented on those nodes before deploying MNA in
> the
> 872           provider MPLS domain.  The RLD on the filtering node MUST be
> 873           higher than the RLD on all other nodes in the provider MPLS
> 874           domain.
>
> 876        *  The MNA architecture supports modifying the AD on the
> intermediate
> 877           nodes, so the critical network functions should either not
> rely on
> 878           the data or should be aware of the risks and use other means
> to
> 879           verify the security of the whole network.
>
> 881        *  The "private Use" opcodes in "Network Action Opcodes"
> Section 14.4
> 882           and "Network Action Flags Without Ancillary Data" Section
> 14.3
> 883           Registry are subject to the considerations described in
> [RFC8126].
>
> 885        *  System designers must be aware that information included in
> 886           Ancillary Data may be transmitted "in the clear."  Network
> actions
> 887           that require the exchange of sensitive data, must be defined
> in
> 888           such a way that the data is encrypted in transit.
>
> MB> MNA can define new forwarding actions. Mis-delivery of a packet due to
> malformed forwarding action data could be considered a security risk. I
> suggest
> adding this.
>
> 890     14.  IANA Considerations
> 891     14.1.  MNA bSPL Label
>
> 893        This document requests that IANA allocate a value (TBA) for the
> MNA
> 894        bSPL label from the "Base Special-Purpose MPLS Label Values"
> registry
> 895        to indicate the presence of an MNA Sub-Stack in the label
> stack.  The
> 896        description of the value should be "MPLS Network Actions".  The
> 897        reference should be this document.
>
> 899     14.2.  MPLS Network Actions Parameters
>
> 901        This document requests that IANA create a new category called
> "MPLS
> 902        Network Actions Parameters" within the "Multiprotocol Label
> Switching
> 903        Architecture (MPLS)" category.  The registries described below
> should
> 904        belong to this new category.
>
> [snip]
>
>
> _______________________________________________
> mpls mailing list -- mpls@ietf.org
> To unsubscribe send an email to mpls-leave@ietf.org
>