Re: [mpls] Available IP version numbers.

ietf@sergey.dev Tue, 20 April 2021 01:13 UTC

Return-Path: <ietf@sergey.dev>
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 B58E93A0C2A for <mpls@ietfa.amsl.com>; Mon, 19 Apr 2021 18:13:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.216
X-Spam-Level:
X-Spam-Status: No, score=-0.216 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=sergey.dev
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PW8fd2mKgxdF for <mpls@ietfa.amsl.com>; Mon, 19 Apr 2021 18:13:11 -0700 (PDT)
Received: from forward103p.mail.yandex.net (forward103p.mail.yandex.net [77.88.28.106]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 77C333A0C31 for <mpls@ietf.org>; Mon, 19 Apr 2021 18:13:11 -0700 (PDT)
Received: from myt5-688dc146e239.qloud-c.yandex.net (myt5-688dc146e239.qloud-c.yandex.net [IPv6:2a02:6b8:c05:a9:0:640:688d:c146]) by forward103p.mail.yandex.net (Yandex) with ESMTP id 26CA618C095C; Tue, 20 Apr 2021 04:13:00 +0300 (MSK)
Received: from myt5-aad1beefab42.qloud-c.yandex.net (myt5-aad1beefab42.qloud-c.yandex.net [2a02:6b8:c12:128:0:640:aad1:beef]) by myt5-688dc146e239.qloud-c.yandex.net (mxback/Yandex) with ESMTP id SX3ifMGrAi-CxGCGmoE; Tue, 20 Apr 2021 04:13:00 +0300
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sergey.dev; s=mail; t=1618881180; bh=DwKpBXFGW4ZVCTDdOic27XkjKZV2NcSauaDElgCeQbs=; h=Subject:Date:References:To:From:Message-ID:In-Reply-To:Cc; b=cd6BUozRndhaep6ZDe9pNTBJgffVdchy5++duesGqJ7LKHnFkgNADOLYLkXyN9CU1 qKRufVmB7+NYK/anYKTcHWtwn34TU2+yTD+fzmAvvZOxsA7bAISo52JluG32qiHEi7 T/oUdPHX5SjYxgehmjtXaZHeYFmA9dg+TmsQkPOY=
Authentication-Results: myt5-688dc146e239.qloud-c.yandex.net; dkim=pass header.i=@sergey.dev
Received: by myt5-aad1beefab42.qloud-c.yandex.net (smtp/Yandex) with ESMTPSA id Hy4WVnE5ek-CuKKLeNT; Tue, 20 Apr 2021 04:12:57 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client certificate not present)
From: ietf@sergey.dev
To: 'Greg Mirsky' <gregimirsky@gmail.com>
Cc: 'Uma Chunduri' <umac.ietf@gmail.com>, 'mpls' <mpls@ietf.org>
References: <A5C8DFA9-3601-4838-9461-727CC40507B1@gmail.com> <003701d7354d$4810e660$d832b320$@sergey.dev> <36cdf547-47b0-09f2-c168-588477f7af1c@joelhalpern.com> <001b01d73551$47ba6520$d72f2f60$@sergey.dev> <CA+RyBmXsWqNtiLrK2scjjQUKC5j0MHi=OqHmaPi4O8DBAaoKQg@mail.gmail.com> <CAF18ct5NcrdBDvfGa=4mLjjFPZu=d56nq8bfHWKfnEepCjyORQ@mail.gmail.com> <007a01d7356c$555171e0$fff455a0$@sergey.dev> <CAF18ct7=OSxsHj+aki8qikc7q8Hd=nzj5NoVZLs=s0=ACQZMng@mail.gmail.com> <009d01d73575$500f6170$f02e2450$@sergey.dev> <CA+RyBmUviK+XXgJnPbc+XZ7bB+7r7vNQH01Y-5VTvMnXUPGh2w@mail.gmail.com>
In-Reply-To: <CA+RyBmUviK+XXgJnPbc+XZ7bB+7r7vNQH01Y-5VTvMnXUPGh2w@mail.gmail.com>
Date: Mon, 19 Apr 2021 18:12:54 -0700
Message-ID: <00cd01d73582$4c4c04f0$e4e40ed0$@sergey.dev>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_00CE_01D73547.9FEFC500"
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-us
Thread-Index: AQKUPgr7n0r+Iugvfy2N2vrBHUrKswHMZUEUAdyE0gIBuv4VxQFOB4pdAfF4o6YCmAUxwwKeUzBHAkoYsSoBjhKUMai099fA
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/sRrA7H_NIdd2_1nvGIn0QG4WBSg>
Subject: Re: [mpls] Available IP version numbers.
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.29
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: Tue, 20 Apr 2021 01:13:17 -0000

