Re: [sfc] NSH context headers: fixed/tlv

"Carlos Pignataro (cpignata)" <cpignata@cisco.com> Thu, 03 December 2015 21:28 UTC

Return-Path: <cpignata@cisco.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 C08791ACDB2 for <sfc@ietfa.amsl.com>; Thu, 3 Dec 2015 13:28:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level:
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] 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 M1B5kspHaZwo for <sfc@ietfa.amsl.com>; Thu, 3 Dec 2015 13:28:03 -0800 (PST)
Received: from rcdn-iport-4.cisco.com (rcdn-iport-4.cisco.com [173.37.86.75]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 900621ACDA5 for <sfc@ietf.org>; Thu, 3 Dec 2015 13:28:03 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=15043; q=dns/txt; s=iport; t=1449178083; x=1450387683; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=Rxu79CBredpzmIquYgazf0wACcAG177Dz3OsPegoqbo=; b=WlV/8DDDncSwG6bispo8IZWdX22ijnXrwAV6iVX180MeDe8A559pQZB5 HayybC6pEt7BKyhc7VX76w/ouL3LHCHKkg6hrX3H28RJQCIBFChocpgoh HjYXKHCyjDzWsd3czpFHNVc4GanzZ21ntoKI7ncEwpMiSUvZT0j/+R05n Y=;
X-Files: signature.asc : 841
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0C/AgAAs2BW/5hdJa1UCoM6U24GvTsOgW4XCoVtAoFOOBQBAQEBAQEBgQqENAEBAQMBAQEBC1cHAggDBQsCAQgRBAEBAScHIQYLFAkIAgQOBQ6IDAMKCA29JA2ETwEBAQEBAQEBAQEBAQEBAQEBAQEBAQ8FBIZUgg+CboJTgVcGCwGEfwWHWYcDiAUBgmCBYocCgXeBW4RDjnaDZ4NxAR8BQ4IOIIFWcoQuOoEHAQEB
X-IronPort-AV: E=Sophos;i="5.20,378,1444694400"; d="asc'?scan'208";a="52328394"
Received: from rcdn-core-1.cisco.com ([173.37.93.152]) by rcdn-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Dec 2015 21:28:02 +0000
Received: from XCH-RTP-017.cisco.com (xch-rtp-017.cisco.com [64.101.220.157]) by rcdn-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id tB3LS1UJ032413 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 3 Dec 2015 21:28:02 GMT
Received: from xch-rtp-020.cisco.com (64.101.220.160) by XCH-RTP-017.cisco.com (64.101.220.157) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Thu, 3 Dec 2015 16:28:01 -0500
Received: from xch-rtp-020.cisco.com ([64.101.220.160]) by XCH-RTP-020.cisco.com ([64.101.220.160]) with mapi id 15.00.1104.000; Thu, 3 Dec 2015 16:28:01 -0500
From: "Carlos Pignataro (cpignata)" <cpignata@cisco.com>
To: "Joel M. Halpern" <jmh@joelhalpern.com>
Thread-Topic: [sfc] NSH context headers: fixed/tlv
Thread-Index: AQHRIy5ejy7hwshPJkSenz9F/5cNK56klIsAgADIkYCAADCGgIAEnguAgAzcDQD///SVAIABr48AgABGUoCAAMB+gIAAD7MAgABuCoA=
Date: Thu, 03 Dec 2015 21:28:01 +0000
Message-ID: <A17E353A-8111-44A6-A937-519684313597@cisco.com>
References: <D273AF56.849AA%andrew.dolganow@alcatel-lucent.com> <B8F9A780D330094D99AF023C5877DABA848C056D@nkgeml501-mbs.china.huawei.com> <36EF1E54-A0D8-46CE-AF4F-EEDE873123E3@cisco.com> <94DA9C7F532AD946852C9C5527195239254ABE3A@G1W3656.americas.hpqcorp.net> <CAA=duU0UvERU3-YE2EFT-kOExHWgLesSERRAkox0Ji1V28nNdQ@mail.gmail.com> <EDE43D1E-8068-4466-98E2-EC5BF517EBE8@cisco.com> <CDF2F015F4429F458815ED2A6C2B6B0B6D6E5328@MBX021-W3-CA-2.exch021.domain.local> <8A5DB5BA-3EA6-443E-9D81-9E603E2B7F99@cisco.com> <CAA=duU00JUZXCiZWqAjQ4RNYxvUhpa_itzO+6gKdoppkVAt50Q@mail.gmail.com> <918C07DA-AAE3-43D1-ACF4-8C27C1118D28@cisco.com> <56605790.806@joelhalpern.com>
In-Reply-To: <56605790.806@joelhalpern.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.82.227.30]
Content-Type: multipart/signed; boundary="Apple-Mail=_E2513BC0-6828-4DAC-B36A-45BFD0A44ED0"; protocol="application/pgp-signature"; micalg="pgp-sha256"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/sfc/tbFAPVYdBpu_iidp9MaImRFwXiw>
Cc: "sfc@ietf.org" <sfc@ietf.org>
Subject: Re: [sfc] NSH context headers: fixed/tlv
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: <https://mailarchive.ietf.org/arch/browse/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: Thu, 03 Dec 2015 21:28:06 -0000

