Re: [nvo3] [ippm] [Int-area] encapsulation of IOAM data in various protocols - follow up from WG discussion in London

"Frank Brockners (fbrockne)" <fbrockne@cisco.com> Tue, 17 April 2018 07:52 UTC

Return-Path: <fbrockne@cisco.com>
X-Original-To: nvo3@ietfa.amsl.com
Delivered-To: nvo3@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EBCAF1271FD; Tue, 17 Apr 2018 00:52:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Level:
X-Spam-Status: No, score=-14.51 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_DKIMWL_WL_MED=-0.01, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 DIS9Bh6cgXIV; Tue, 17 Apr 2018 00:52:00 -0700 (PDT)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 26D28124C27; Tue, 17 Apr 2018 00:52:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=29776; q=dns/txt; s=iport; t=1523951520; x=1525161120; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=5OJiFSuqWAx0hjDOo7ImMtSvwmHXyVZRejmLPZn8LZw=; b=LI/nkghOB68QQNyv+d2oNaFkkVI3KPSk0M1yELtWQL1Y+Zd0xSZ14nVL P7c4uJNmiPzA7DwiTN7oXgdO6pqq21P+yllOKkG8tGvys1XdJRBQ2miU/ W/Pnmu2wOaALGh9qBNzDB1lWnLo2MarCI0AtvaRFjGNg9xwC/Ph07j2WE 0=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0BDAQDtptVa/49dJa1TChkBAQEBAQEBAQEBAQEHAQEBAQGDQmF6KAqDXogCjROBdIEPhmaMAhSBYQMLGAuERgIagjQhNBgBAgEBAQEBAQJsHAyFIgEBAQEDAQEYCQQNMwcLDAQCAQYCEQMBAQEBAgIfBAMCAgIfBgsUAQgIAgQBDQUIF4RWAxUPikWbQIFpM4cKDYErgiAFgQmGfYFUP4EPgl0ugk9CAQGBNQgLL4JpglQCjASEVIZkLAgCh3M0glo7gnWBPINdglpng3uHM4I8hg0CERMBgSQBHDiBUnAVO4JDgh0aEYhIhT5vjXWBGAEB
X-IronPort-AV: E=Sophos;i="5.48,462,1517875200"; d="scan'208";a="379334605"
Received: from rcdn-core-7.cisco.com ([173.37.93.143]) by rcdn-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Apr 2018 07:51:58 +0000
Received: from XCH-RCD-010.cisco.com (xch-rcd-010.cisco.com [173.37.102.20]) by rcdn-core-7.cisco.com (8.14.5/8.14.5) with ESMTP id w3H7pwWK022132 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 17 Apr 2018 07:51:58 GMT
Received: from xch-rcd-008.cisco.com (173.37.102.18) by XCH-RCD-010.cisco.com (173.37.102.20) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Tue, 17 Apr 2018 02:51:57 -0500
Received: from xch-rcd-008.cisco.com ([173.37.102.18]) by XCH-RCD-008.cisco.com ([173.37.102.18]) with mapi id 15.00.1320.000; Tue, 17 Apr 2018 02:51:57 -0500
From: "Frank Brockners (fbrockne)" <fbrockne@cisco.com>
To: Tianran Zhou <zhoutianran@huawei.com>, Tom Herbert <tom@herbertland.com>
CC: "Shwetha Bhandari (shwethab)" <shwethab@cisco.com>, Mickey Spiegel <mspiegel@barefootnetworks.com>, NVO3 <nvo3@ietf.org>, Service Function Chaining IETF list <sfc@ietf.org>, IETF IPPM WG <ippm@ietf.org>
Thread-Topic: [ippm] [Int-area] encapsulation of IOAM data in various protocols - follow up from WG discussion in London
Thread-Index: AQHT01Rv7uw9TGdqO0+V2HJ61OA6MaQC+nQwgABu/4D//63XQIAAWkqAgAATngCAADaJgIAAEx0AgACyKYCAABh5EA==
Date: Tue, 17 Apr 2018 07:51:57 +0000
Message-ID: <d0d024faead143259d83fea6446e7237@XCH-RCD-008.cisco.com>
References: <ff0c9182d1f14ec48b352e41fedaf58e@XCH-RCD-008.cisco.com> <CA+RyBmUNHcQZtTGJj67V=DqPkwV6GXWDUQJGjwT7ODEFg_QQFA@mail.gmail.com> <CALx6S36ojk0z+iOhNhFqF2A+acXC1=xHPEN7G0Y_9+itC+WiGQ@mail.gmail.com> <CACYmcDqd2gwUTmjj-BssB1Bh7EAVi6v_Uu6Qq9XXd2RbdMnGGw@mail.gmail.com> <CALx6S37aig+JJ8WPgC6NDeNExJ_qS9LZweSL2TOgD1EPqZRwTQ@mail.gmail.com> <CACYmcDqVzr9y-LyUzJPs98mrmGZynUCUiPwepNBQpsKdyweyPQ@mail.gmail.com> <fb963e482d074551853ce83816f24c7f@XCH-RCD-008.cisco.com> <BBA82579FD347748BEADC4C445EA0F21A6D62FA3@NKGEML515-MBX.china.huawei.com> <8d1b3bb4a1794c4fac3455257e0ab60e@XCH-RCD-008.cisco.com> <BBA82579FD347748BEADC4C445EA0F21A6D62FD6@NKGEML515-MBX.china.huawei.com> <C7371A46-50F6-4A08-9719-5B2AB51091B3@cisco.com> <BBA82579FD347748BEADC4C445EA0F21A6D63236@NKGEML515-MBX.china.huawei.com> <CALx6S377-PdtAno2Jho3E_JfOeHzAc+xzjWckZycdJYsWSqSQA@mail.gmail.com> <BBA82579FD347748BEADC4C445EA0F21A6D638D3@NKGEML515-MBX.china.huawei.com>
In-Reply-To: <BBA82579FD347748BEADC4C445EA0F21A6D638D3@NKGEML515-MBX.china.huawei.com>
Accept-Language: de-DE, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.61.192.93]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/nvo3/BZI6SwUw5zFz6kDHFUSRloHKwRQ>
Subject: Re: [nvo3] [ippm] [Int-area] encapsulation of IOAM data in various protocols - follow up from WG discussion in London
X-BeenThere: nvo3@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Network Virtualization Overlays \(NVO3\) Working Group" <nvo3.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nvo3>, <mailto:nvo3-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nvo3/>
List-Post: <mailto:nvo3@ietf.org>
List-Help: <mailto:nvo3-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nvo3>, <mailto:nvo3-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Apr 2018 07:52:06 -0000

