Re: [Detnet] Alvaro Retana's Discuss on draft-ietf-detnet-ip-06: (with DISCUSS and COMMENT)

Lou Berger <lberger@labn.net> Thu, 25 June 2020 14:26 UTC

Return-Path: <lberger@labn.net>
X-Original-To: detnet@ietfa.amsl.com
Delivered-To: detnet@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 771F43A0B91 for <detnet@ietfa.amsl.com>; Thu, 25 Jun 2020 07:26:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (768-bit key) header.d=labn.net
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 Yl7p0_S_KN_s for <detnet@ietfa.amsl.com>; Thu, 25 Jun 2020 07:26:00 -0700 (PDT)
Received: from gproxy2-pub.mail.unifiedlayer.com (gproxy2-pub.mail.unifiedlayer.com [69.89.18.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EAAED3A0B8D for <detnet@ietf.org>; Thu, 25 Jun 2020 07:25:59 -0700 (PDT)
Received: from cmgw11.unifiedlayer.com (unknown [10.9.0.11]) by gproxy2.mail.unifiedlayer.com (Postfix) with ESMTP id B0DC21E0A4E for <detnet@ietf.org>; Thu, 25 Jun 2020 08:25:58 -0600 (MDT)
Received: from box313.bluehost.com ([69.89.31.113]) by cmsmtp with ESMTP id oSpCj1CXWugPhoSpCji9Gj; Thu, 25 Jun 2020 08:25:58 -0600
X-Authority-Reason: nr=8
X-Authority-Analysis: v=2.3 cv=JYqSU3CV c=1 sm=1 tr=0 a=h1BC+oY+fLhyFmnTBx92Jg==:117 a=h1BC+oY+fLhyFmnTBx92Jg==:17 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=xqWC_Br6kY4A:10:nop_ipv6 a=IkcTkHD0fZMA:10:nop_charset_1 a=nTHF0DUjJn0A:10:nop_rcvd_month_year a=Vy_oeq2dmq0A:10:endurance_base64_authed_username_1 a=48vgC7mUAAAA:8 a=174xjjHKAAAA:20 a=VB46miiLAAAA:20 a=rKM4eK03IHj1YP1WOuAA:9 a=BHr_sJSYWzXnYOwV:21 a=fgUsAbB5NFPeafmA:21 a=QEXdDO2ut3YA:10:nop_charset_2 a=mYAOWqAtFUkA:10:demote_hacked_domain_1 a=1dbGxDndw2gA:10:demote_hacked_domain_7 a=-RoEEKskQ1sA:10:nop_election2020_name_body a=w1C3t2QeGrPiZgrLijVG:22
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=labn.net; s=default; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version :Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=yu5OavU6UARa4W7DbwcDF48LKbx9Nc2vG0dnb8kwy68=; b=SIy9OvsscCZgsWJzp047BiwMf7 BMbKDn09wShHb94bn7i0+7Vx8ZUokNOiSONIICK7DRA09eEaXRKtWqIzWJXhwdkgUeK+IhzlKeyir x1yzW1OpGmlhlyHAgwonCz4Ce;
Received: from [127.0.0.1] (port=57411 helo=[IPv6:::1]) by box313.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from <lberger@labn.net>) id 1joSpC-000QCf-21; Thu, 25 Jun 2020 08:25:58 -0600
To: Alvaro Retana <aretana.ietf@gmail.com>, The IESG <iesg@ietf.org>
Cc: Ethan Grossman <eagros@dolby.com>, detnet@ietf.org, draft-ietf-detnet-ip@ietf.org, detnet-chairs@ietf.org
References: <159292690639.3288.6217558507015891728@ietfa.amsl.com>
From: Lou Berger <lberger@labn.net>
Message-ID: <403116c7-6a80-9368-91ac-a0f0d1ba2cb0@labn.net>
Date: Thu, 25 Jun 2020 10:25:52 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0
MIME-Version: 1.0
In-Reply-To: <159292690639.3288.6217558507015891728@ietfa.amsl.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - box313.bluehost.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - labn.net
X-BWhitelist: no
X-Source-IP: 127.0.0.1
X-Source-L: Yes
X-Exim-ID: 1joSpC-000QCf-21
X-Source:
X-Source-Args:
X-Source-Dir:
X-Source-Sender: ([IPv6:::1]) [127.0.0.1]:57411
X-Source-Auth: lberger@labn.net
X-Email-Count: 4
X-Source-Cap: bGFibm1vYmk7bGFibm1vYmk7Ym94MzEzLmJsdWVob3N0LmNvbQ==
X-Local-Domain: yes
Archived-At: <https://mailarchive.ietf.org/arch/msg/detnet/HoQeLZVFWxJm4bqGof5rruWl94k>
Subject: Re: [Detnet] Alvaro Retana's Discuss on draft-ietf-detnet-ip-06: (with DISCUSS and COMMENT)
X-BeenThere: detnet@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussions on Deterministic Networking BoF and Proposed WG <detnet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/detnet>, <mailto:detnet-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/detnet/>
List-Post: <mailto:detnet@ietf.org>
List-Help: <mailto:detnet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/detnet>, <mailto:detnet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 Jun 2020 14:26:04 -0000

Hi Alvaro,

Thank you for the comments/discuss.  Please see responses (as co-author) 
in line below

On 6/23/2020 11:41 AM, Alvaro Retana via Datatracker wrote:
> Alvaro Retana has entered the following ballot position for
> draft-ietf-detnet-ip-06: 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/iesg/statement/discuss-criteria.html
> for more information about IESG DISCUSS and COMMENT positions.
>
>
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-detnet-ip/
>
>
>
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
>
> Several sections mandate actions to be taken where the specific mechanisms are
> not clearly defined.  This lack of specifics leaves me at a loss about what is
> being mandated.

I think you have two points here:

1) What are the traffic control (queuing, shaping policing) mechanisms 
required by this document and

