Re: [mpls] [bier] The first nibble issue associated with MPLS encapsulation

Alexander Vainshtein <> Thu, 14 April 2016 13:28 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id DF61112DF64; Thu, 14 Apr 2016 06:28:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id k7LMMmtDJ7pZ; Thu, 14 Apr 2016 06:28:12 -0700 (PDT)
Received: from ( [IPv6:2a01:111:f400:fe00::739]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 2801912DEF0; Thu, 14 Apr 2016 06:28:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector1-ecitele-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=lOexkwukhbKaJWaSEDgKZ/OK41yCqkkkb7YC35K+dqc=; b=L2ZGJtOy2fX4OUZ6eZf8wLdamRfm6z0lQNO0OLabq5DmMeU0UwBMqoKQKJE4/+O2tqaqnizH0Xl3GoGmmd0kKu7v2WvWpfRIUWV8UWq319BQPcgUG6UUm+uKhhJPusEHnP1Us6u8K3YX0Z7sjlcp7GXt1BcnXCkQ/ebO2nYBK4c=
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.1.466.19; Thu, 14 Apr 2016 13:27:55 +0000
Received: from ([]) by ([]) with mapi id 15.01.0466.020; Thu, 14 Apr 2016 13:27:55 +0000
From: Alexander Vainshtein <>
To: Eric C Rosen <>
Thread-Topic: [mpls] [bier] The first nibble issue associated with MPLS encapsulation
Thread-Index: AQHRllA6BIS7R/2LtUKjKvnrhpryyJ+JdShQ
Date: Thu, 14 Apr 2016 13:27:55 +0000
Message-ID: <>
References: <> <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
authentication-results:; dkim=none (message not signed) header.d=none;; dmarc=none action=none;
x-originating-ip: []
x-ms-office365-filtering-correlation-id: 31e35eb0-2ad8-4258-947e-08d36468968f
x-microsoft-exchange-diagnostics: 1; DB3PR03MB0777; 5:Km9XeE6e13bIncs91Aggxb05ezyefuvibMiOvWFGw///1QAlFdf56qrKmwL5K8+uUhBaBTRqUCA+hWjTb9baGZMWQYEZA3WekBDstRk8E/tZny3D+i3xgFmFvKXVF8eM5HsYNVTzS9qgwVNCltICNoQXm7yiyYydH0O2p35ACbKk4nPbCis2F88YV8bvFDkv; 24:CiwivTqhzZexfs6zuolFd4/Gq02hNnpks6J13AR/NVZA0SukbSvzcRXfE/OSuru7zM02iRPtXCQGp7pRY1fU8gBJ0zskVHiCWD6+YIYVQNM=; 7:BE8qc3l4epeH0ZRk5X2Va9AT046Pco7EK5Fw1LlUscQlOfDAUNnBFpK9yZK7oEY9xAZsUjqQwrNeOhUwf5b5l90qpKGjerhQcAEXPWtgZkrq+r8B8md7dK1bICRcexvi3s1BjNbwf7r33M3KKsuq4C6hROUwsCpHoLG2VnStqRbthjKWntRLLOdlknEMSVZ0Bq7yefxh0u7h88HiJi4iu2JYuvchaQQU1lAhw51jN0E=
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB3PR03MB0777;
x-microsoft-antispam-prvs: <>
x-exchange-antispam-report-test: UriScan:(138986009662008);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026); SRVR:DB3PR03MB0777; BCL:0; PCL:0; RULEID:; SRVR:DB3PR03MB0777;
x-forefront-prvs: 0912297777
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(377454003)(13464003)(252514010)(24454002)(5002640100001)(122556002)(87936001)(81166005)(74316001)(11100500001)(5003600100002)(2950100001)(92566002)(93886004)(5008740100001)(2900100001)(9686002)(106116001)(10400500002)(66066001)(86362001)(4326007)(1220700001)(189998001)(110136002)(3660700001)(76576001)(102836003)(76176999)(3846002)(6116002)(1941001)(33656002)(3280700002)(77096005)(5004730100002)(19580395003)(50986999)(19580405001)(586003)(54356999)(2906002)(1096002)(7059030); DIR:OUT; SFP:1102; SCL:1; SRVR:DB3PR03MB0777;; FPR:; SPF:None; MLV:sfv; LANG:en;
spamdiagnosticoutput: 1:23
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2016 13:27:55.3334 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2c514a61-08de-4519-b4c0-921fef62c42a
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR03MB0777
Archived-At: <>
Cc: "" <>, "" <>, "Dr. Tony Przygienda" <>
Subject: Re: [mpls] [bier] The first nibble issue associated with MPLS encapsulation
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Multi-Protocol Label Switching WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 14 Apr 2016 13:28:14 -0000

I suspect (will have to check) that the packet processor I've mentioned actually would not differentiate between 0 and 5 in the first nibble.
They tend to consider anything with neither 4 or 6 in the first nibble as Ethernet PWs.


Office: +972-39266302
Cell:      +972-549266302

-----Original Message-----
From: Eric C Rosen [] 
Sent: Thursday, April 14, 2016 4:20 PM
To: Alexander Vainshtein; Stewart Bryant
Cc:;; Dr. Tony Przygienda; Greg Mirsky
Subject: Re: [mpls] [bier] The first nibble issue associated with MPLS encapsulation

On 4/14/2016 6:06 AM, Alexander Vainshtein wrote:
> Stewart and all,
> I concur with Stewart that there is a strong case for 0 in the first nibble for all non-IP flows.
> As for the need for sub-typing:
> AFAIK quite a few implementations (including some HW-based packet processors) treat 0 in the first nibble after the label stack as an indication of an Ethernet PW.
> Some of them go as far as to hash on the assumed L2 headers for ECMP. This causes serious problems, e.g., with the TDM PWs that could be reordered if handled by such packet processors in transit LSRs.
> This makes quite a case for sub-typing IMO regardless of BIER.
> At the same time, it seems that all the bits in CW structure are used - at least for some PW types in some cases.

It seems to me that Sasha's reasoning supports the conclusion that it is best to avoid 0 in the first nibble (even if this is not the conclusion he drew!)  I don't think sub-typing is a solution, because it doesn't offer any protection against the behavior of existing hardware.

On 4/14/2016 5:31 AM, Stewart Bryant wrote:
> The nibble value  is recorded in the IP types registry and any wish to 
> take another value really needs to be discussed with the INT area.

Are you referring to the IP Version Number registry?  (I am not aware of 
an "IP types registry".)   We're not asking for any modification to 
that, since we're not doing another version of IP. I don't see any need to get into  one of those long and non-productive arguments that the INT area seems to relish.

On 4/13/2016 11:07 PM, Xuxiaohu wrote:
> In fact, there is an attempt to have a registry for the first nibble (a.k.a., MPLS payload type field).

Hopefully that attempt won't succeed!

On 4/14/2016 7:06 AM, Loa Andersson wrote:
> While I can live with 0x0000, 0x0010 or 0x0101, RFC 4928 actually says:
>    It is REQUIRED, however, that applications depend upon in-order
>    packet delivery restrict the first nibble values to 0x0 and 0x1.
> If that is what we want for bier, there is a case to use 0x0 or 0x1 
> for
> bier-

Strictly speaking, RFC 4928 needs to be updated, as the reasoning given there does not really support the above "requirement".  But the effort to do that hardly seems worthwhile.  RFC 4928 already makes clear that the above requirement is protecting against the risk that IPv5 ECMP will affect some MPLS packets inappropriately. No one seems to think that that is a real risk.