Hi Tianran,

Tom's note already includes the hint: You'll add IOAM data to the protocol/layer that you're interested in monitoring. Again using Geneve over IPv6 as an example: 
* If you're interested in the overlay, i.e. Geneve (e.g. timestamping the packet when it enters and exists the tunnel) - you'd add IOAM data to Geneve
* If you're interested in the underlay, i.e. IPv6 (e.g. you'd like to understand which path packets take in the v6 network) - you'd add IOAM data to IPv6
* If you're interested in both, then you'd add IOAM data to Geneve and IPv6

Draft draft-ietf-ippm-ioam-data-02 already mentions layering (see section 3):
"Layering: If several encapsulation protocols (e.g., in case of tunneling) are stacked on top of each other, IOAM data-records could be present at every layer.  The behavior follows the ships-in-the-night model."

Given the discussion here, we'll add some additional text in the next revision to make things crisper (e.g. adding an example might help).

Frank

-----Original Message-----
From: Tianran Zhou <zhoutianran@huawei.com> 
Sent: Dienstag, 17. April 2018 03:18
To: Tom Herbert <tom@herbertland.com>
Cc: Shwetha Bhandari (shwethab) <shwethab@cisco.com>; Frank Brockners (fbrockne) <fbrockne@cisco.com>; Mickey Spiegel <mspiegel@barefootnetworks.com>; NVO3 <nvo3@ietf.org>; Service Function Chaining IETF list <sfc@ietf.org>; IETF IPPM WG <ippm@ietf.org>
Subject: RE: [ippm] [Int-area] encapsulation of IOAM data in various protocols - follow up from WG discussion in London

I think it's better that Frank or Shwetha can explain the multi-layer use case in detail.