Hi, Joel,

The existing documented use-cases, mobility, DC, and broadband, contain different metadata fields. If an SF that can be used in any of these deployments is configured from the control-plane as part of an SFP, how does it know which fields are to be understood? Without profiles or explicit indication, seems a control-plane needs to set up relevant types of metadata (and for type 1 its schema).

Thanks,

— Carlos.

> On Dec 3, 2015, at 9:54 AM, Joel M. Halpern <jmh@joelhalpern.com> wrote:
> 
> Carlos, I am not following your reasoning here.
> If MD-Type 2 is being used, then it is reasonable to expect that the service functions know what types they care about.  I don't think we have a problem of needing to later introduce a mandatory TLV that would cause a packet to be rejected by an SF that does not recognize it.  So what you ask for in terms of control support of MD-2 does not seem to be needed.
> 
> Yours,
> Joel
> 
> On 12/3/15 8:57 AM, Carlos Pignataro (cpignata) wrote:
>> Hi, Andy,
>> 
>> This is a useful comment and area, please see inline.
>> 
>>> On Dec 2, 2015, at 9:28 PM, Andrew G. Malis <agmalis@gmail.com
>>> <mailto:agmalis@gmail.com>> wrote:
>>> 
>>> Paul,
>>> 
>>> Using the control plane to describe the context header allocation is,
>>> of course, similar to how FECs managed by the control plane are used
>>> to describe MPLS labels in the data plane.
>>> 
>>> Except in this case, there are currently no provisions in
>>> draft-ietf-sfc-control-plane-02 for the control plane to be able to
>>> describe or identify the context header allocation for type 1.
>> 
>> I agree with you that draft-ietf-sfc-control-plane-02 is underspecified.
>> Section 2.3 scopes control-plane responsibilities that the doc does not
>> tackle. However...
>> 
>>> Would you be willing to provide text for this?
>>> 
>>> Since type 2 is self-describing, there is less (no?) need for this
>>> functionailty there.
>>> 
>> 
>> … I disagree that the gap is only for MD Type 1.
>> 
>> For MD Type 1, a schema can instruct the fields and format.
>> 
>> For MD Type 2, the fact that it is self-describing actually imposes a
>> much higher bar and responsibility for the control plane. Given the fact
>> that there are potentially a ginormous amount of Type values, how does
>> the control-plane convey what Types to expect, to use, which ones are
>> mandatory, optional, what to do when unknown types are received, etc.
>> 
>> Regardless of how the data is actually structured, the control-plane
>> needs to convey what MD is expected, useful, and how. For MD Type 1,
>> those are always organized in a certain way. For MD Type 2, they can be
>> disorganized in a plurality of ways.
>> 
>> Net-net, I think that the control-plane responsibility of instructing MD
>> to expect. For MD Type 1, the schema. But MD Type 2 has the feature of
>> complicating the data plane.
>> 
>> Thanks,
>> 
>> — Carlos.
>> 
>>> Cheers,
>>> Andy
>>> 
>>> On Wed, Dec 2, 2015 at 2:17 PM, Paul Quinn (paulq) <paulq@cisco.com
>>> <mailto:paulq@cisco.com>> wrote:
>>> 
>>>    Hi Ron,
>>> 
>>>    I'm not sure we gain much by adding that.  Given that a control
>>>    plane is needed to provide semantic meaning to the metadata,
>>>    relying on that control plane to "describe" the allocation seems
>>>    reasonable.  It's certainly the approach taken in the open source
>>>    world, and is working.
>>> 
>>>    Paul
>>> 
>>>>    On Dec 1, 2015, at 3:32 PM, Ron Parker
>>>>    <Ron_Parker@affirmednetworks.com
>>>>    <mailto:Ron_Parker@affirmednetworks.com>> wrote:
>>>> 
>>>>    Paul,____
>>>> 
>>>>    __ __
>>>> 
>>>>    For type 1, would you consider incorporation of a “schema ID”
>>>>    either within the 16 bytes or outside of them?   That would allow
>>>>    for an IANA-type registry to make explicit the various complete
>>>>    interpretations of the fixed-size metadata bytes.   A value could
>>>>    be reserved for “enterprise specific” to allow for innovation and
>>>>    experimental uses (whether or not an enterprise ID would be
>>>>    included in this case could be for further discussion).   I think
>>>>    some of the concerns around type 1 is the rigidity, but also the
>>>>    not-so-explicitly structured nature of it and how that could lead
>>>>    to interoperability difficulties.    My proposal would reduce
>>>>    concerns around the latter, I believe.____
>>>> 
>>>>    __ __
>>>> 
>>>>    Thanks.____
>>>> 
>>>>    __ __
>>>> 
>>>>       Ron____
>>>> 
>>>>    __ __
>>>> 
>>>>    __ __
>>>> 
>>>>    *From:*sfc [mailto:sfc-bounces@ietf.org] *On Behalf Of *Paul
>>>>    Quinn (paulq)
>>>>    *Sent:* Tuesday, December 1, 2015 3:14 PM
>>>>    *To:* Andrew G. Malis <agmalis@gmail.com <mailto:agmalis@gmail.com>>
>>>>    *Cc:* sfc@ietf.org <mailto:sfc@ietf.org>
>>>>    *Subject:* Re: [sfc] NSH context headers: fixed/tlv____
>>>> 
>>>>    __ __
>>>> 
>>>>    Hi Andy, ____
>>>> 
>>>>    __ __
>>>> 
>>>>    __ __
>>>> 
>>>>    Please see below.____
>>>> 
>>>>    __ __
>>>> 
>>>>    __ __
>>>> 
>>>>    Thanks____
>>>> 
>>>>    Paul____
>>>> 
>>>>    __ __
>>>> 
>>>>    __ __
>>>> 
>>>>        On Nov 23, 2015, at 10:50 AM, Andrew G. Malis
>>>>        <agmalis@gmail.com <mailto:agmalis@gmail.com>> wrote:____
>>>> 
>>>>        __ __
>>>> 
>>>>        I agree with Paul B. that interoperability is best served by
>>>>        using a header that accommodates the greatest number of
>>>>        possible applications and use cases as the common
>>>>        denominator. This argues for type 2 being the MUST to
>>>>        implement, with type 1 being an optional optimization for
>>>>        some particular use cases or applications that require at
>>>>        most a particular number context headers. ____
>>>> 
>>>>        __ __
>>>> 
>>>>    __ __
>>>> 
>>>>    PQ>  I don't follow that logic: the _easiest_ (in terms of
>>>>    complexity, cost, etc.) option makes the most sense to mandate
>>>>    since it allows for a broad implementation and helps ensure
>>>>    adoption of the protocol.  Mandating a more complex option simply
>>>>    slows the adoption.  This is exactly the conversation we had when
>>>>    putting together the draft, and one that seems to resonate with
>>>>    developers and operators alike. ____
>>>> 
>>>>    __ __
>>>> 
>>>>    PQ>  Also, let's not ignore history (you know the old adage ;)):
>>>>    TLV and other variable length data plane protocols have not been
>>>>    a success.  We can debate the reasons for that, but the fact
>>>>    remains: simple data planes get adoption.  As Paul B. points out
>>>>    below, we don't know all the metadata answers, but we do know
>>>>    that a bounded amount of metadata is very important for SFC use
>>>>    cases.  Let's use that fact, and a simple protocol to get
>>>>    implementation out the door.____
>>>> 
>>>>    __ __
>>>> 
>>>>        In a separate email, Med asked a very reasonable question -
>>>>        for type 1, why are there four mandatory context headers,
>>>>        rather than 2, 3, 5, 10, etc.? The draft contains no
>>>>        particular justification for this choice.____
>>>> 
>>>>    __ __
>>>> 
>>>>    PQ>  That's a very valid question.  The starting premise was
>>>>    simple: a bounded set of fixed metadata.   Based on some
>>>>    experience in the service space and some initial use case
>>>>    discussion with operators, 4 provided some balance: reasonable in
>>>>    that it provided some meaningful space, yet not so large as to
>>>>    become unwieldy, all the while forcing some discipline.  Overall
>>>>    that has proven to be true as implementations have been tested
>>>>    and mapped to use cases.  Of course you can come up with cases
>>>>    where 4 is too many, or too few, in which case the draft provides
>>>>    a means to accommodate that.____
>>>> 
>>>>    __ __
>>>> 
>>>>    PQ>  I also think we need to be realistic.  We were urged during
>>>>    WG formation by a large operator: the IETF cannot spend years
>>>>    trying to solve the service chaining issue.  The need for an
>>>>    interoperable protocol is acute and operators need to start
>>>>    working on deployment (see the vibrancy of the open source
>>>>    projects in this space).  The balance of type 1 and type 2 allows
>>>>    for velocity and evolution. ____
>>>> 
>>>>    __ __
>>>> 
>>>>    __ __
>>>> 
>>>> 
>>>> 
>>>>    ____
>>>> 
>>>>        __ __
>>>> 
>>>>        It’s true that there are two particular use
>>>>        cases, draft-guichard-sfc-nsh-dc-allocation
>>>>        and draft-napper-sfc-nsh-mobility-allocation, that look to
>>>>        make good use of exactly 4 context headers. However, these
>>>>        are just two particular examples, and not yet accepted by the
>>>>        WG.  Further development of these drafts, or even
>>>>        implementation, may show that four are insufficient.____
>>>> 
>>>>        __ __
>>>> 
>>>>        Cheers,____
>>>> 
>>>>        Andy____
>>>> 
>>>>        __ __
>>>> 
>>>>        __ __
>>>> 
>>>>        On Fri, Nov 20, 2015 at 12:20 PM, Bottorff, Paul
>>>>        <paul.bottorff@hpe.com <mailto:paul.bottorff@hpe.com>> wrote:____
>>>> 
>>>>            I think we all could agree that fixed headers are easier
>>>>            to implement than TLVs, however that does not rationalize
>>>>            mandating a fixed header implementation. It would
>>>>            rationalize supporting only fixed length headers, however
>>>>            we have been unable to do this. Options always weaken
>>>>            standards agreement.____
>>>> 
>>>>            ____
>>>> 
>>>>            If the application requires TLVs, then it does not
>>>>            provide any standards advantage to mandate support for
>>>>            fixed headers. It will not be possible for an application
>>>>            that requires TLVs to fall back to fixed length headers.
>>>>            If they could, then we should eliminate the TLV option
>>>>            from NSH. ____
>>>> 
>>>>            ____
>>>> 
>>>>            IMHO we should be looking at the abstract semantics for
>>>>            meta-data before we consider how to encode it. Once we
>>>>            decide what needs to be encoded then we can consider the
>>>>            best encodings and what should be mandatory or optional. ____
>>>> 
>>>>            ____
>>>> 
>>>>            Cheers,____
>>>> 
>>>>            ____
>>>> 
>>>>            Paul ____
>>>> 
>>>>            *From:* sfc [mailto:sfc-bounces@ietf.org
>>>>            <mailto:sfc-bounces@ietf.org>] *On Behalf Of *Paul Quinn
>>>>            (paulq)
>>>>            *Sent:* Friday, November 20, 2015 6:27 AM
>>>>            *To:* Qin Wu
>>>>            *Cc:* uri.elzur@intel.com <mailto:uri.elzur@intel.com>;
>>>>            Dolganow, Andrew (Andrew); sfc@ietf.org
>>>>            <mailto:sfc@ietf.org>; Linda Dunbar
>>>>            *Subject:* Re: [sfc] NSH context headers: fixed/tlv____
>>>> 
>>>>            ____
>>>> 
>>>>            ____
>>>> 
>>>>                On Nov 19, 2015, at 9:28 PM, Qin Wu
>>>>                <bill.wu@huawei.com <mailto:bill.wu@huawei.com>>
>>>>                wrote:____
>>>> 
>>>>                ____
>>>> 
>>>>                Hi, Andrew and Paul:____
>>>> 
>>>>                It looks I missed a lot of discussion regarding NSH
>>>>                context header in the past, thanks Paul to point me
>>>>                the archive.____
>>>> 
>>>>                Generally speaking, there is tradeoff between
>>>>                performance and flexibility.____
>>>> 
>>>>                ____
>>>> 
>>>>                ____
>>>> 
>>>>            Absolutely, and that's the reason for offering the two
>>>>            options: balance speed/simplicity and flexibility.____
>>>> 
>>>>            ____
>>>> 
>>>>            The philosophy is to mandate the simplest form of
>>>>            metadata, enabling a broad implementation base.  If/when
>>>>            more flexibility is needed a more flexible NSH type is
>>>>            available, along with the associated tradeoffs.  That's
>>>>            the balance that we decided to strike and it seems to be
>>>>            reasonable and well accepted.____
>>>> 
>>>>            ____
>>>> 
>>>>            Thanks,____
>>>> 
>>>>            Paul____
>>>> 
>>>>            ____
>>>> 
>>>> 
>>>>            _______________________________________________
>>>>            sfc mailing list
>>>>            sfc@ietf.org <mailto:sfc@ietf.org>
>>>>            https://www.ietf.org/mailman/listinfo/sfc____
>>>> 
>>>>        __ __
>>>> 
>>>>    __ __
>>>> 
>>> 
>>> 
>>> _______________________________________________
>>> sfc mailing list
>>> sfc@ietf.org <mailto:sfc@ietf.org>
>>> https://www.ietf.org/mailman/listinfo/sfc
>> 
>> 
>> 
>> _______________________________________________
>> sfc mailing list
>> sfc@ietf.org
>> https://www.ietf.org/mailman/listinfo/sfc
>> 
> 
> _______________________________________________
> sfc mailing list
> sfc@ietf.org
> https://www.ietf.org/mailman/listinfo/sfc