[ippm] Robert Wilton's Discuss on draft-ietf-ippm-ioam-direct-export-09: (with DISCUSS and COMMENT)

Robert Wilton via Datatracker <noreply@ietf.org> Thu, 30 June 2022 10:37 UTC

Return-Path: <noreply@ietf.org>
X-Original-To: ippm@ietf.org
Delivered-To: ippm@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 965CBC14CF10; Thu, 30 Jun 2022 03:37:10 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Robert Wilton via Datatracker <noreply@ietf.org>
To: The IESG <iesg@ietf.org>
Cc: draft-ietf-ippm-ioam-direct-export@ietf.org, ippm-chairs@ietf.org, ippm@ietf.org, tpauly@apple.com, tpauly@apple.com
X-Test-IDTracker: no
X-IETF-IDTracker: 8.5.1
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: Robert Wilton <rwilton@cisco.com>
Message-ID: <165658543060.26121.15996942392973121368@ietfa.amsl.com>
Date: Thu, 30 Jun 2022 03:37:10 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/ippm/QWBs6Xgylp0Xr3QRa6Y79snwVBM>
Subject: [ippm] Robert Wilton's Discuss on draft-ietf-ippm-ioam-direct-export-09: (with DISCUSS and COMMENT)
X-BeenThere: ippm@ietf.org
X-Mailman-Version: 2.1.39
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: Thu, 30 Jun 2022 10:37:10 -0000

Robert Wilton has entered the following ballot position for
draft-ietf-ippm-ioam-direct-export-09: Discuss

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)

Please refer to https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/ 
for more information about how to handle DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here:



I had a couple of minor discuss comments to clarify a couple of points that
seemed unclear:

1) Definition of Sequence Number:

   Sequence Number An optional 32-bit sequence number starting from 0
                   and increasing by 1 for each following monitored
                   packet from the same flow at the encapsulating node.
                   The Sequence Number, when combined with the Flow ID,
                   provides a convenient approach to correlate the
                   exported data from the same user packet.

Please can you clarify.  Is this every packet in the flow (presumably not)? 
Does monitored packet means just those with the DEX option?  Could it include
other packets

2. Optional field ordering.
   Optional fields The optional fields, if present, reside after the
                   Reserved field.  The order of the optional fields is
                   according to the respective bits that are enabled in
                   the Extension-Flags field.  Each optional field is 4
                   octets long.

Please can clarify that the order is from most significant bit to least
significant bit of the option field.

3. Allocation is based on the "RFC
   Required" procedure, as defined in [RFC8126].

Given the number of extensions is so limited, is RFC required (e.g. allows ISE)
really a strict enough allocation policy?



Here are my non-blocking comments:

   This draft has evolved from combining some of the concepts of PBT-I
   from [I-D.song-ippm-postcard-based-telemetry] with immediate
   exporting from [I-D.ietf-ippm-ioam-flags].

I'm not sure that this paragraph is really helpful now, and could probably be
deleted - you could use the datatracker to indicate the document history and
which previous drafts this document replaces.

   N >> M

I'm assuming that by ">>", this means much greater than?  It would be better
use words here, or at least define what this means (e.g., as opposed to a

   An IOAM node
   MAY maintain a counter or a set of counters that count the events in
   which the IOAM node receives a packet with the DEX Option-Type and
   does not collect and/or export data due to the rate limits.

Given that this is a MAY, I wasn't sure that this really specifies anything, I
guess that it is just offering a suggestion.

   Exported packets SHOULD NOT be exported over a path or a tunnel that
   is subject to IOAM direct exporting.  Furthermore, IOAM encapsulating
   nodes that can identify a packet as an IOAM exported packet MUST NOT
   push a DEX Option-Type into such a packet.  This requirement is
   intended to prevent nested exporting and/or exporting loops.

It was unclear to me how that that SHOULD NOT can really be enforced, if the
exported packets are allowed to leave the limited domain.  Perhaps the "SHOULD
NOT" should be limited to the domain where IOAM is operating?

   transit or decapsulating IOAM node that receives an unknown IOAM-
   Option-Type ignores it (as defined in [RFC9197]), and specifically
   nodes that do not support the DEX Option-Type ignore it.  Note that
   as per [RFC9197] a decapsulating node removes the IOAM encapsulation
   and all its IOAM-Option-Types, and specifically in the case where one
   of these options is a (possibly unknown) DEX Option-Type.  The
   ability to skip over a (possibly unknown) DEX Option-Type in the
   parsing or in the decapsulation procedure is dependent on the
   specific encapsulation, which is outside the scope of this document.
   For example, when IOAM is encapsulated in IPv6

I found the sentence from "Note that ..." to be somewhat unclear.

6. Option-Type Format

Would it be more helpful to explicitly specify what the length is.  I.e., X
bytes + 4 * number of set bits in the Extension-Flags?

7. Extension-Flags

More a question for my own knowledge:  I presume that the length calculation
(i.e., checking for the count of set bits) can be performed efficiently?  I.e.,
if calculating the length is important on any fast path.

8. subject to birthday problem conflicts, while centralized

Would it be helpful to spell out what is meant by "birthday problem conflicts",
or perhaps include an informative reference to the wiki page?

N>100 => N > 100