Tianran
> -----Original Message-----
> From: Tom Herbert [mailto:tom@herbertland.com]
> Sent: Monday, April 16, 2018 10:40 PM
> To: Tianran Zhou <zhoutianran@huawei.com>
> Cc: Shwetha Bhandari (shwethab) <shwethab@cisco.com>; Frank Brockners
> (fbrockne) <fbrockne@cisco.com>; Mickey Spiegel 
> <mspiegel@barefootnetworks.com>; NVO3 <nvo3@ietf.org>; int-area 
> <int-area@ietf.org>; Service Function Chaining IETF list 
> <sfc@ietf.org>; IETF IPPM WG <ippm@ietf.org>
> Subject: Re: [ippm] [Int-area] encapsulation of IOAM data in various 
> protocols - follow up from WG discussion in London
> 
> On Mon, Apr 16, 2018 at 6:31 AM, Tianran Zhou <zhoutianran@huawei.com> wrote:
> > Hi Shwetha,
> >
> > You are talking about the outer encapsution. It is straight forward 
> > for the underlay to record by the header. But what about the 
> > overlay, i.e., inner encapsulation(e.g. geneve)? Without special 
> > configuration, intermediate node will not read the inner header, 
> > hence not be able to process IOAM.e
> 
> Hi Tianran,
> 
> I believe that is also not protocol conformant. Intermediate nodes 
> should not be processing transport layer data as this can lead to 
> misinterpretation and possibly silent data corruption.
> 
> For instance, Geneve is a UDP encapsulation protocol with assigned port 6081.
> In order for an intermediate device to process the Geneve 
> encapsulation header it would need to look for packets with 
> destination port of 6081 since that is the only possible 
> discriminator. However, transport port numbers do not have global 
> meaning and hosts may use port numbers for other purposes (RFC7605 
> describes this). So a packet to port 6081 might be something other 
> than Geneve and may be misinterpreted. If a misinterpreted packet is changed (like ippm data is written) then that would be systematic silent data corruption.
> 
> As far as I know, hop-by-hop options is the only protocol confirming 
> mechanism that allows an intermediate note to change data of packet in flight.
> Encpasulation is the only conforming mechanism that allows an 
> intermediate node to add data (like extension headers) to a packet in flight.
> 
> Tom
> 
> > Maybe we are not synced by this overlay/underlay use case. :-)
> >
> > Tianran
> >
> >
> >
> > ________________________________
> > Sent from WeLink
> >
> > 发件人: Shwetha Bhandari (shwethab)
> > 收件人: Tianran Zhou<zhoutianran@huawei.com>;Frank Brockners 
> > (fbrockne)<fbrockne@cisco.com>;Mickey
> > Spiegel<mspiegel@barefootnetworks.com>;Tom
> > Herbert<tom@herbertland.com>
> > 抄送: NVO3<nvo3@ietf.org>;int-area<int-area@ietf.org>;Service Function 
> > Chaining IETF list<sfc@ietf.org>;IETF IPPM WG<ippm@ietf.org>
> > 主题: Re: [ippm] [Int-area] encapsulation of IOAM data in various 
> > protocols - follow up from WG discussion in London
> > 时间: 2018-04-16 18:17:01
> >
> > Hi Tianran,
> >
> >> If I recall right, it is not written in the ioam data draft.
> >
> > Data draft is defining the data to be carried in IOAM in an 
> > encapsulation agnostic way, it does not specify how the 
> > encapsulation protocol is configured.
> >
> >
> >
> >> Yes, node by node configuration is an easy way.
> >
> > While it is, it does not have to be a node by node configuration. It 
> > can be part of the encapsulation definition.
> >
> > For e.g. If the encapsulation is IPv6 and if we define the data to 
> > be carried as HbH options, then based on the Option Type with 
> > highest order 2 bits set to 00 then the v6 nodes that implement IOAM 
> > will process the option and others will skip over.
> >
> >
> >
> >
> >
> > Thanks,
> >
> > Shwetha
> >
> >
> >
> > From: ippm <ippm-bounces@ietf.org> on behalf of Tianran Zhou 
> > <zhoutianran@huawei.com>
> > Date: Monday, April 16, 2018 at 2:36 PM
> > To: "Frank Brockners (fbrockne)" <fbrockne@cisco.com>, Mickey 
> > Spiegel <mspiegel@barefootnetworks.com>, Tom Herbert 
> > <tom@herbertland.com>
> > Cc: NVO3 <nvo3@ietf.org>, "int-area@ietf.org" <int-area@ietf.org>, 
> > Service Function Chaining IETF list <sfc@ietf.org>, IETF IPPM WG 
> > <ippm@ietf.org>
> > Subject: Re: [ippm] [Int-area] encapsulation of IOAM data in various 
> > protocols - follow up from WG discussion in London
> >
> >
> >
> > Hi Frank,
> >
> >
> >
> > If I recall right, it is not written in the ioam data draft.
> >
> > Yes, node by node configuration is an easy way. In the 
> > draft-zhou-ippm-ioam-yang, we have the “protocol-type” to indicate 
> > the layering.
> >
> >    +--rw ioam
> >
> >       +--rw ioam-profiles
> >
> >          +--rw enabled?        boolean
> >
> >          +--rw ioam-profile* [profile-name]
> >
> >             +--rw profile-name                    string
> >
> >             +--rw filter
> >
> >             |  +--rw filter-type?   ioam-filter-type
> >
> >             |  +--rw acl-name?      -> /acl:acls/acl/name
> >
> >             +--rw protocol-type?                  ioam-protocol-type
> >
> >             +--rw incremental-tracing-profile {incremental-trace}?
> >
> >             |  ...
> >
> >             +--rw preallocated-tracing-profile {preallocated-trace}?
> >
> >             |  ...
> >
> >             +--rw pot-profile {proof-of-transit}?
> >
> >             |  ...
> >
> >             +--rw e2e-profile {edge-to-edge}?
> >
> >                ...
> >
> >
> >
> >
> >
> > Tianran
> >
> > From: Frank Brockners (fbrockne) [mailto:fbrockne@cisco.com]
> > Sent: Monday, April 16, 2018 4:51 PM
> > To: Tianran Zhou <zhoutianran@huawei.com>; Mickey Spiegel 
> > <mspiegel@barefootnetworks.com>; Tom Herbert <tom@herbertland.com>
> > Cc: NVO3 <nvo3@ietf.org>; int-area@ietf.org; Service Function 
> > Chaining IETF list <sfc@ietf.org>; IETF IPPM WG <ippm@ietf.org>
> > Subject: RE: [ippm] [Int-area] encapsulation of IOAM data in various 
> > protocols - follow up from WG discussion in London
> >
> >
> >
> > Hi Tianran,
> >
> >
> >
> > IOAM is a domain specific feature (see also
> > draft-ietf-ippm-ioam-data-02 sections 3 and 4), which allows an 
> > operator to control by means of configuration where and for which 
> > traffic IOAM data fields are added/updated/removed from the customer 
> > traffic. Using your example of Geneve over IPv6 – with IOAM data in 
> > both the Geneve and the IPv6 protocol, one would expect that the 
> > operator configures the endpoints of the Geneve tunnel to operate on 
> > the IOAM data in Geneve, and the IPv6 routers that the Geneve tunnel
> traverses to operate on the IOAM data in IPv6.
> >
> >
> >
> > Frank
> >
> >
> >
> > From: Tianran Zhou <zhoutianran@huawei.com>
> > Sent: Montag, 16. April 2018 10:37
> > To: Frank Brockners (fbrockne) <fbrockne@cisco.com>; Mickey Spiegel 
> > <mspiegel@barefootnetworks.com>; Tom Herbert <tom@herbertland.com>
> > Cc: NVO3 <nvo3@ietf.org>; int-area@ietf.org; Service Function 
> > Chaining IETF list <sfc@ietf.org>; IETF IPPM WG <ippm@ietf.org>
> > Subject: RE: [ippm] [Int-area] encapsulation of IOAM data in various 
> > protocols - follow up from WG discussion in London
> >
> >
> >
> > Hi Frank,
> >
> >
> >
> > How does a forwarder know when and where to insert the data?
> >
> > In the case of Geneve over IPv6, do you mean the device need to scan 
> > all the protocol stack? Or just the outer encapsulation?
> >
> >
> >
> > Tianran
> >
> >
> >
> > From: ippm [mailto:ippm-bounces@ietf.org] On Behalf Of Frank 
> > Brockners
> > (fbrockne)
> > Sent: Monday, April 16, 2018 3:08 PM
> > To: Mickey Spiegel <mspiegel@barefootnetworks.com>; Tom Herbert 
> > <tom@herbertland.com>
> > Cc: NVO3 <nvo3@ietf.org>; int-area@ietf.org; Service Function 
> > Chaining IETF list <sfc@ietf.org>; IETF IPPM WG <ippm@ietf.org>
> > Subject: Re: [ippm] [Int-area] encapsulation of IOAM data in various 
> > protocols - follow up from WG discussion in London
> >
> >
> >
> >
> >
> > Tom,
> >
> >
> >
> > a quick addition to what Mickey mentioned below: What you seem to 
> > have in mind is what draft-ietf-ippm-ioam-data-02 refers to as “layering”
> > (see section 3.), i.e. if you’re running for example Geneve over 
> > IPv6, then IOAM data could be encapsulated in both protocols, Geneve 
> > and
> > IPv6 – giving you visibility into the “underlay” (IPv6) and the “overlay”
> (Geneve).
> >
> >
> >
> > Frank
> >
> >
> >
> > From: ippm <ippm-bounces@ietf.org> On Behalf Of Mickey Spiegel
> > Sent: Freitag, 13. April 2018 20:22
> > To: Tom Herbert <tom@herbertland.com>
> > Cc: NVO3 <nvo3@ietf.org>; int-area@ietf.org; Service Function 
> > Chaining IETF list <sfc@ietf.org>; IETF IPPM WG <ippm@ietf.org>
> > Subject: Re: [ippm] [Int-area] encapsulation of IOAM data in various 
> > protocols - follow up from WG discussion in London
> >
> >
> >
> > Tom,
> >
> >
> >
> > On Thu, Apr 12, 2018 at 10:17 PM, Tom Herbert <tom@herbertland.com> wrote:
> >
> > Mickey,
> >
> > Looking at these ippm drafts more closely, I have a much more 
> > fundamental concern.
> >
> > In draft-brockners-ippm-ioam-geneve-00 for instance, there is the 
> > text in the introduction:
> >
> > "In-situ OAM (IOAM) records OAM information within the packet while 
> > the packet traverses a particular network domain.  The term "in-situ"
> > refers to the fact that the IOAM data fields are added to the data 
> > packets rather than is being sent within packets specifically 
> > dedicated to OAM.  This document defines how IOAM data fields are 
> > transported as part of the Geneve [I-D.ietf-nvo3-geneve] 
> > encapsulation."
> >
> > I assume this means that as packets with Geneve encapsulation 
> > traverse the network they are interpreted by intermediate nodes as 
> > being Geneve. Since Geneve is a UDP encapsulation, then the 
> > destination UDP port number would be used to identify packets as 
> > being Geneve. So an intermediate device might be looking for UDP 
> > packets destined to port
> > 6081 (the assigned UDP port for Geneve). If my understanding is 
> > correct, then this is a problem.
> >
> > UDP port numbers do not have global meaning. An intermediate device 
> > may very well see UDP packets destined to port 6081 that are not 
> > actually Geneve. This scenario is discussed in RFC7605:
> >
> > "...intermediate device interprets traffic based on the port number.
> > It is important to recognize that any interpretation of port numbers
> > -- except at the endpoints -- may be incorrect, because port numbers 
> > are meaningful only at the endpoints."
> >
> > If the UDP data is modified, as the draft would imply, then 
> > misinterpretation may also mean silent data corruption of packets. A 
> > protocol that would allow this seems pretty incorrect! Note that 
> > this would be true also for any UDP encapsulation that the network 
> > tries to interpret.
> >
> >
> >
> > The intention is to allow for multiple nodes that a packet traverses
> >
> > to be able to insert IOAM node information in the same trace option,
> >
> > but leave some flexibility regarding which nodes actually do the
> >
> > IOAM processing and the node information. This may vary
> >
> > depending on the transport.
> >
> >
> >
> > In case of a tunneled encapsulation such as Geneve or VXLAN,
> >
> > there may still be multiple hops. For example a network may use
> >
> > Geneve or VXLAN, but only do L2 processing at ToRs, with L3
> >
> > processing done at aggregation or core switches. In this case
> >
> > many packets would do 2 Geneve or VXLAN hops, so the packet
> >
> > would contain IOAM node information from two nodes.
> >
> >
> >
> > Another example is service function chaining using Geneve or
> >
> > VXLAN rather than NSH.
> >
> >
> >
> >
> > I am also wondering if hop-by-hop options been considered for this 
> > application? Their interpretation in the network is unabiguous and 
> > they also have the advantage that the work with any IP protocol or 
> > encapsulation.
> >
> >
> >
> > IPv6 hop-by-hop options has been considered. See
> >
> > draft-brockners-inband-oam-transport-05. This has not yet been
> >
> > broken out into a separate draft.
> >
> >
> >
> > Mickey
> >
> >
> >
> >
> > Thanks,
> > Tom
> >
> >
> > On Thu, Apr 12, 2018 at 3:31 PM, Mickey Spiegel 
> > <mspiegel@barefootnetworks.com> wrote:
> >
> >> Tom,
> >>
> >> On Thu, Apr 12, 2018 at 2:46 PM, Tom Herbert <tom@herbertland.com> wrote:
> >>>
> >>> On Thu, Apr 12, 2018 at 9:54 AM, Greg Mirsky 
> >>> <gregimirsky@gmail.com>
> >>> wrote:
> >>> > Hi Frank,
> >>> > thank you for sharing your points. Please find my notes in-line 
> >>> > and tagged
> >>> > GIM>>. I believe that this is very much relevant to work of 
> >>> > GIM>>other
> >>> > working
> >>> > groups that directly work on the overlay encapsulations in the 
> >>> > center of the discussion and hence I've added them to the list.
> >>> > Hope we'll have more opinions to reach the conclusion that is 
> >>> > acceptable to all.
> >>> >
> >>> > Regards,
> >>> > Greg
> >>> >
> >>> > On Wed, Apr 11, 2018 at 12:02 PM, Frank Brockners (fbrockne) 
> >>> > <fbrockne@cisco.com> wrote:
> >>> >>
> >>> >> Back at the IPPM meeting in London, we discussed several drafts 
> >>> >> dealing with the encapsulation of IOAM data in various 
> >>> >> protocols (draft-brockners-ippm-ioam-vxlan-gpe-00,
> >>> >> draft-brockners-ippm-ioam-geneve-00,
> >>> >> draft-weis-ippm-ioam-gre-00). One discussion topic that we 
> >>> >> decided to take to the list was the question on whether 
> >>> >> draft-ooamdt-rtgwg-ooam-header could be leveraged..  After 
> >>> >> carefully considering draft-ooamdt-rtgwg-ooam-header, I came to 
> >>> >> the conclusion that the “OOAM header” does not meet the needs 
> >>> >> of
> >>> >> IOAM:
> >>> >>
> >>> >> * Efficiency: IOAM adds data to live user traffic. As such, an 
> >>> >> encapsulation needs to be as efficient as possible. The “OOAM header”
> >>> >> is 8
> >>> >> bytes long. The approach for IOAM data encapsulation in the 
> >>> >> above mentioned drafts only requires 4 bytes. Using the OOAM 
> >>> >> header approach would add an unnecessary overhead of 4 bytes – 
> >>> >> which is significant.
> >>> Greg,
> >>>
> >>> I'm missing something here. I looked at the drafts you referenced 
> >>> and each of them looks like the overhead for OAM is greater that 
> >>> four bytes. In each there is some overhead equivalent to 
> >>> type/length, for instance in Geneve four bytes are needed for 
> >>> option class, type, and length. Unless the the OAM data is zero 
> >>> length, I don't see how this adds up to only four bytes of overhead.
> >>
> >>
> >> The four versus eight bytes just refers to the fields in the four 
> >> bytes of IOAM info, that is common to all IOAM options. Beyond 
> >> that, there are IOAM option specific fields. For example if doing 
> >> one of the IOAM trace options, there are four bytes of trace option 
> >> header, including the IOAM-trace-type, NodeLen, Flags, and 
> >> RemainingLen fields. These are followed by the node data list 
> >> containing the per hop IOAM information.
> >>
> >> In looking at the OOAM header content, it has nothing to do with 
> >> any of the IOAM information after the first four bytes. It contains 
> >> another variant of the information in the first four bytes of IOAM 
> >> info, spread out over eight bytes.
> >>
> >>>
> >>> Tom
> >>>
> >>> >
> >>> > GIM>> The difference in four octets is because OOAM Header:
> >>> >
> >>> > provides more flexibility, e.g. Flags field and Reserved fields;
> >>
> >>
> >> The flags field only has one defined flag at the moment, for a 
> >> timestamp block. For IOAM trace we need per hop timestamps, which 
> >> the timestamp block cannot address, i.e. the timestamp block is 
> >> redundant for
> IOAM.
> >>
> >>>
> >>> > supports larger OAM packets than iOAM header;
> >>
> >>
> >> For IOAM purposes, 1020 octets is more than enough.
> >>
> >>>
> >>> > is future proof by supporting versioning (Version field).
> >>
> >>
> >> IMO, taking the first two bits of the IOAM-Type to define a Version 
> >> field would be a good thing. This does not require adding four more 
> >> bytes of overhead. 64 IOAM-Types is more than enough.
> >>
> >>>
> >>> >>
> >>> >> * Maturity: IOAM has several implementations, which were also 
> >>> >> shown at recent IETF hackathons – and we’re expecting 
> >>> >> additional implementations to be publicized soon. Interoperable 
> >>> >> implementations need timely specifications. Despite the 
> >>> >> question being asked, the recent thread on OOAM in the NVO3 
> >>> >> list hasn’t revealed any implementation of the OOAM header.
> >>> >> In
> >>> >> addition, the thread revealed that several fundamental 
> >>> >> questions about the OOAM header are still open, such as whether 
> >>> >> or how active OAM mechanisms within protocols such as Geneve 
> >>> >> would apply to the OOAM header. This ultimately means that we 
> >>> >> won’t get to a timely specification.
> >>> >
> >>> > GIM>> May I ask which encapsulations supported by the 
> >>> > GIM>> implementations
> >>> > you
> >>> > refer to. Until very recently all iOAM proposals were to use 
> >>> > meta-data TLV in, e.g. Geneve and NSH. And if these or some of 
> >>> > these implementations already updated to the newly proposed iOAM 
> >>> > shim, I don't see problem in making them use OOAM Header. Would 
> >>> > you agree?
> >>> >
> >>> >>
> >>> >> * Scope: It isn’t entirely clear to which protocols the OOAM 
> >>> >> header would ultimately apply to. The way the OOAM header is 
> >>> >> defined, OOAM uses a 8-bit field for “Next Prot”, the next 
> >>> >> protocol. Some protocols that IOAM data needs to be 
> >>> >> encapsulated into use 16-bits for their next protocol code points. See e.g.
> >>> >> the GRE encapsulation – as specified in 
> >>> >> draft-weis-ippm-ioam-gre-00.
> >>> >
> >>> > GIM>> The first paragraph of the Introduction section states:
> >>> >    New protocols that support overlay networks like VxLAN-GPE
> >>> >    [I-D.ietf-nvo3-vxlan-gpe], GUE [I-D.ietf-nvo3-gue], Geneve
> >>> >    [I-D.ietf-nvo3-geneve], BIER 
> >>> > [I-D.ietf-bier-mpls-encapsulation],
> and
> >>> >    NSH [I-D.ietf-sfc-nsh] support multi-protocol payload, e.g.
> >>> >    Ethernet, IPv4/IPv6, and recognize Operations, Administration, and
> >>> >    Maintenance (OAM) as one of distinct types.  That ensures that
> >>> >    Overlay OAM (OOAM)packets are sharing fate with Overlay data packet
> >>> >    traversing the underlay.
> >>> > I'm updating the OOAM Header draft and along with cleaning nits 
> >>> > will update reference to GUE. I think that the list and the 
> >>> > statemnt are quite clear in identifying the scope of networks 
> >>> > that may benefit from using not only common OOAM Header but 
> >>> > common OOAM mechanisms, e.g. Echo Request/Reply.
> >>> >
> >>> >> With the above in mind, I’d suggest that the WG moves forward 
> >>> >> with specific definitions for encapsulating IOAM data into 
> >>> >> protocols – per the above mentioned drafts.
> >>> >>
> >>> >>
> >>> >>
> >>> >> Regards, Frank
> >>> >>
> >>> >>
> >>> >> _______________________________________________
> >>> >> ippm mailing list
> >>> >> ippm@ietf.org
> >>> >> https://www.ietf.org/mailman/listinfo/ippm
> >>> >>
> >>> >
> >>> >
> >>> > _______________________________________________
> >>> > Int-area mailing list
> >>> > Int-area@ietf.org
> >>> > https://www.ietf.org/mailman/listinfo/int-area
> >>> >
> >>>
> >>> _______________________________________________
> >>> ippm mailing list
> >>> ippm@ietf.org
> >>> https://www.ietf.org/mailman/listinfo/ippm
> >>
> >>
> >
> >