2) What are the required forwarding/node implementation behavior

right?

WRT 1)

As far as I can tell the IETF doesn't specify internal node behavior but 
rather just the required node behavior.  This is even true back to 
RSVP/Int-Serv days.  To be consistent with that, the closest we felt we 
could go is covered in section 5.3:

    5.3.  DetNet IP Traffic Treatment Procedures

    Implementations of this document MUST ensure that a DetNet flow
    receives the traffic treatment that is provisioned for it via
    configuration or the controller plane, e.g., via
    [I-D.ietf-detnet-yang].  General information on DetNet service can be
    found in [I-D.ietf-detnet-flow-information-model].  Typical
    mechanisms used to provide different treatment to different flows
    includes the allocation of system resources (such as queues and
    buffers) and provisioning or related parameters (such as shaping, and
    policing).  Support can also be provided via an underlying network
    technology such as MPLS [I-D.ietf-detnet-ip-over-mpls] or IEEE802.1
    TSN [I-D.ietf-detnet-ip-over-tsn].  Other mechanisms than the ones
    used in the TSN case are outside the scope of this document.

As a WG we're also working on additional *informative* documents that 
relate to a node providing a DetNet service (see 
https://tools.ietf.org/html/draft-ietf-detnet-bounded-latency).

If you have a proposal on what more we should do, it would be most 
appreciated.

WRT 2)

The specific node behavior is specified in sections 5, with 
management/control requirements specified in section 6.  If you feel 
there's not much there, I think that's because there really isn't much 
to the DetNet IP data plane that is more than can be summarized by "IP 
DetNet=PBR+QoS".  Now the document does have specific traffic 
classification and forwarding behaviors -- and this is what is found in 
section 5 and controlled via section 6.

Again, If you have a proposal on what more we should do or what things 
we can fix (beyond what is addressed below), it would be most appreciated.

Please see the specific response below and if your 'discuss'-level 
concerns are still present.

> Specifically:
>
> (1) §4.3.2 (Quality of Service): "Quality of Service...MUST be provided
>      locally by the DetNet-aware hosts and routers supporting DetNet flows.
>      The traffic control mechanisms used to deliver QoS...are expected to be
>      defined in a future document."

while likely not diminishing your larger point, I think this is left 
over from older version.  It should read:

it should read:

         The node-internal traffic control mechanisms used to deliver 
QoS for
           IP encapsulated DetNet flows are outside the scope of this
           document.