Thank you Greg,

I agree 100%.

 

--

Sergey

From: Greg Mirsky <gregimirsky@gmail.com> 
Sent: Monday, April 19, 2021 5:46 PM
To: ietf@sergey.dev
Cc: Uma Chunduri <umac.ietf@gmail.com>; mpls <mpls@ietf.org>
Subject: Re: [mpls] Available IP version numbers.

 

Hi Sergey,

thank you for a very interesting discussion. Please find a note inlined under the GIM>> tag.

 

Regards,

Greg

 

On Mon, Apr 19, 2021 at 4:40 PM <ietf@sergey.dev <mailto:ietf@sergey.dev> > wrote:

Hi Uma,

> This may be well worth it, for many functionalities envisioned (by many folks as documented by Stewart) in the BoS engineering.

Agree

 

> But the proposal/functionalities sought are much more invasive and it may need more than 0x0 first nibble + may be a bSPL.

Agree as well. 

I’m not against using a new nibble value; all I’m saying is that there’s been a lot of focus on discussing whether we can get it and how it is allocated (there’s a presumption of IANA allocation from IP versions space, which I doubt); but so far it is not clear whether we need it in the first place, and what exactly it is supposed to solve.

GIM>> AFAIK, there's no IANA registry for the first nibble of a payload after the BoS LE. Each protocol defines a new value of the first nibble with consideration of what other protocols use. For BIER in an MPLS network Section 2.1.2 RFC 8296 defines the value of the Nibble field as 0b0101 (also providing a very good explanation of why that particular value was selected). For a non-MPLS network Section 2.2.2 states that the filed SHOULD be zeroed on transmission and ignored on receipt.

 

Thus my proposal would be to return to a more general discussion first, and, probably, we should start with objectives & requirements before we dig into the details.

 

Thank you,

--

Sergey

 

From: Uma Chunduri <umac.ietf@gmail.com <mailto:umac.ietf@gmail.com> > 
Sent: Monday, April 19, 2021 4:11 PM
To: ietf@sergey.dev <mailto:ietf@sergey.dev> 
Cc: Greg Mirsky <gregimirsky@gmail.com <mailto:gregimirsky@gmail.com> >; mpls <mpls@ietf.org <mailto:mpls@ietf.org> >
Subject: Re: [mpls] Available IP version numbers.

 

Hi Sergey,

 

 

>Identification by the first nibble is always a _guess_. LER always identifies payload by a label/FEC 

>mapping (with further verifications of packet header from other protocol layers).  LSR can try to guess 

>what’s inside by using the nibble. Nothing is guaranteed in this case.

 

Your assessment is correct. Then this amounts to getting a new ethernet code point; frankly to be "more"  foolproof. This may be well worth it, for many functionalities envisioned (by many folks as documented by Stewart) in the BoS engineering.

 

>0x0 fits the scenario, if nothing else is needed from this?

 

You need to deal with all the warts that come along with this technically "unknown" value apart from dealing with many existing deployments on how this is being used to process the rest of the stuff. But the proposal/functionalities sought are much more invasive and it may need more than 0x0 first nibble + may be a bSPL.

 

Cheers!
--

Uma C.

 

 

 

