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

Robert Raszuk <robert@raszuk.net> Fri, 18 July 2014 14:43 UTC

Return-Path: <rraszuk@gmail.com>
X-Original-To: sfc@ietfa.amsl.com
Delivered-To: sfc@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DB8811B29E0; Fri, 18 Jul 2014 07:43:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.277
X-Spam-Level:
X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=no
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 I7JyERbXbMa3; Fri, 18 Jul 2014 07:43:31 -0700 (PDT)
Received: from mail-ie0-x22c.google.com (mail-ie0-x22c.google.com [IPv6:2607:f8b0:4001:c03::22c]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 10D291B29CE; Fri, 18 Jul 2014 07:43:30 -0700 (PDT)
Received: by mail-ie0-f172.google.com with SMTP id lx4so4580563iec.17 for <multiple recipients>; Fri, 18 Jul 2014 07:43:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=UIrzvOQ2YUHjM0nbyOoriIY/J2pVyExkHxhyGNm2Mac=; b=rRoUMIS2vhZhjdbRik8myrWAYQR8q3Ox+Ob50Xh0INwZSlBH+vEd3SPOdXhe9Kabsn RK6XWpI4wLUTAMew0Ye//Y89dn5uFeXDCDEqmWTEbUit4J5el1EvMZdqg6GPNDeZXWML 8xER4qh23wY5edp4tsZJ76aNC2ybtYXkx1FVUrtDksA9mj0kGmjVHdK7ZnnXXHcmw7+t 1JV33p1qb6wxun4cTdrHGTYQiLtiVXDC3KUO3cYOkXBw9wKZolFh7SgOUA1KS0IZp1HY Qxv0zbTovaWU3WLTlfRH4KcqQuTf4oMJjazyPiD+MTX/3AlKkuEBvS/0W1mZaxhDb8Lm z9NA==
MIME-Version: 1.0
X-Received: by 10.42.154.132 with SMTP id q4mr8214426icw.4.1405694610197; Fri, 18 Jul 2014 07:43:30 -0700 (PDT)
Sender: rraszuk@gmail.com
Received: by 10.64.89.38 with HTTP; Fri, 18 Jul 2014 07:43:30 -0700 (PDT)
In-Reply-To: <CDF2F015F4429F458815ED2A6C2B6B0B1A8BC971@MBX021-W3-CA-2.exch021.domain.local>
References: <1FEE3F8F5CCDE64C9A8E8F4AD27C19EE08294118@NKGEML512-MBS.china.huawei.com> <CA+b+ERk_nd1QLrTPB78jZ15pm3t5QfusLxfhoYhwqA-NfLPiqQ@mail.gmail.com> <CDF2F015F4429F458815ED2A6C2B6B0B1A8BC971@MBX021-W3-CA-2.exch021.domain.local>
Date: Fri, 18 Jul 2014 16:43:30 +0200
X-Google-Sender-Auth: nd42Y6V-GFoxs1lLKAjCXHLW2kI
Message-ID: <CA+b+ERmEYUpf_wo=MU4QDtf1otsGpHaUGd=7uG0p_kJ4FP0F8g@mail.gmail.com>
From: Robert Raszuk <robert@raszuk.net>
To: Ron Parker <Ron_Parker@affirmednetworks.com>
Content-Type: multipart/alternative; boundary="90e6ba6e87a6e7528504fe78c708"
Archived-At: http://mailarchive.ietf.org/arch/msg/sfc/yZufDItBg509IINfCvsAQ07hIE0
Cc: "mpls@ietf.org" <mpls@ietf.org>, Xuxiaohu <xuxiaohu@huawei.com>, "<spring@ietf.org>" <spring@ietf.org>, "sfc@ietf.org" <sfc@ietf.org>
Subject: Re: [sfc] [spring] How to carry metadata/context in an MPLS packet
X-BeenThere: sfc@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Network Service Chaining <sfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sfc>, <mailto:sfc-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sfc/>
List-Post: <mailto:sfc@ietf.org>
List-Help: <mailto:sfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sfc>, <mailto:sfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 18 Jul 2014 14:43:34 -0000

Hi Ron,

I would be very very carefull to place matadata inband (ie embed it in
customer data packets) of data plane.

Few reasons for consideration:

- Adding anything over hundred bytes may become pretty overwhelming for
small size customer packets

- Adding anything over already maxed size packet may cause MTU issues and
fragmentation (which in many cases is not possible in the middle of the
network). Keep in mind also encrypted data.

- Anything which is variable length in the data plane and which is opaque
to the data plane causes additional data plane requirements which a lot of
hardware may have a hard time to deal with

- Inband transport provides no option to pre-populate the state at the
backup devices / backup paths where no active traffic is traversing before
any network event affecting primary path

- A lot of appliances may not be able to be transparent to opaque variable
length metadata resulting in metadata information loss.

For all of the above reasons (and I am sure many more not listed above) I
would keep customer data packets alone and when needed limit only insertion
of a pointer to metadata context learned out-of-band. (Out-of-band is a bit
misleading term here as metadata can happily travel via the same set of
links as customer data. What it really means is
out-of-customer-data-packets).

Best regards,
R.



On Fri, Jul 18, 2014 at 2:05 PM, Ron Parker <Ron_Parker@affirmednetworks.com
> wrote:

>  Robert,
>
>
>
> Inband is one way -- it simplifies things at the cost of packet growth.
> Out-of-band (i.e., signaling) is another way – it adds complexity but
> doesn’t grow the data plane packets.   Congruent out-of-band is a variation
> on out-of-band that may partially reduce out-of-band complexity.    I think
> many opinions on the thread have been that all are in scope,
> architecturally.    Draft-zhang-sfc-sch (I am a co-author), for example,
> defines inband metadata explicitly, but states in text that out-of-band is
> possible, too.    I’m sure this will be a topic of discussion when we start
> discussing control plane requirements.
>
>
>
>    Ron
>
>
>
> *From:* sfc [mailto:sfc-bounces@ietf.org] *On Behalf Of *Robert Raszuk
>
> *Sent:* Friday, July 18, 2014 3:27 AM
> *To:* Xuxiaohu; sfc@ietf.org
> *Cc:* mpls@ietf.org; <spring@ietf.org>
> *Subject:* Re: [sfc] [spring] How to carry metadata/context in an MPLS
> packet
>
>
>
> All,
>
>
>
> Is the idea of using data plane to carry complete metadata is "the way" or
> "a way" of approaching the problem ? Has this been already discussed ?
>
>
>
> I would rather consider to carry metadata in control plane and only attach
> a reference_id (and only when it is needed) to the data plane.
>
>
>
> Rgs,
>
> R.
>
>
>
>
>
>
>
>
>
> On Fri, Jul 18, 2014 at 3:58 AM, Xuxiaohu <xuxiaohu@huawei.com> wrote:
>
> 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
>
> _______________________________________________
> spring mailing list
> spring@ietf.org
> https://www.ietf.org/mailman/listinfo/spring
>
>
>