>
> (2) §5.2 (Forwarding Procedures): "Specifically...SHALL use management and
>      control information to select the one or more outgoing interfaces and
>      next hops..."  This sentence sounds very generic to me: using management
>      and control information is what every forwarder does -- regardless of
>      DetNet.  Not only is it a generic statement, but the management and
>      control functions are not defined...

Management and control information is summarized in section 6 and as 
stated just below the quoted text:

    The above implies that management and control functions will be
    defined to support this requirement, e.g., see
    [I-D.ietf-detnet-yang].

>
> (3) §5.3 (DetNet IP Traffic Treatment Procedures): "MUST ensure that a
>      DetNet flow receives the traffic treatment that is provisioned for
>      it...Typical mechanisms used to provide different treatment to different
>      flows includes the allocation of system resources...and provisioning or
>      related parameters...Other mechanisms than the ones used in the TSN case
>      are outside the scope of this document."
>
> It is ok to define the mechanisms in a different document -- but there are no
> specific references.  What exactly is this document requiring (MUST)?  If there
> are no specifics on the mechanisms (or where they are defined), how can an
> implementation comply with this document?
This is a fair point, but I don't see where we have specific queuing 
mechanisms defined. Now we certainly have on-wire behavior defined, e,g, 
RFC  2212, and others have defined ones IEEE 802.1Qch.  Our expectation 
is that the management (YANG) and future control plane documents will 
specific which forwarding treatment is expected for specific flows. We 
also expect that the market (users/providers and vendors) will decide 
ehcih are appropriate for different use cases and products just as is 
done for MPLS-TE in general.
> What are the interoperability
> consequences if not all nodes comply with the same set of (undefined)
> mechanisms?
The traffic delivery won't be what's expected, and those vendors with 
behavior not suited to particular applications won't be selected for 
such networks.  Again, taking a page from the MPLS-TE market place...
>
> I am balloting DISCUSS because I believe that this omission makes the
> specification incomplete.   Adding details will satisfy my concern.
>
>
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>
> (1) §4.2 (DetNet Domain-Specific Considerations):
>
>     As a general rule, DetNet IP domains need to be able to forward any
>     DetNet flow identified by the IP 6-tuple.  Doing otherwise would
>     limit the number of 6-tuple flow ID combinations that could be used
>     by the end systems.  From a practical standpoint this means that all
>     nodes along the end-to-end path of DetNet flows need to agree on what
>     fields are used for flow identification.
>
> There is text in §5.1 requiring the ability to forward based on the
> 6-tuple...but there is nothing related to the "need to agree on what fields are
> used for flow identification" -- it seems to me that this agreement should also
> be required.  §6 does say:
>
>     It is the responsibility of the DetNet controller plane to properly
>     provision both flow identification information and the flow specific
>     resources needed to provided the traffic treatment needed to meet
>     each flow's service requirements.  This applies for aggregated and
>     individual flows.
>
> I guess that "to properly provision" can be a standin for the "need to agree on
> what fields are used".  I would still like to see something about the effect of
> not agreeing on/provisioning the information correctly/consistently.

okay, how about:


           Possible consequences of not having such an agreement include
           having some flows interfering with other flows, and for a
           the traffic treatment expected for a service not being
           provided.

>
> (2) §4.3.1 (Class of Service): "...DetNet nodes...MUST ensure that the CoS
> service classes do not impact the congestion protection and latency control
> mechanisms used to provide DetNet QoS."
>
> (a) What enforceable action are the DetNet nodes expected to take to comply
> with this statement?
This is an internal implementation matter.
> What does ensuring include?

That the the traffic treatment of other flows are not impacted -- as 
observed on the wire.

> (b) Maybe it's just me, but I would think that the requirement is not at a node
> level (each node doing something), but within a DetNet domain; IOW, this sounds
> more like a provisioning requirement (even probably related to the text from §6
> I quoted above).

I certainly agree there is a large interaction here.

>
> (3) §5.1 (DetNet IP Flow Identification Procedures): s/The configuration and
> control information used to identify an individual DetNet flow MUST be ordered
> by an implementation./An implementation MUST support ordering of the
> configuration and control information used to identify an individual DetNet
> flow.
>
> The current wording seems to imply that the implementation may order the
> information any way it wants...but proper identification through the domain
> depends on consistent ordering.