On Mon, Apr 19, 2021 at 3:35 PM <ietf@sergey.dev <mailto:ietf@sergey.dev> > wrote:

Hi Greg, Uma,

 

Greg,

>Also, it could be G-ACh or BIER, respectively identified by 0x01 and 0x05 in the first nibble. 

Not quite. 

Identification by the first nibble is always a _guess_. LER always identifies payload by a label/FEC mapping (with further verifications of packet header from other protocol layers).  LSR can try to guess what’s inside by using the nibble. Nothing is guaranteed in this case.

 

> An encapsulation other than IP uses MPLS PW encapsulation. And the BoS LE is followed by PW CW or ACH. Note that  <https://tools.ietf.org/html/rfc8469> RFC 8469 RECOMMENDS using PW CW for Ethernet PWs to avoid possible misinterpretation of the payload.

An encapsulation other than IP might use, well, just about anything (just as your BIER example above).

If we want to stick to practical examples, CW is often not present (due to absence of L3-L4 ECMP LSR load-balancing in the core, or presence of entropy labels as an example). So immediately after BoS you encounter an Ethernet header (where the first nibble can be just about anything).

 

Uma,

> So it's critical to care for b (i) as has been discussed or being discussed for backward compatibility on this aspect..

0x0 fits the scenario, if nothing else is needed from this?

 

--

Sergey

 

From: Uma Chunduri <umac.ietf@gmail.com <mailto:umac.ietf@gmail.com> > 
Sent: Monday, April 19, 2021 1:29 PM
To: Greg Mirsky <gregimirsky@gmail.com <mailto:gregimirsky@gmail.com> >
Cc: ietf@sergey.dev <mailto:ietf@sergey.dev> ; mpls <mpls@ietf.org <mailto:mpls@ietf.org> >
Subject: Re: [mpls] Available IP version numbers.

 

Hi Greg,

 

+1

 

2 Broad categories here:

 

a.  If we are seeking to have a new ether type - we don't have to worry about the backward compatibility (while yes, we may seek to maintain some aspects same for reusability purposes) as upgrade is needed to process the packet header (labels + BoS stuff) with new ether type.

 

b. If the same ether type of current MPLS is sought, this is a critical piece for not impacting the existing functionality  for the not upgraded nodes. Again 2 cases here

   

    (i) If the underlying circuit is IP based - then the discussion here is completely valid and first nibble value has to be different and non-conflicting

    (ii) For non-IP circuits an existing LSR will obviously not interpret/assume it's IPv4/IPv6 packet underneath (and not use the header fields for ECMP).

 

So it's critical to care for b (i) as has been discussed or being discussed for backward compatibility on this aspect..

 

Thx!

--

Uma C.

  

 

 

On Mon, Apr 19, 2021 at 12:51 PM Greg Mirsky <gregimirsky@gmail.com <mailto:gregimirsky@gmail.com> > wrote:

Hi Sergey,

I think that when we are looking at how systems interpret MPLS payload, as I understand it, we have two scenarios - MPLS LSP and MPLS PW. In the former, an IP packet is a native payload. Thus the BoS label element (LE) is followed by an IPv4 or IPv6 packet is valid. Also, it could be G-ACh or BIER, respectively identified by 0x01 and 0x05 in the first nibble. An encapsulation other than IP uses MPLS PW encapsulation. And the BoS LE is followed by PW CW or ACH. Note that RFC 8469 <https://tools.ietf.org/html/rfc8469>  RECOMMENDS using PW CW for Ethernet PWs to avoid possible misinterpretation of the payload.

That all might not be "a standard-defined paradigm", but a de facto standard on the wire. And, in my opinion, we must consider that to ensure the backward compatibility of any change we may introduce.

 

Regards,

Greg

 

On Mon, Apr 19, 2021 at 12:22 PM <ietf@sergey.dev <mailto:ietf@sergey.dev> > wrote:

Joel,
I agree with that.

