Re: [mpls] Notes on draft-jags-mpls-mna-hdr-04
Greg Mirsky <gregimirsky@gmail.com> Sat, 07 January 2023 01:17 UTC
Return-Path: <gregimirsky@gmail.com>
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 C7D5AC14F606 for <mpls@ietfa.amsl.com>; Fri, 6 Jan 2023 17:17:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.094
X-Spam-Level:
X-Spam-Status: No, score=-7.094 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_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, 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 PGwDpfgcO0dR for <mpls@ietfa.amsl.com>; Fri, 6 Jan 2023 17:17:31 -0800 (PST)
Received: from mail-qk1-x735.google.com (mail-qk1-x735.google.com [IPv6:2607:f8b0:4864:20::735]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 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 2404CC14F5E1 for <mpls@ietf.org>; Fri, 6 Jan 2023 17:17:31 -0800 (PST)
Received: by mail-qk1-x735.google.com with SMTP id pj1so1583067qkn.3 for <mpls@ietf.org>; Fri, 06 Jan 2023 17:17:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=nFtH4dNM05iUP4tQRVPdBuoEqMZR27nU53qp+ldv4+8=; b=qY+frVRC876SsSFPtGTncVYbyv+K3oz5VSw18D3ImBBBI2BQxe7GvlEjXSLn5wZZSo IaHzyIiOkttkQesdTkhjLxaBFXn+ji399Ld6xqkElKH38gC2eWkx3+oclUdQIpgUOI5C ISQDC9MsWktt2FnPK8QMDXyj6RNvL/JC1o15L/w3y2/dwtDOScLUlfhn+nQebqAuRBJu AHg4kuUCaRTA32jbVPA+xnmTJo5lMmprwmOccxHAGxCgfCtdE+MuiNtElKTJA5T4mdwa M6lY6m6AjsQ2tAc5cBGex9fLnp/Z2uSXCyIkACMlhotkxRdxWUneqhl/HgnLM7fW/T3i QEsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=nFtH4dNM05iUP4tQRVPdBuoEqMZR27nU53qp+ldv4+8=; b=1VeZJ/LqioXavtrUoE+jrJNaUk8nLE95+qMfjH4bfBPULKQ1OcNs+0DyNwDIa6BuAR JiA2VPVCtKnYaOCzQjfUjAopcAh9kcJJpQ/GOb/RFXej5eUnj58CjbyNIs4DIq4FY4VZ v65598ShJSgTjZt6tvrbBbLWLmTZaaP9YeFWrURCsvEhqqpjz/zt1XGfMQggiPlOFKYk LDM7LFcpyEJ39htb9ooFDaVzqlwoF2KYpuYWMr7nmaXYEkCYQxWXPvM9ND0fqtW3ol+Q nfyu4o7oTFBQuckvc9nbIr8REmcomYCZ/MWqNxMjTMc0O0gB75MTFs4TwMAk3o67yI4f GUJg==
X-Gm-Message-State: AFqh2kpx9jmnQkYV4gt13ebPbeDbpgRPJkP4QB+Vmx3p8nj3Cjf3AlpU wL7lK1ACTV2nSfv1dN7uzVIGF1O6YsuSX/DSdTRPqIdz9IU=
X-Google-Smtp-Source: AMrXdXsq9Xp0xDbTZqGtFkkzDUfpC40hla4T9g7nXtsa6WNFHe0efv0UWdVZQEce4ANjGJkgTVq+dFEzk3fful1FnL8=
X-Received: by 2002:a37:5d4:0:b0:702:5acf:48d0 with SMTP id 203-20020a3705d4000000b007025acf48d0mr2571314qkf.556.1673054250031; Fri, 06 Jan 2023 17:17:30 -0800 (PST)
MIME-Version: 1.0
References: <CA+RyBmX14e=5P6jxpxCm1LYVJZet2bn-OjzXkTSAJ9VGDAZoBw@mail.gmail.com> <CA+RyBmUMp6Zxit=_qnrOCjMAG0uQ5XNwE7A2vCBoZUnviqfZ_w@mail.gmail.com> <49C29FA2-A351-4623-8B1A-B614FF85B7F6@tony.li>
In-Reply-To: <49C29FA2-A351-4623-8B1A-B614FF85B7F6@tony.li>
From: Greg Mirsky <gregimirsky@gmail.com>
Date: Fri, 06 Jan 2023 17:17:18 -0800
Message-ID: <CA+RyBmXYB8E0iKVmH5OdFFK2LDgDoAXSLNZjHJJAPv-=w6yL4g@mail.gmail.com>
To: Tony Li <tony.li@tony.li>
Cc: mpls <mpls@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000004361b505f1a24c8d"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/glLbpdLc7zRFBrlo7x5tdONCls0>
Subject: Re: [mpls] Notes on draft-jags-mpls-mna-hdr-04
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 07 Jan 2023 01:17:33 -0000
Hi Tony, thank you for your kind consideration of my notes and thoughtful proposed updates. I've added several notes inline tagged by GIM>>. Regards, Greg On Thu, Jan 5, 2023 at 12:25 PM Tony Li <tony.li@tony.li> wrote: > > Hi Greg, > > I can’t speak for the authors, but I’m happy to propose text changes to > them. Let’s see if we can reach rough consensus on changes that would > address your questions. > > > - the scope of the draft is characterized in the Abstract as the > "solution for carrying Network Actions and Ancillary Data in the label > stack" and as "This document defines the syntax and semantics of network > actions encoded within an MPLS Label Stack" in the Introduction. That may > be viewed as excluding handling of a post-stack placing of MNA and AD. In > particular, how is a PSD-based MNA disposed of (more use cases below)? > > > How about we add this: > > A node that removes the last NAS that references post-stack > data MUST also remove the post-stack data. > GIM>> It is clearer. Do you think that a small tweak will help a bit more: Tony's text: A node that removes the last NAS that references post-stack data MUST also remove the post-stack data. Greg's text: A node that removes the last NAS that references post-stack data MUST also remove that post-stack data. > > - s/OAM logging/OAM action/? > > > I think you’re referring to the text in the introduction. The intent here > was to refer to the actual result of the OAM action, not the action itself. > GIM>> Although sometimes an OAM action triggers logging a message, that is not always the case. Was it in reference to a specific OAM action? > > > - User-defined actions are mentioned twice in the document. > Considering the extent of the document, a new document documenting > user-defined actions, their scope, etc., would be a reasonable format. What > do you think? > > > I don’t understand the concern. This document reserves code points for > user-defined actions. Beyond that, it’s completely up to the users to > document such actions. It’s a completely blank slate and I’m not sure what > more can be said. The whole point it to leave it as open as possible. > GIM>> As Loa suggested, having a new document is reasonable. I'd be happy to note that the user-defined actions are outside the scope of this document and are for further study. > > > - Would NASes be a better plural form of NAS? > > > Yes, that would be more in keeping with normal English rules. Done. > > > - What is the purpose of the Overview section? Could it be merged with > the Introduction? > > > The intent was to provide an overview of the solution and to start > introducing normative text. The introduction is meant to be only > informative. > > > - What could be the practical outcome of this case: > > If the node performing this copy is not > > aware of MNA, this could overwrite the values in the first LSE of the > > MNA sub-stack. > > > > This text was motivational and explains why we did not re-use the TC and > TTL fields in Format A LSEs. It would have been nice to have used those > fields for per-NAS values, but a legacy penultimate node would then corrupt > the NAS, with the practical outcome of a trashed NAS and subsequent > unintended behavior. > > > - As indicated in Section 6.3, Format D may be used to list MAIs > without ancillary data. If that is the case, then the title of Section > 4.4 LSE Format D: Additional Ancillary Data seems to not reflect that use > case. Perhaps removing "ancillary" be acceptable? > > > That seems reasonable. Done. > > > - What could be the reason for the modification of the AD by a > transient node, as suggested in the second paragraph of Section 5.2? Which > use cases listed in draft-ietf-mpls-mna-usecases > <https://datatracker.ietf.org/doc/draft-ietf-mpls-mna-usecases/> (minus > APN, as the group agreed) requires AD modification by a transient node? > > > That is left to the definition of the associated action. > > One could, for example, have an action that counts the number of times the > packet was placed in a non-empty transmission queue. > > One could also have an action that counts the number of routers on the > path that are located in a country ending with the letter ‘X’. > > > > - Perhaps s/multiple NASs may be/multiple NASs MAY be/? > > > I think you’re referring to section 5.3. Sure. > > > - It is not clear what is the scope of the "last copy" in the > following requirement: > > penultimate node MUST NOT remove the last copy of a HBH NAS > > Could it be that the "penultimate node MUST NOT remove NAS that includes > MNA of HBH scope"? > > > > As described in section 7, there may be multiple copies of a NAS in the > label stack. The text here was to be very explicit and prevent the removal > of the last copy of a HBH NAS. Now, to be sure, the penultimate node > should not receive multiple copies of a HBH NAS, but we were trying to be > extremely clear. > > How about “… the penultimate node MUST NOT remove a HBH NAS”? > GIM>> That's clearer, thank you. > > > - Could it be that the following requirement restricts how MNAs are > processed at the egress node: > > An I2E scope NAS MUST be encoded after any HBH or Select scope NASs. > > I imagine that some I2E NAS has to be processed by the egress before the > particular HBH NAS. It looks like the requirement prohibits that. > > > > As I mentioned on the call, I2E scope is largely redundant with Select > scope. To implement I2E scope, a Select NAS can be added to the stack with > the label that is popped by the ultimate node. Yes, this may require > adding an additional label to the stack. Then, to implement the ordering > that you suggest, the Select NAS should be placed ahead of the HBH NAS. > GIM>> Thank you for pointing out to me that I2E might be considered a special case of the Select scope. As that is the case, is it practical not to introduce the I2E scope at all? > > > - The following text defines the interpretation of O-bit being set: > > If the 'O' bit is set in a Format B LSE (Section 4.2) then it > indicates that the network actions encoded in the NAS MUST be > processed in the order that they appear in the NAS, from the top of > the NAS to the bottom. > > Is there a particular interpretation of the case when the O bit is > cleared? If there is no particular order of processing NASes, perhaps there > is no practical need for the O bit, and the processing rule can be defined > as the general requirement? > > > > Certain people are adamant that they not be restricted to in-order > processing. I will not defend their position, please take it up with them > directly. > > > - It seems like Opcode == 1 is intended, at least partially, to handle > PSD MNA for non-IP payload, i.e., PW. I am not sure that encoding PSD as > part of the PW payload is the best option. > > > Opcode 1 is provided to give design flexibility to those working on PSD. > It is not an intent to mandate or even suggest how that should be done. > > > - A couple of questions on Flag based NAIs with AD (Opcode == 3): > - Can the same Format C's LSE combine NAI and associated AD? > > > No. Format C LSEs only carry NAI (when used with this opcode). Text > clarified. > GIM>> Thanks > > > - Can the same Format D's LSE be used to list additional NAIs as well > as associated AD? > > > No, flags must appear in a format C LSE. Text clarified. > GIM>> Thanks > > > - Consider that Format D's LSEs are used to encode ancillary data for > a number of NAIs. Can a node that supports only some of these NAIs find > ancillary data for NAIs it does support if there's no uniform format for > the ISD-based AD? > > > That’s why we have this paragraph: > > If a flag contained within this opcode is unknown and is skipped per Section > 5.4 <https://datatracker.ietf.org/doc/html/draft-jags-mpls-mna-hdr-04#UOH>, > then the length of its associated ancillary data will also be unknown. Any > subsequent flags within the opcode will not have the correct associated > ancillary data, so all subsequent flags SHOULD be treated as unknown > actions and also skipped.¶ > <https://datatracker.ietf.org/doc/html/draft-jags-mpls-mna-hdr-04#section-6.4-6> > > > GIM>> Thanks for the clarification. I agree. It is a pragmatic approach. > Once you hit a unsupported NAI, you should just skip to the next opcode or > drop the packet, depending on the setting of the U bit. > > > - Could MNA be used in an LDP-based IP/MPLS network, as it is excluded > from mentioning in the text? > > > Added a reference to LDP. > > > - What constitutes the "entire NAS" that is mentioned in Section 7? AS > I understand it, NAS is defined as a sequence of LSE following a new bSPL: > > > The definition of a NAS is found in the framework document: > > An NAS > consists of a special label, optionally followed by LSEs that specify > which network actions are to be performed on the packet, and the in- > stack ancillary data for each indicated network action. > > So, in particular the NAS includes the LSE containing the new bSPL. > > In stack actions and ancillary data are contained in a > Network Action Sub-Stack (NAS), which is recognized by a new base > Special Purpose Label (bSPL) (value TBA). > > Furthermore, multiple NASes may be used to signal specific ordering of > NAIs. If that is the case, then what is the "entire NAS"? > > > > First, it should NOT be necessary to use multiple NASes of the same scope > to specify ordering. The only case I can think of where you might want > multiple NASes of the same scope that did not start off as copies is if you > exceed the length limitations of a single NAS. > > In the context of section 7, the text is trying to point out that for the > purposes of NAS placement, the encoding node should ensure that all of the > LSEs in the NAS are within the processing node’s stack inspection depth, > not just the first LSE. It would be problematic if the transit node could > see only a subset of the NAS. > GIM>> Thank you for the clarification. Got it. > > > - Some questions about the Select scope of NAS. > - What are the restrictions of using the Select scope in NAS? For > example. is the Select scope associated with only ISD or PSD or both types > may be used in the same NAS? > > > Select scope may be used with both ISD and PSD or just ISD. > > > - Furthermore, if HBH and Select scopes are used in subsequent NASes, > then is there a recommended order similar to the requirement in Section 5.3 > for I2E? > > > We should specify that. Text added. > > If a node is to process multiple NASes, it > should process them in the order that they appear in the label > stack. > > > - In Section 9.1 seems like s/each LSP/each LSE/ is needed. > > > Fixed, thanks. > > > - Is the following requirement equally apply to the ISD- and > PSD-located ancillary data: > > A transit node MAY change the Ancillary Data found in the least > significant 8 bits of an LSE. > > > > AFAIK, there are no LSE in PSD, by definition. PSD is not part of the > label stack. > > > - In Section 10, it seems like "must" and "should" need to be > capitalized. > > > Agreed. I also propose that several of the “should”s should actually be > MUSTs. > > > - It seems like captions for Table 4 and Table 5 need to be swapped. > > > Yes, thanks. > > > - Also, if the initial allocation in the "Network Action Flags Without > Ancillary Data" registry is 0-469, it seems logical to do the same for the > "Network Action Flags With Ancillary Data" regstry. > > > Right now, it’s not necessary. Since opcode 3 can only encode 20 bits, we > only made the registry that large initially. If this is insufficient, we > will need to allocate additional opcodes for additional bits. At that > time, we can also increase the size of the registry. > GIM>> OK > > > And here are some questions about use cases. Pleased let me know if any of > them is real or I'm way off: > > - As I understand it, MNA can be used in SR-MPLS. In that case, > multiple NASes may be present in the label stack. Since I couldn't find any > restrictions for use of multiple NASes, these might be different, i.e., > include different NAI and/or different ADs. Is that right? > > > The use of multiple NASes is not restricted to SR. Yes, you COULD do some > very strange things. We are trying to write a minimalist specification, so > that these odd things are not precluded. > GIM>> I wonder if the definition of a PSD belongs in draft-jags-mpls-mna-hdr or draft-song-mpls-extension-header. WDYT? > > > - Also, for the SR-MPLS case that uses PSD. Would there be a single > PSD or a copy for every ISD NAS? > > > That should not be necessary. AFAICT, you can put everything into a > single PSD structure, unless you want to do more odd things. > > > - If there's a single PSD for all NASes in the stack, which node must > remove the PSD? > > > The node that removes the last NAS that indicates that there is PSD > present. > > > - If there the PSD is per NAS then the node that disposes of NAS must > remove corresponding PSD. Right? But that might affect the offset from BoS > for remaining PSD. > > > Agreed. And that’s very painful but not impossible. I would avoid PSD per > NAS, if possible. > > > Thank you for your kind consideration of my notes and questions. Looking > forward for our discussion. > > > > Thank you for your comments and questions. > > T > > >
- [mpls] Fwd: Notes on draft-jags-mpls-mna-hdr-04 Greg Mirsky
- Re: [mpls] Fwd: Notes on draft-jags-mpls-mna-hdr-… John E Drake
- Re: [mpls] Fwd: Notes on draft-jags-mpls-mna-hdr-… Greg Mirsky
- Re: [mpls] Notes on draft-jags-mpls-mna-hdr-04 Tony Li
- Re: [mpls] Notes on draft-jags-mpls-mna-hdr-04 Tony Li
- Re: [mpls] Notes on draft-jags-mpls-mna-hdr-04 Greg Mirsky
- Re: [mpls] Notes on draft-jags-mpls-mna-hdr-04 Greg Mirsky
- Re: [mpls] Notes on draft-jags-mpls-mna-hdr-04 Tony Li
- Re: [mpls] Notes on draft-jags-mpls-mna-hdr-04 Greg Mirsky
- Re: [mpls] Notes on draft-jags-mpls-mna-hdr-04 Tony Li
- Re: [mpls] Notes on draft-jags-mpls-mna-hdr-04 Greg Mirsky