agreed.  to be consistent with the section:

             An implementation MUST support ordering of the
             set of information information used to identify an
             individual DetNet flow.

>
> (4) §5.1.1.3 (IPv4 Protocol and IPv6 Next Header Fields):
>
>     Implementations of this document MUST support DetNet flow
>     identification based on the IPv4 Protocol field when processing IPv4
>     packets, and the IPv6 Next Header Field when processing IPv6 packets.
>     An implementation MUST support flow identification based on the next
>     protocol values defined in Section 5.1.2.  Other, non-zero values,
>     MUST be used for flow identification.
>
> The first sentence represents a superset of the second: in general, using the
> Protocol field includes more options than just what is defined in §5.1.2.
Yes, but the second is a refinement and has additional implementation 
implications.
>
> The third sentence, again, goes back to a superset: anything else except 0.
> BTW, 0 is the IPv6 HbH option -- do you really want to exclude it?
I think so, but this was not extensively discussed.  Do you think it's 
the wrong call?
> Can that paragraph be summarized by just the first sentence?
>
> (5) "Implementations SHOULD allow for this field to be ignored for a specific
> DetNet flow."   This sentence, or a "MUST allow" version, are used throughout
> the document.  Is there a strong reason (that I'm obviously missing) to
> sometimes use SHOULD and others MUST?

It came down to complexity of new hardware and allowing for support for 
existing hardware as much as possible.

> (6) A reference for ICMP is needed.
Done!
> (7) §5.1.2.2 (ICMP): "Note that ICMP type is not included in the flow
> definition."  Does this mean that the ICMP type should not (SHOULD NOT/MUST NOT
> ??) be used in the flow definition?   That's what the text sounds to me as
> saying.
This came from a question -- we don't want to preclude a future addition 
of looking ICMP type, but right now it's not included.
> I found a thread in the archive [1] which talks about this sentence being added
> with the intention of supporting ICMP types...but even with that added context
> the text just sounds as if the opposite was intended.
>
> [1] https://mailarchive.ietf.org/arch/msg/detnet/wVA93y2cO2nt9ddFcDaTw-eHKK8
>
> (8) I believe that these references should be Normative:
> I-D.ietf-detnet-data-plane-framework and RFC8655.
the data plane framework is informative so generally references to 
informative docs are informative.
>
> (9) Editorial nits:
>
> s/uses "6-tuple" based flow identification, where 6-tuple refers to/uses
> 6-tuple based flow identification, where "6-tuple" refers to
yes.
> s/6-tuple is (destination/6-tuple is destination
thanks
> s/Same can be valid/The same can be valid
this text was replaced in an earlier response.
> s/using smaller tuples are appropriate/using smaller tuples is appropriate

the text now reads

      In such cases, using fewer fields is appropriate,

> s/can communicate over DetNet IP network with IP End System./can communicate
> over a DetNet IP network with IP End Systems.
yes
> s/from data plane perspective/from [a|the] data plane perspective
thanks
> s/end-system/end system/g
done
>
> s/multiple methods that MAY be used...including but not limited to/multiple
> methods that may be used...including but not limited to
thanks
> s/matching based on this field MUST allow for this field to be ignored/matching
> based on this field MUST allow for it to be ignored
okay
>
> s/found in the [I-D.ietf-detnet-data-plane-framework]/found in
> [I-D.ietf-detnet-data-plane-framework]/g
done
> s/provisioning or related parameters/provisioning of related parameters
>
thanks

Changes covered here can be previewed at:
https://github.com/detnet-wg/data-plane-drafts/tree/working/lb/iesg-0625

https://xml2rfc.tools.ietf.org/cgi-bin/xml2rfc.cgi?url=https://raw.githubusercontent.com/detnet-wg/data-plane-drafts/working/lb/iesg-0625/ip/draft-ietf-detnet-ip.xml

Thank you!

Lou

>
> _______________________________________________
> detnet mailing list
> detnet@ietf.org
> https://www.ietf.org/mailman/listinfo/detnet