Re: [ippm] New Version Notification for draft-spiegel-ippm-ioam-rawexport-00.txt

Mickey Spiegel <mspiegel@barefootnetworks.com> Mon, 25 June 2018 21:56 UTC

Return-Path: <mspiegel@barefootnetworks.com>
X-Original-To: ippm@ietfa.amsl.com
Delivered-To: ippm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CB943130E65 for <ippm@ietfa.amsl.com>; Mon, 25 Jun 2018 14:56:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=barefootnetworks.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 NDIer5eZgarT for <ippm@ietfa.amsl.com>; Mon, 25 Jun 2018 14:56:52 -0700 (PDT)
Received: from mail-wr0-x232.google.com (mail-wr0-x232.google.com [IPv6:2a00:1450:400c:c0c::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1C1BF130E5E for <ippm@ietf.org>; Mon, 25 Jun 2018 14:56:52 -0700 (PDT)
Received: by mail-wr0-x232.google.com with SMTP id k6-v6so15141134wrp.4 for <ippm@ietf.org>; Mon, 25 Jun 2018 14:56:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=barefootnetworks.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=1nw38tIpaEw5oT/hOlXdCKl9qdZctV1HGALtSBfPGZc=; b=giz6HokBDcWZ66DJjTFTeuXdRYhBxsanTFmKcJNKo5vbB1LKBgLitYuL3I1U56+PGv lcjMd7FZooWeA+KLUU3lmoB5HHf0dronALcaME1N5EnUcp2Enrib3xxpbXWzTmJnXlbq VkeVQbwK7gtMEXMPKdbLEYT5hnYaTHK+eRoH0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=1nw38tIpaEw5oT/hOlXdCKl9qdZctV1HGALtSBfPGZc=; b=qN17epiLoNIiA/sUvz5u2rqvGzMznzBXg/o51CoPOnqH0NHcV9tEFFF79aByy01j2I QEuJSi2Rai5L77tV3V4V7wwgcqLFDGxPH43NDIJ1LDg+n4H0lBxrxQ3AwXDWHwIWu+Nz rJ3dh6g/QqdvusG0lVcigoobWwIPUH1xSlh1bpopiWo4R7WmpGSwcVUQeuN4m4QZIdMj 441xaHU8BDc2nOSpjCSu5dS72/bHfafSEPwJOzZ9nRuHf574vhfu+VW6xUdHTe8x7TGV bxPj6684EEMnN4euHpBUh2plLGsIGaPtKYjWDsL0qXrjENbEO7o4TbCVdNcyT8Tfbs39 kvgA==
X-Gm-Message-State: APt69E3CYIKx2pp1/PLtk1VejWQ8tNaRWK7YZfYE8kcf9WjWd28XduD3 UHizaXjEwKKbCNaV7wvov1oe42F6XSgs9fHEzsGJf8ME
X-Google-Smtp-Source: AAOMgpexbPUxFYXIkx9YDzIGCVqUL+JcC2Eyu6aROWY53gtm+Xo2nARrsGGQq+hZn9l+gMycKz/Bp5PCrdJVK2TzYEc=
X-Received: by 2002:adf:e285:: with SMTP id v5-v6mr10751197wri.54.1529963810516; Mon, 25 Jun 2018 14:56:50 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:adf:b2aa:0:0:0:0:0 with HTTP; Mon, 25 Jun 2018 14:56:50 -0700 (PDT)
In-Reply-To: <CACYmcDr+Nar3ofTWveh5wvSjOFJojh1JRBMmUV1Nee+bqOC6Sg@mail.gmail.com>
References: <152145238619.15900.1215599769770646577.idtracker@ietfa.amsl.com> <CACYmcDr+Nar3ofTWveh5wvSjOFJojh1JRBMmUV1Nee+bqOC6Sg@mail.gmail.com>
From: Mickey Spiegel <mspiegel@barefootnetworks.com>
Date: Mon, 25 Jun 2018 14:56:50 -0700
Message-ID: <CACYmcDrZo-Yb=LvZLxsF27qkGm72s7ZoetU7L=1ghLm6bgdf_g@mail.gmail.com>
To: IETF IPPM WG <ippm@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000720791056f7e75a5"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ippm/OGp1ofyQLy_8e_yVieTcBIQ-5sE>
Subject: Re: [ippm] New Version Notification for draft-spiegel-ippm-ioam-rawexport-00.txt
X-BeenThere: ippm@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: IETF IP Performance Metrics Working Group <ippm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ippm>, <mailto:ippm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ippm/>
List-Post: <mailto:ippm@ietf.org>
List-Help: <mailto:ippm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ippm>, <mailto:ippm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 25 Jun 2018 21:56:56 -0000

On Mon, Jun 25, 2018 at 11:35 AM, Mickey Spiegel <
mspiegel@barefootnetworks.com> wrote:

> Please find below links to a draft on raw export of IOAM data to
> monitoring and analytics systems using IPFIX. This is meant to complement
> the ongoing IPPM work on IOAM in the data plane.
>
> Suggestions and comments would be much appreciated.
>

To the best of our knowledge, the examples in section 4 of this draft
follow the requirements in the IPFIX RFCs.

However, while writing this up we noticed some opportunities to improve
encoding efficiency, if it were possible to update the "descriptions" of
some existing IPFIX information elements in the IANA registry at
https://www.iana.org/assignments/ipfix/ipfix.xhtml. This would be
significant when IOAM raw export is generated directly from highly
optimized data planes processing billions of packets per second.

How could we go about updating these "descriptions"?
Could we propose modifications in this draft itself?
Or does this need to be proposed somewhere else, preferably without having
to go through the entire RFC process?

Some details follow.

*Alignment of multiple records with variable length fields in a data set*



>From RFC 5153:



*4.4.3* <https://tools.ietf.org/html/rfc5153#section-4.4.3>*.  Alignment of
Records within a Set*

   ...



   Data Records can be aligned within a Set by appending instances of

   the paddingOctets Information Element at the end of the Record.

   Since all Data Records within a Set have the same structure and size,

   aligning one Data Record implies aligning all the Data Records within

   a single Set.



If there are variable length fields within the Data Record, this seems to
be insufficient. If the variable length field can vary in length by any
amount, not necessarily a multiple of 4n, then how can alignment of data
records within a set be achieved?



For our purposes, the question is really around variable length instances
of *313 ipHeaderPacketSection*. In the IANA registry, there is one sentence
of concern in the description:



When the sectionExportedOctets field corresponding to this Information
Element does not exist, this Information Element SHOULD have a variable
length and MUST NOT be padded.



In case the length of the IP packet is small and is not a multiple of 4
octets, could we use a variable length instance of *ipHeaderPacketSection*
without *sectionExportedOctets*, setting the *Length* to a multiple of 4
octets and inserting 0 to 3 octets of padding between the length of the IP
packet and the 4 octet aligned *Length* value? The collector could figure
out what is happening by observing the discrepancy between the IP packet
length and the *Length* of *ipHeaderPacketSection*.



*Overly Restrictive Descriptions of ipHeaderPacketSection and
dataLinkFrameSection*



For highly optimized data plane implementations in hardware or software,
every additional field eats up more resources. The descriptions of
*ipHeaderPacketSection* and *dataLinkFrameSection* in the IANA registry
require use of additional fields in some cases, but this seems to be
unnecessary.



*313 ipHeaderPacketSection:*



When the sectionExportedOctets field corresponding to this Information
Element does not exist, this Information Element SHOULD have a variable
length and MUST NOT be padded.



In this case *sectionExportedOctets* seems somewhat redundant with the
length in the IP packet. Why can't one omit *sectionExportedOctets* and
still use a fixed size *ipHeaderPacketSection* with padding?



*315 dataLinkFrameSection*



Same issue with *sectionExportedOctets* as *ipHeaderPacketSection*.



In addition:



Further Information Elements, i.e., dataLinkFrameType and
dataLinkFrameSize, are needed to specify the data link type and the size of
the data link frame of this Information Element. A set of these Information
Elements MAY be contained in a structured data type, as expressed in [
RFC6313 <http://www.iana.org/go/rfc6313>]. Or a set of these Information
Elements MAY be contained in one Flow Record as shown in Appendix B of [
RFC7133 <http://www.iana.org/go/rfc7133>].



Why can't there be a default value of *Ethernet II* when
*dataLinkFrameSection* is present but *dataLinkFrameType* is omitted?



Why does *dataLinkFrameSize* need to be present?

In case of a truncated packet section, is this supposed to be the length
before truncation, or the size of the truncated portion?

In case of a variable length encoding, wouldn't the *Length* of
*dataLinkFrameSection* be enough?



Suggestions and comments regarding these issues would be appreciated.


Mickey



>
> ---------- Forwarded message ----------
> From: <internet-drafts@ietf.org>
> Date: Mon, Mar 19, 2018 at 2:39 AM
> Subject: New Version Notification for draft-spiegel-ippm-ioam-rawexp
> ort-00.txt
> To: Frank Brockners <fbrockne@cisco.com>, Shwetha Bhandari <
> shwethab@cisco.com>, Mickey Spiegel <mspiegel@barefootnetworks.com>,
> Ramesh Sivakolundu <sramesh@cisco.com>
>
>
>
> A new version of I-D, draft-spiegel-ippm-ioam-rawexport-00.txt
> has been successfully submitted by Mickey Spiegel and posted to the
> IETF repository.
>
> Name:           draft-spiegel-ippm-ioam-rawexport
> Revision:       00
> Title:          In-situ OAM raw data export with IPFIX
> Document date:  2018-03-19
> Group:          Individual Submission
> Pages:          19
> URL:            https://www.ietf.org/internet-
> drafts/draft-spiegel-ippm-ioam-rawexport-00.txt
> Status:         https://datatracker.ietf.org/
> doc/draft-spiegel-ippm-ioam-rawexport/
> Htmlized:       https://tools.ietf.org/html/d
> raft-spiegel-ippm-ioam-rawexport-00
> Htmlized:       https://datatracker.ietf.org/
> doc/html/draft-spiegel-ippm-ioam-rawexport
>
>
> Abstract:
>    In-situ Operations, Administration, and Maintenance (IOAM) records
>    operational and telemetry information in the packet while the packet
>    traverses a path between two points in the network.  This document
>    discusses how In-situ Operations, Administration, and Maintenance
>    (IOAM) information can be exported in raw, i.e. uninterpreted, format
>    from network devices to systems, such as monitoring or analytics
>    systems using IPFIX.
>
>
>
>
> Please note that it may take a couple of minutes from the time of
> submission
> until the htmlized version and diff are available at tools.ietf.org.
>
> The IETF Secretariat
>
>
>