[spring] How to carry metadata/context in an MPLS packet

Xuxiaohu <xuxiaohu@huawei.com> Fri, 18 July 2014 01:59 UTC

Return-Path: <xuxiaohu@huawei.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 451DF1A03A9; Thu, 17 Jul 2014 18:59:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.202
X-Spam-Level:
X-Spam-Status: No, score=-4.202 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham
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 9SkSv6TXLqXK; Thu, 17 Jul 2014 18:59:01 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 031BC1A01BA; Thu, 17 Jul 2014 18:59:00 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml401-hub.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id BHH71716; Fri, 18 Jul 2014 01:58:59 +0000 (GMT)
Received: from NKGEML406-HUB.china.huawei.com (10.98.56.37) by lhreml401-hub.china.huawei.com (10.201.5.240) with Microsoft SMTP Server (TLS) id 14.3.158.1; Fri, 18 Jul 2014 02:58:59 +0100
Received: from NKGEML512-MBS.china.huawei.com ([169.254.8.48]) by nkgeml406-hub.china.huawei.com ([10.98.56.37]) with mapi id 14.03.0158.001; Fri, 18 Jul 2014 09:58:52 +0800
From: Xuxiaohu <xuxiaohu@huawei.com>
To: "mpls@ietf.org" <mpls@ietf.org>
Thread-Topic: How to carry metadata/context in an MPLS packet
Thread-Index: Ac+iK9IiUw61Lt1oTZi1TxTMkTltPw==
Date: Fri, 18 Jul 2014 01:58:51 +0000
Message-ID: <1FEE3F8F5CCDE64C9A8E8F4AD27C19EE08294118@NKGEML512-MBS.china.huawei.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.111.98.134]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: http://mailarchive.ietf.org/arch/msg/spring/_50WX4Lh7Sss7d_sKs_FjCX06zI
Cc: "<spring@ietf.org>" <spring@ietf.org>, "sfc@ietf.org" <sfc@ietf.org>
Subject: [spring] How to carry metadata/context in an MPLS packet
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Stacked Tunnels for Source Routing \(STATUS\)." <spring.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spring>, <mailto:spring-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/spring/>
List-Post: <mailto:spring@ietf.org>
List-Help: <mailto:spring-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spring>, <mailto:spring-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 18 Jul 2014 01:59:03 -0000

Hi all,

I'm now considering how to carry metadata/context in an MPLS packet. I just noticed that draft-guichard-mpls-metadata-00 (http://tools.ietf.org/html/draft-guichard-mpls-metadata-00#page-6) proposes a way to carry metadata/context in an MPLS packet (see below):

"3.  Metadata Channel Header Format

   The presence of metadata within an MPLS packet must be indicated in
   the encapsulation.  This document defines that the G-ACh Generic
   Associated Channel Label (GAL) [RFC5586] with label value 13 is
   utilized for this purpose.  The GAL label provides a method to
   identify that a packet contains an "Associated Channel Header (ACH)"
   followed by a non-service payload.

   [RFC5586] identifies the G-ACh Generic Associated Channel by setting
   the first nibble of the ACH that immediately follows the bottom label
   in the stack if the GAL label is present, to 0001b.  Further
   [RFC5586] expects that the ACH not be used to carry user data
   traffic.  This document proposes an extension to allow the first
   nibble of the ACH to be set to 0000b and, when following the GAL, be
   interpreted using the semantics defined in
   [I-D.guichard-metadata-header] to allow metadata to be carried
   through the G-ACh channel."

However, it seems that the special usage of the GAL as mentioned above still conflicts with the following statement quoted from [RFC5586]:

"  The GAL MUST NOT appear in the label stack when transporting normal
   user-plane packets.  Furthermore, when present, the GAL MUST NOT
   appear more than once in the label stack."

I wonder whether the special usage of the GAL as proposed in the above draft would result in any backward compatibility issue. In addition, I wonder whether it's worthwhile to reconsider the possibility of introducing a Protocol Type (PT) field immediately after the bottom of the MPLS label stack. With such PT field, any kind of future MPLS payload (e.g., metadata header or NSH) can be easily identified.

Best regards,
Xiaohu