But my point it - it seems there's an implicit assumption that IP header follows an MPLS label stack, which may or may not be the case. First nibble is not a protocol identifier in a classical sense (except for LSR-guessing). 
We can't rely on a nibble as a unique identifier by itself; so is there even a point in using anything besides 0x0 (to avoid LSR-guessing)? There might be, but it is not obvious in a current form of just taking a new number.
And if we were to use a new number - it is not an IP version number (as long as we are not claiming that an IP header follows. Yes, 0x0 and 0x1 were reserved by IANA for rfc4928 usecase, but this is not, strictly speaking, a standard-defined paradigm).

--
Sergey

-----Original Message-----
From: Joel M. Halpern <jmh@joelhalpern.com <mailto:jmh@joelhalpern.com> > 
Sent: Monday, April 19, 2021 12:04 PM
To: ietf@sergey.dev <mailto:ietf@sergey.dev> ; 'Loa Andersson' <loa.pi.nu@gmail.com <mailto:loa.pi.nu@gmail.com> >; 'mpls' <mpls@ietf.org <mailto:mpls@ietf.org> >
Subject: Re: [mpls] Available IP version numbers.

If we are defining a protocol carried with its own ethertype (e.g. 
MPLS), there is no neeed for an IP version differentiation.

It can in fact be argued that IPv6 could have used a different header format, and assumed that the media woudl indicate the new protocol.
However, because we knew that it needed to interwork with, be mixed with, and be diagnosed with existing IPv4 packets it was far more robust to build the packet format in such a way that it was reliably distinguishable from IPv4.  Which means a different starting nibble.

We could have skipped it.  (Historically, we got there the other way. 
We started by thinking we would use the same ethertype for both.  And then also realized that had problems.  So we have a belt and suspenders; dual identification.  Which is often a good design paradigm.)

Yours,
Joel

PS: In the MPLS context the is further complicated by devices which look at the data after the end of the stack and try to guess what it is. 
Typically to support ECMP / LAG.

On 4/19/2021 2:53 PM, ietf@sergey.dev <mailto:ietf@sergey.dev>  wrote:
> Hi Loa,
> In an adjacent thread ("mpls open dt & the first nibble discussion") I raised a question about why do we even expect to take something from IP numbering. Would appreciate your feedback on this one.
> 
> 
> -----Original Message-----
> From: mpls <mpls-bounces@ietf.org <mailto:mpls-bounces@ietf.org> > On Behalf Of Loa Andersson
> Sent: Saturday, April 17, 2021 1:13 AM
> To: mpls <mpls@ietf.org <mailto:mpls@ietf.org> >
> Subject: [mpls] Available IP version numbers.
> 
> DT,
> 
> We had a discussion on how many IP version numbers are available.
> 
> It should be remembered that in IANA “Reserved” really means “Reserved, do not assign”.
> 
> 0,1,5,7,8,9 and 15 are reserved.
> 2,3,10,11,12,13 and 14 are unassigned
> 4 and 6 are assigned
> 
> To make the reserved requires a standard track RFC.
> 
> So we 7 IP version numbers available, that is a sufficient low number to make me nervous, if I owned the registry.
> 
> I would nit count on having more IP version numbers assigned to “us”, especially since we already have an agreement (PWE3), accepting to get two numbers and committing to not use more.
> 
> /Loa
> 
> Sent from my iPhone
> _______________________________________________
> mpls mailing list
> mpls@ietf.org <mailto:mpls@ietf.org> 
> https://www.ietf.org/mailman/listinfo/mpls
> 
> _______________________________________________
> mpls mailing list
> mpls@ietf.org <mailto:mpls@ietf.org> 
> https://www.ietf.org/mailman/listinfo/mpls
> 

_______________________________________________
mpls mailing list
mpls@ietf.org <mailto:mpls@ietf.org> 
https://www.ietf.org/mailman/listinfo/mpls

_______________________________________________
mpls mailing list
mpls@ietf.org <mailto:mpls@ietf.org> 
https://www.ietf.org/mailman/listinfo/mpls