[mpls] Re: #6 The select problem

Adrian Farrel <adrian@olddog.co.uk> Fri, 18 April 2025 15:20 UTC

Return-Path: <adrian@olddog.co.uk>
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 6CEDF1E2321E; Fri, 18 Apr 2025 08:20:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.796
X-Spam-Level:
X-Spam-Status: No, score=-2.796 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, 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=olddog.co.uk
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 VFVWTonep9fj; Fri, 18 Apr 2025 08:20:27 -0700 (PDT)
Received: from mta7.iomartmail.com (mta7.iomartmail.com [62.128.193.157]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 94AFA1E22F1B; Fri, 18 Apr 2025 08:20:06 -0700 (PDT)
Received: from vs4.iomartmail.com (vs4.iomartmail.com [10.12.10.122]) by mta7.iomartmail.com (8.14.7/8.14.7) with ESMTP id 53IFK4wT001163; Fri, 18 Apr 2025 16:20:04 +0100
Received: from vs4.iomartmail.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7C76546043; Fri, 18 Apr 2025 16:20:04 +0100 (BST)
Received: from vs4.iomartmail.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5C6454604A; Fri, 18 Apr 2025 16:20:04 +0100 (BST)
Received: from asmtp2.iomartmail.com (unknown [10.12.10.249]) by vs4.iomartmail.com (Postfix) with ESMTPS; Fri, 18 Apr 2025 16:20:04 +0100 (BST)
Received: from LAPTOPK7AS653V (82-69-109-75.dsl.in-addr.zen.co.uk [82.69.109.75]) (authenticated bits=0) by asmtp2.iomartmail.com (8.14.7/8.14.7) with ESMTP id 53IFK34s021202 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 18 Apr 2025 16:20:03 +0100
From: Adrian Farrel <adrian@olddog.co.uk>
To: 'Loa Andersson' <loa.pi.nu@gmail.com>
References: <3c8b3ade017647f6a39a6d590776aa9f@huawei.com> <dac544ff-7cf8-4f8a-90e9-312d64957f56@joelhalpern.com> <beb20c7f-fe49-4437-9c0d-e1c47e2e0cd6@pi.nu> <cffebb5c-8b2c-4853-84d1-eb6d5b30f050@joelhalpern.com> <98318764-48f9-4446-a6d6-0d7c969263a3@pi.nu> <06ea01dbb06a$dd00f110$9702d330$@olddog.co.uk> <CANZnSTpbBnS2W+GsqRsqVQ7jMzZO5+CHCHxtc-0KXNvDFXUKdQ@mail.gmail.com>
In-Reply-To: <CANZnSTpbBnS2W+GsqRsqVQ7jMzZO5+CHCHxtc-0KXNvDFXUKdQ@mail.gmail.com>
Date: Fri, 18 Apr 2025 16:20:03 +0100
Organization: Old Dog Consulting
Message-ID: <071801dbb075$5c4bdf20$14e39d60$@olddog.co.uk>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0719_01DBB07D.BE11A6B0"
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-gb
Thread-Index: AQIYpKhW+uaem/AzXreAxCCrCFXlEwGVD+99ACkDftsB8AhsYgJoFgs8AzfNEnwA+qX8YLLdW+PA
X-Originating-IP: 82.69.109.75
X-Thinkmail-Auth: adrian@olddog.co.uk
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=olddog.co.uk; h=reply-to :from:to:cc:references:in-reply-to:subject:date:message-id :mime-version:content-type; s=20221128; bh=iF/NWU25Bbqjvm+zcBh5b lWcZ7qQ+EA+e9wScvxPUtQ=; b=igzNWw+5jJg2cSh5paDLxiX+6kraxZCww+O9o 7HL2jfgx7G/dgBIh8usTqKJsLV+oFxsnYKMgLaRGiktwEqDFUayJLXKRgnM3cll0 8s78DK9EUrbHsw4ZDjNxFq8oItUulQzNcdJP4aFsF1IOuToD9NBE2o5f5JqM3mtp vUkkaox5T+EcwBW/oqfoakAxKvHSCn+1xfD8xSq2BJqQZh+nf0/LEIiXrigHNKKq WpRbD6hxVswCgfHM5AdDWhz/mu8AdqLKHHY13bQdihsQIdEyllPmDaWocXpiQer9 0C/bijLigW00csXihfULud4H6C5PxDKv8jT3oqzAmtkY3nqcg==
X-TM-AS-GCONF: 00
X-TM-AS-Product-Ver: IMSVA-9.1.0.2090-9.0.0.1006-29126.000
X-TM-AS-Result: No--35.226-10.0-31-10
X-imss-scan-details: No--35.226-10.0-31-10
X-TMASE-Version: IMSVA-9.1.0.2090-9.0.1006-29126.000
X-TMASE-Result: 10--35.226200-10.000000
X-TMASE-MatchedRID: 1uttSxkBlaXuYusHgJkgyhK8RjA2ODb7uU0vMqcVfH9wMIvKpZiNqLaa vEReeApkf9dvcdPnQwdEmmhct6O0TeXYI0z4MDj02FA7wK9mP9d0Tsch72XSbBy7MkaYvOFgUQo RpxlU5BWWQZtoGZjeBXsV1+NjXuXUnrsEDDAvkjoejl8XURi8fLcIt210bWgIluOmfEVJQ9IEXN C0UxRHOf+CEHfQvY8OL7fGpDjikVY5/8HHX4y4wmUfjhTZG7XateXjSBMYnmn6kCgfIyL+jy6AQ lksbtHNtB4WPexY5TXqCgzyApGVR7IxZweUR0NfxddRrnptOeeCfqmp4B6gPeHTrDSrqn2sq9Yy ptElK5epv/P9rIxezdpdaFdAACcEIi5n/oIUxv9NLPQl0QAltKRLyh9jv2CM6887XvhsIrVqyd3 L/byFiwT09/zQvuDSHMi7jd1/SYwSEYfcJF0pRTKit2a/aN7WJE2iPpG+hcsmIml+ywrqvu89K3 XPGe2r7r01Tu7Mtc6AJmQRSVHSt/HkpkyUphL9VBDQSDMig9HkMnUVL5d0E/2gE+jwlmhQBuXuI Bkowm/+qviOJh0DdPGU4m5A0eV9i95/KnWCU3S3ClSK/bUMDZBz1ZAU7t9TBIxGHU+4LGdvu+EA UOCx05lLQz8ALjEEcWyuW2Wgf2T6zT5BlgBw38GU90j67tDonSgPkvDdtOgSpKYPHUJnSpCJSqC 8FQVQPA1qQZtQo2U5jS4V09dQzlICmG2RRehovO61PPXizymZwdqszN1DlMTr/G24o7RrqjbqKM 7gD/kF8O3PoMprwqXfXkUfELSVw8M8WLzV3UBKHhaQPPG6/o5hyiW8kJaQBNVCIloTK1P9dU4/w VV+ooAy6p60ZV620u+wqOGzSV0/vucGn10dpl/KxOZge2/2x3Aa4oibyxk/3GZ+dHsx6tXLAhdu XEYpCBtrSOGV+ysMFsa+1wyh/JRMZUCEHkRt
X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0
Message-ID-Hash: QHIZRP5XTPMHB7OPCCO27K6JSSGI4QV7
X-Message-ID-Hash: QHIZRP5XTPMHB7OPCCO27K6JSSGI4QV7
X-MailFrom: adrian@olddog.co.uk
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: "'Dongjie (Jimmy)'" <jie.dong=40huawei.com@dmarc.ietf.org>, mpls@ietf.org, mpls-chairs@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Reply-To: adrian@olddog.co.uk
Subject: [mpls] Re: #6 The select problem
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/wKd0BECI7wGOI4RtwMMnxp0OARg>
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>

I don’t see how anything except HBH works or is intended to work along the path of an LSP. 

I2E targets only the end of the label stack.

Select targets the node that does a pop.

 

A

 

From: Loa Andersson <loa.pi.nu@gmail.com> 
Sent: 18 April 2025 16:07
To: adrian@olddog.co.uk
Cc: Loa Andersson <loa@pi.nu>; Joel Halpern <jmh@joelhalpern.com>; Dongjie (Jimmy) <jie.dong=40huawei.com@dmarc.ietf.org>; mpls@ietf.org; mpls-chairs@ietf.org
Subject: Re: [mpls] Re: #6 The select problem

 

Adrian,

 

I see two differences

 

- in select scope the LSP may continue when the last sect scope NAS has been popped. That can’t happen in  I2E scope

- the select scope NAS may be repeated, that can’t happen in I2E scope. 

 

I’m struggling to make select work in a swap environment, so far I have not succeeded. 

 

/Loa

 

On Fri, 18 Apr 2025 at 22:06, Adrian Farrel <adrian@olddog.co.uk <mailto:adrian@olddog.co.uk> > wrote:

I've been pondering this for a while because in "traditional" MPLS, the Select substack only reaches top of stack when a label is popped. That would only happen at the end of an LSP.
Historically, we have called the end of an LSP an "egress" although I think the MNA documents have more specifically described the "egress" as the edge of the MPLS network.

Now, Tony's reminder (thanks, Tony) that SR-MPLS consists of popping within the network (at the end of a segment) makes the Select concept more meaningful. (Who knows or cares whether we consider the end of a segment to be the end of a hierarchical LSP?).

Let us consider, however, the behaviour of the I2E substack. This substack is found only at the egress edge of the MPLS label stack when the final forwarding label is popped (PHP considered as a different issue). In this case, the I2E substack is raised to top of stack and processed. That seems to me to be identical to the Select behaviour. 

While it is true that Select and I2E are targeting different points in the network, they are both only processed when they come to top of stack. So, do we actually need a discriminator (effectively a bit flag) to say whether it was intentional that the substack reached top of stack?

I.e., do we need both Select and I2E values in the IHS?

Give me an example of where the distinction is truly needed and I will fold. Otherwise, We can save a bit from the IHS (releasing it to be Reserved).

Cheers,
Adrian

-----Original Message-----
From: Loa Andersson <loa@pi.nu <mailto:loa@pi.nu> > 
Sent: 18 April 2025 09:35
To: Joel Halpern <jmh@joelhalpern.com <mailto:jmh@joelhalpern.com> >; Dongjie (Jimmy) <jie.dong=40huawei.com@dmarc.ietf.org <mailto:40huawei.com@dmarc.ietf.org> >; mpls@ietf.org <mailto:mpls@ietf.org> 
Cc: mpls-chairs@ietf.org <mailto:mpls-chairs@ietf.org> 
Subject: [mpls] Re: #6 The select problem

Joel,

Plz, look sat the discussion I have with Tony on the select problem, 
there are things there that asfter closer consideration might have an 
impact on this response.

Tony says that the select scope does not work well with the label 
swapping paradfigm and is better suited with the label popping paradigm 
of e,g, SR-MPLS.

Note: I need to think more about this before I concede this point. But I 
understand Tony's point.

For the time being I think that draft-ietf-mpls-mna-hdr gices me some 
support in saying that that a MNA Label may reach a node on top of the 
label stack (end of section 7.):

    Transit, non-penultimate nodes that pop a forwarding label and expose
    a copy of a NAS MUST remove it.

    A node performing Penultimate Hop Popping (PHP) that pops the
    forwarding label with only the NAS(es) remaining on the stack MUST
    NOT remove the NAS(es).  Instead, it forwards the packet with the
    NAS(es) at the top of stack to the next node.

    The node that receives the NAS at the top of the label stack MUST
    remove it.

I don't think that the above and your statement:

   The diagram seems wrong since the MNA label should never be the top
   label of the stack.

Can both be right.

How does this concern the draft-ietf-mpls-mna-hdr and 
draft-jags-mpls-ps-mna-hdr both need to indicate that all the 
information needed, for any of the scopes, is not available through the 
data plane only, but either a control plane or management plane is needed.

/Loa

Den 17/04/2025 kl. 21:54, skrev Joel Halpern:
> Well....
> 
> I am pretty sure that we agreee that the information is needed.
> 
> The diagram seems wrong since the MNA label shoul dnever be the top 
> label of the stack.
> 
> But more importantly, I do not understand how this question relates to 
> the ISD draft.   The draft is not about the control or management plane 
> operations.  And the need for the information is orthogonal to the 
> encoding of in-stack or post-stack operations.
> 
> I2E scope (for both in-stack and post-stack) does require knowing the 
> capabilities and identity of the E node.  That was true even if there 
> were no operations.
> 
> So what is the question / concern?
> 
> Yours,
> 
> Joel
> 
> On 4/17/2025 6:52 AM, Loa Andersson wrote:
>> Joel, et.al <http://et.al> .,
>>
>> At lest there is something that we are close to agree upon here.
>>
>> "...the entity constructing the stack needs to know which nodes need 
>> the instructions, and needs to include labels for directing the packet 
>> to that node..."
>>
>> Part of the question is probably where the info comes from.
>>
>> That seem to be equally true for an I2E scope as for a select.
>>
>> I2E scope model:
>>
>> +----+       +----+       +----+       +----+
>> | I  |-------| T1 |-------| T2 |-------| E  |
>> +----+       +----+       +----+       +----+
>>
>> I = Ingress
>> T = Transit
>> E = Egress
>>
>> Label stack per hop
>>
>>    +-----+        +-----+        +-----+
>>    |  t1 |  ----> |  t2 |  ----> |  m  |
>>    +-----+        +-----+        +-----+
>>    |  m  |        |  m  |        |  b  |
>>    +-----+        +-----+        +-----+
>>    |  b  |        |  b  |
>>    +-----+        +-----+
>>
>> t   = transport label
>> m   = mna label
>> b   = LSE type B
>> m+b = the NAS
>>
>> Summary:
>> - I build the stack and forward to first T1
>> - T1 swaps t1 to t2, and forward to T2
>> - T2 pops t2 and forward to E
>> - E performs the NA and pops the NAS
>>
>>
>> Select scope model:
>>
>>
>> +----+       +----+       +----+       +----+        +----+ +----+
>> | I  |-------| T1 |-------| T2 |-------| S  |--------| T3 |------| E  |
>> +----+       +----+       +----+       +----+        +----+ +----+
>>
>> I = Ingress
>> T = Transit
>> E = Egress
>> S = Select
>>
>> Label stack per hop
>>
>>    +-----+        +-----+       +-----+       +-----+ +-----+
>>    |  t1 |  ----> |  t2 | ----> |  m  | ----> |  u2 | ----> | pl  |
>>    +-----+        +-----+       +-----+       +-----+ +-----+
>>    |  m  |        |  m  |       |  b  |       | pl  |
>>    +-----+        +-----+       +-----+       +-----+
>>    |  b  |        |  b  |       |  u1 |
>>    +-----+        +-----+       +-----+
>>    |  u1 |        |  u1 |       | pl  |
>>    +-----+        +-----+       +-----+
>>    |  pl |        |  pl |
>>
>> t   = transport label
>> m   = mna label
>> b   = LSE type B
>> m+b = the NAS
>> u   = transport label
>> pl  = pay load
>>
>> Summary:
>> - I build the stack and forward to T1
>> - T1 swaps t1 to t2, and forward to T2
>> - T2 pops t2 and forward to S
>> - S performs the NA and pops the NAS, finds u1 and swaps to u2,
>>   forward to T3
>> - T3 pops u2, and forward to E
>>
>> Do we reasonably agree this far?
>>
>> I have a couple of further questions but let us see if we agree this far.
>>
>> /Loa
>>
>>
>> Den 17/04/2025 kl. 01:33, skrev Joel Halpern:
>>
>>> 6) You seem to see a problem with handling select scope.
>>>
>>> Response 6) As far as I can tell, the ISD select scope handling 
>>> precisely matches the need.   Yes, the entity constructing the stack 
>>> needs to know which nodes need the instructions, and needs to include 
>>> labels for directing the packet to that node and the associated 
>>> instructions.   No matter how you encode the packet, you need that 
>>> information if the packet is going to reflect the control.  The 
>>> alternative would seem to be to declare Select to be out of scope, 
>>> which would seem to be a violation of the agreed requirements.
>>>
>>

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

_______________________________________________
mpls mailing list -- mpls@ietf.org <mailto:mpls@ietf.org> 
To unsubscribe send an email to mpls-leave@ietf.org <mailto:mpls-leave@ietf.org> 

_______________________________________________
mpls mailing list -- mpls@ietf.org <mailto:mpls@ietf.org> 
To unsubscribe send an email to mpls-leave@ietf.org <mailto:mpls-leave@ietf.org>