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

Alexander Vainshtein <> Thu, 14 April 2016 10:06 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 53B9412E1FE; Thu, 14 Apr 2016 03:06:37 -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 rZDJBSPkBz24; Thu, 14 Apr 2016 03:06:34 -0700 (PDT)
Received: from ( [IPv6:2a01:111:f400:fe00::727]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 5EAB012E20D; Thu, 14 Apr 2016 03:06:34 -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=mx+CIL3OZ0aPPT4plrWDbDNguzaTke9JSY+MpUADYjw=; b=TRo+1iAH/SQgtb/y/UshnJkJr6PPZDy9LKbU0ghkHWnz2fvjJ0EDrbDa/0dB6fwhgMdIwbDl4Im+1/mIHJMtheWR4JGjMvqR+S0RQYnBSJxqtqIXoAoVydUIZ/A1l5orUjx4hkVBh2zVs4ssN2DdvvO8h2IU6i3Vr482Z+678KE=
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.1.466.19; Thu, 14 Apr 2016 10:06:12 +0000
Received: from ([]) by ([]) with mapi id 15.01.0466.020; Thu, 14 Apr 2016 10:06:12 +0000
From: Alexander Vainshtein <>
To: Stewart Bryant <>
Thread-Topic: [mpls] [sfc] The first nibble issue associated with MPLS encapsulation
Thread-Index: AQHRljBxDa8CpN5y/0moBrflyXhalp+JOvXg
Date: Thu, 14 Apr 2016 10:06:12 +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: f90efde3-2a17-4a35-f8e2-08d3644c6895
x-microsoft-exchange-diagnostics: 1; DB3PR03MB0777; 5:a88wUwAwbMkvjIlLWerZ90PmLg2sGDpt0SD8NLQJzBtKEtSOvhgZ87z0LDUJ7kAvVuMQQuYXUkbjPAgjYVx/rXY3lSM4uek+cw5zUK1sCotaL6DY9uKxwQqRhvcydIu2LQ6PEhhg895ZI0DmKuTfgh7PSh/TeLNBnd/4SX0a3QPNIIBlpF005w/GSRb9ruLC; 24:La0Lxnpw+f+HJkKYVhYJsgWQDc016+K4JBv8Lsfi1vQAzPF6cKg2H7mCo3TvxSfSSN/eIaNyH/YqiYRjaksjzkwcCE7nNN4Bv2ZoHrL+Q5c=; 7:ZQs4E4HtATLyBvsrFY6f5zNRG8LDXMMFJZaqG2Q55f/Mlw44HCcE34Ny2avsFMQMQ6d7Qdp1MT2A5lpy76KH58D3YLXklHY6XEaanNV1pQF93/tdVJgiEbFd5NlbeiJ/raO7zQOUC1pK08i6CSo74pOhmzRI2zFyyIi4tUAQBvkqb9R852Upxy2JGHYKKvxI7VnPomh0CdeyfZEdtxGL13CA532PpWa8QufwupFzSt8=
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB3PR03MB0777;
x-microsoft-antispam-prvs: <>
x-exchange-antispam-report-test: UriScan:;
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)(87936001)(122556002)(81166005)(15975445007)(74316001)(11100500001)(5003600100002)(2950100001)(92566002)(93886004)(5008740100001)(2900100001)(106116001)(9686002)(10400500002)(66066001)(86362001)(4326007)(189998001)(110136002)(3660700001)(76576001)(1220700001)(102836003)(76176999)(6116002)(3846002)(33656002)(3280700002)(77096005)(5004730100002)(19580405001)(19580395003)(50986999)(54356999)(586003)(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 10:06:12.2916 (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] [sfc] 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 10:06:37 -0000

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.


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

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

I am not sure zero is PW so much as "type undefined - don't ECMP".
That was certainly the definition that we were talking about at the time.

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.

Also the code space is so small that we really need to be super conservative in its allocation. Given it's true purpose, I suggest that we only have the unused deprecated values of 0 (taken), 1 (taken), 2, 3 and possibly 5 available for use (for ever).
Seven and up really should be kept available to the IP protocol itself.

Five of course was deployed. It was used for some form of streaming protocol, but it is probably safe to assume that it is no longer in the wild.

Whilst Eric makes a case for 5, I think there is also a strong case for zero.

If there is a need for subtyping zero for wireshark etc, we could take a look at what the use is made of the second nibble in PWs and see if there is a set of values never in practise used and thus available for subtyping.

- Stewart

On 11/04/2016 15:19, Eric C Rosen wrote:
> (Removed sfc from the cc-list, this seems out of scope for that WG.)
> In designing the BIER header, the BIER WG is free to mandate any value 
> it chooses in the first nibble.  These values do not come from a 
> "first nibble" registry.
> It seems prudent to put a value like 5 for the following reasons:
> - If a BIER packet is being parsed by an off-line tool, this is a good 
> hint (though just a hint) that the packet is actually a BIER packet;
> - If a BIER packet is traveling through an MPLS tunnel, and it 
> traverses a node that does its MPLS load splitting by guessing at the 
> type of the payload, then this is  a good hint that the MPLS payload 
> is not IPv4, IPv6, or PW.
> This strategy does incur a risk.  Suppose IPv5 gets designed, 
> implemented, and deployed, and folks start to deploy hardware that 
> does MPLS load balancing by inspecting the IPv5 headers of the MPLS 
> payloads.  If a BIER packet is traversing an MPLS tunnel, 
> inappropriate load splitting may occur if the hardware thinks the 
> payload is IPv5 rather than BIER.
> This particular risk doesn't seem very significant to me.
> Thus I don't think there's anything here that needs fixing.
> _______________________________________________
> mpls mailing list