Re: [tsvwg] David Black's WGLC review of draft-ietf-tsvwg-rfc6040update-shim-08

"Black, David" <David.Black@dell.com> Mon, 20 May 2019 14:53 UTC

Return-Path: <David.Black@dell.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3DEAF12008F for <tsvwg@ietfa.amsl.com>; Mon, 20 May 2019 07:53:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 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_LOW=-0.7, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=dell.com header.b=CUM90OHd; dkim=fail (1024-bit key) reason="fail (message has been altered)" header.d=emc.com header.b=S2Yb07Tw
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 6_VJ_0Wsq3TO for <tsvwg@ietfa.amsl.com>; Mon, 20 May 2019 07:53:42 -0700 (PDT)
Received: from mx0a-00154904.pphosted.com (mx0a-00154904.pphosted.com [148.163.133.20]) (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 BAE8A120089 for <tsvwg@ietf.org>; Mon, 20 May 2019 07:53:42 -0700 (PDT)
Received: from pps.filterd (m0170391.ppops.net [127.0.0.1]) by mx0a-00154904.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x4KEoAxl030812; Mon, 20 May 2019 10:52:59 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dell.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=smtpout1; bh=R92JLoDSOxn9XMNrUddSsgRT4PjPwmjQwITzg130TRs=; b=CUM90OHdI9GyGKzAVN/2lVCdpJ2iYiaIWB9AxYDwJjFToOtd8N5NYyiPEDuW2jcGbRBW 608G1m1GyUFE3nsJMEt7tJAPZfw/Abv5urZFf/npM02DD+W/YyALIyGWnLUnOfxBUvAc UqhfOlOh4dz9etj5w1sOamgfkeb9o+0OjTukg+8hu+ecp8nTeG2xbsoVnQ2qKpOWtQj0 3iJJXgL4Kon1TwZ6fD7bDlEMOsEwThaWU0SkYFXv/rLdCWQp+Bga7lVFijJjU3itVeOB Om+T1/4S33YiqbLXJj6Guy99nEh3z7VQM7dVS982YjYkGViCUiilVkKFSjv1Q15fr8H+ vQ==
Received: from mx0a-00154901.pphosted.com (mx0a-00154901.pphosted.com [67.231.149.39]) by mx0a-00154904.pphosted.com with ESMTP id 2sjd6wvefp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 20 May 2019 10:52:58 -0400
Received: from pps.filterd (m0133268.ppops.net [127.0.0.1]) by mx0a-00154901.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x4KESdeJ063539; Mon, 20 May 2019 10:52:58 -0400
Received: from mailuogwhop.emc.com (mailuogwhop.emc.com [168.159.213.141]) by mx0a-00154901.pphosted.com with ESMTP id 2sjc9q3dmg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 20 May 2019 10:52:57 -0400
Received: from maildlpprd04.lss.emc.com (maildlpprd04.lss.emc.com [10.253.24.36]) by mailuogwprd04.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id x4KEqpje014595 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 20 May 2019 10:52:55 -0400
X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd04.lss.emc.com x4KEqpje014595
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=emc.com; s=jan2013; t=1558363976; bh=Yg1D066t0dO19S4kSJ219nt9/p0=; h=From:To:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=S2Yb07TwzbSOWssW9wb+0rkQDri2yLmjVcQ3LaY7VuAkzwNaAp1gnfTYQXZRk8w44 PvCcWmDQlXbrY2uaCNQ2WyBO0Ab91BYZNAJm8N8HVaVcmRIuy7YKHHzNYdPicSlcxB WVn3DQ5mlrqgc6kPZbdgEDYuI3ZqPLUS0vovNKbo=
X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd04.lss.emc.com x4KEqpje014595
Received: from mailusrhubprd03.lss.emc.com (mailusrhubprd03.lss.emc.com [10.253.24.21]) by maildlpprd04.lss.emc.com (RSA Interceptor); Mon, 20 May 2019 10:52:38 -0400
Received: from MXHUB306.corp.emc.com (MXHUB306.corp.emc.com [10.146.3.32]) by mailusrhubprd03.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id x4KEqbnt004797 (version=TLSv1.2 cipher=AES128-SHA256 bits=128 verify=FAIL); Mon, 20 May 2019 10:52:37 -0400
Received: from MX307CL04.corp.emc.com ([fe80::849f:5da2:11b:4385]) by MXHUB306.corp.emc.com ([10.146.3.32]) with mapi id 14.03.0439.000; Mon, 20 May 2019 10:52:37 -0400
From: "Black, David" <David.Black@dell.com>
To: Bob Briscoe <ietf@bobbriscoe.net>, "tsvwg@ietf.org" <tsvwg@ietf.org>
Thread-Topic: [tsvwg] David Black's WGLC review of draft-ietf-tsvwg-rfc6040update-shim-08
Thread-Index: AdUGAGT4Th8zbG5rQXClmZ/2hSiF0gAAs+7gAch0u4AAfSXS8A==
Date: Mon, 20 May 2019 14:52:36 +0000
Message-ID: <CE03DB3D7B45C245BCA0D24327794936305726B8@MX307CL04.corp.emc.com>
References: <CE03DB3D7B45C245BCA0D243277949363055BC3F@MX307CL04.corp.emc.com> <CE03DB3D7B45C245BCA0D243277949363055BDDC@MX307CL04.corp.emc.com> <8ddc9156-7da9-8cb0-3d1c-1122cd7fbb34@bobbriscoe.net>
In-Reply-To: <8ddc9156-7da9-8cb0-3d1c-1122cd7fbb34@bobbriscoe.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.238.21.130]
Content-Type: multipart/alternative; boundary="_000_CE03DB3D7B45C245BCA0D24327794936305726B8MX307CL04corpem_"
MIME-Version: 1.0
X-Sentrion-Hostname: mailusrhubprd03.lss.emc.com
X-RSA-Classifications: public
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-05-20_07:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1905200096
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1905200097
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/m6XgZ8hhRK7Jo2yeGlSaIkxGFtY>
Subject: Re: [tsvwg] David Black's WGLC review of draft-ietf-tsvwg-rfc6040update-shim-08
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 20 May 2019 14:53:47 -0000

Inline ...  two action items:


  1.  idnits - update IKEv2 reference, and check whether pre-5378 boilerplate is required.
  2.  RFC 8085 on UDP Guidelines is a BCP, and should be updated directly for that reason (vs. indirectly via an update of RFC 6040).  No other RFC that cites RFC 6040 would be affected, unless it's also a BCP.

Thanks, --David

From: Bob Briscoe <ietf@bobbriscoe.net>
Sent: Friday, May 17, 2019 6:55 PM
To: Black, David; tsvwg@ietf.org
Subject: Re: [tsvwg] David Black's WGLC review of draft-ietf-tsvwg-rfc6040update-shim-08


[EXTERNAL EMAIL]
David,

As promised, here's my response to the 'Minor' half of your review...
On 09/05/2019 02:08, Black, David wrote:
idnits found a couple of minor things:

  *   Current reference for IKEv2 is RFC 7296 instead of RFC 5996
  *   If any text was copied from pre-5378 RFCs, an additional boilerplate disclaimer is required.

[David>]  Please check these, especially whether the pre-5378 boilerplate is required.

Thanks, --David

From: Black, David
Sent: Wednesday, May 8, 2019 8:50 PM
To: tsvwg@ietf.org<mailto:tsvwg@ietf.org>
Subject: David Black's WGLC review of draft-ietf-tsvwg-rfc6040update-shim-08

This is a solidly written draft on updating tunnel protocols that use shim headers to propagate ECN according to RFC 6040.

Unfortunately, I found a major issue with the updates [1] along with a few minor issues (easily dealt with) and a bunch of editorial items.

The major issue [1] on updates creating non-compliant implementations looks like it will need WG discussion on what should be done, as the "right thing to do" appears to be in potential conflict with deployed "running code".

--- Major ---

[snip]

--- Minor ---

[A] Updated RFCs.

Need to be explicit about what the updates are to each of the updated RFCs.
Each update to each RFC within S.5.1 says exactly what text in the original RFC is updated and exactly what it becomes. Surely it couldn't be more explicit?


The updates are scattered throughout the draft - a possible approach is to
add a section that summarizes the update(s) to each RFC and provides pointers
to the section(s) that contain the update(s).
The normative updates for each RFC are all in section 5.1. under the subsection for each protocol. That's the only place those interested in that RFC will look. So that's where it is safest to put each update.

All updates are extremely explicit, and all concentrated in one subsection, so I'm not sure how these criticisms have arisen.

[David>] Ok for now.


[B] Section 4

      *  if it is known that the tunnel egress does not support
         propagation of the ECN field (RFC 6040, RFC 4301 or the full
         functionality mode of RFC 3168)

The parenthetical listing of RFCs is unclear - I think these all do support
ECN field propagation, so edits are needed to make this clear.

Sry, I've changed it to read:
      *  if it is known that the tunnel egress does not support any
         of the RFCs that define propagation of the ECN field (RFC 6040,
         RFC 4301 or the full functionality mode of RFC 3168)

[David>] Ok.


[C] Section 4

   For instance, copying the
   ECN field as a side-effect of copying the DSCP is a seriously unsafe
   bug that risks breaking the feedback loops that regulate load on a
   tunnel.

This text comes immediately after the text in issue [1].  The problem with
this text is that it's implicitly assuming that the tunnel egress discards
the outer header including any congestion indication that it may contain.

That needs to be stated/explained.
You're right. Without context this text is dangerous. Thx. I've changed it to:

If a tunnel ingress does not have any ECN logic, copying the ECN field as a side-effect of copying the DSCP is a seriously unsafe bug that risks breaking the feedback loops that regulate load on a tunnel.

Note, it didn't say it /will/ break; it just says it /risks/ breaking. The point is, if it doesn't have ECN logic, it cannot have checked the egress ECN capability. Indeed, if the ingress doesn't have ECN logic it's quite likely the egress doesn't either, assuming both ends of many tunnels are deployed at the same time.

[David>] I would add at the end "as it risks an ECN-unaware tunnel egress discarding ECN congestion indications as a consequence of discarding outer headers of packets whose inner header indicates ECN capability." to make the risk explicit to those who aren't as deeply involved in ECN as the two of us.


[D] Section 5

   Section 3.1.11 of the UDP usage guidelines [RFC8085] already explains
   that a tunnel that encapsulates an IP header directly within a UDP/IP
   datagram needs to follow RFC 6040 when propagating the ECN field
   between inner and outer IP headers.  The requirements in Section 4
   update RFC 6040 so, by reference, they automatically update RFC 8085
   to add the important but previously unstated requirement that, if the
   UDP tunnel egress does not, or might not, support ECN propagation, a
   legacy UDP tunnel ingress has to clear the outer IP ECN field to
   0b00, e.g. by configuration.

That's too clever/subtle - this draft should explicitly update RFC 8085.
Not happy about this. Followed to its logical conclusion, as well as updating RFC6040, this draft would then need to update every RFC that already normatively references RFC6040 (e.g. GUE, Geneve, etc).
[David>] No, RFC 8085 is different, as it's our primary UDP guidelines document for all protocol designers, not a specification of a specific protocol.  This is indicated by RFC 8085 being a BCP, whereas the protocol RFCs are not.

Wouldn't such an update get kicked out during IESG review, as a duplicate update? Certainly it might make the ID nits checker issue a high-pitched scream as it runs round a tight loop of "Updates" headers.
[David>] I think clarity wins over process here.  Update the BCP, please.

So, instead, how about stating the above para in the opposite order as follows:
   This document indirectly updates the UDP usage guidelines [RFC8085]
   to add the important but previously unstated requirement that, if the
   UDP tunnel egress does not, or might not, support ECN propagation, a
   legacy UDP tunnel ingress has to clear the outer IP ECN field to
   0b00, e.g. by configuration. Section 3.1.11 of RFC 8085 already explains
   that a tunnel that encapsulates an IP header directly within a UDP/IP
   datagram needs to follow RFC 6040 when propagating the ECN field
   between inner and outer IP headers. And the requirements in Section 4
   update RFC 6040 so, by reference, they indirectly update RFC 8085.

[David>] I think RFC 8085 needs to be explicitly updated, as we are definitely changing its BCP recommendations here.


[E] Have the L2TP changes been reviewed by L2TP experts?
Of course. Each protocol modification was done in collaboration with an expert on that protocol. I wouldn't have felt confident to modify all these protocols otherwise.

  *   L2TP update: Carlos was particularly helpful, but also Ignacio, and it was all properly discussed on the L2TPEXT list
  *   Similarly, CAPWAP in OPSAWG with Margaret Wasserman/Cullen, Benoit, Warren Kumari, Mahalingam Mani, Dorothy Gellert, Dorothy Stanley, Michael Montemurro. But once I dug into CAPWAP, it turned out not to require any changes.
  *   GRE was covered by INT-AREA, particularly Mohamed Boucadair. Early on INT-AREA and Alia Atlas did significant reviewing to find which protocols it should cover as well.
  *   See the ACKs section for the names of all the significant helpers.



[F] Have the AMT changes been reviewed by AMT experts?
Yup - text suggested by Jake Holland (also ACK'd).

Herding all these cats has involved a fair amount of work and cajoling, particularly 'cos it's unfamiliar territory for many people, and it's rarely their priority.

[David>] Thanks, just needed to double-check.  Once we get this draft revised, I'll send a note to the relevant protocol email lists for awareness.





--- Editorial ---

Abstract

It surveys widely deployed IP tunnelling
   protocols separated by such shim header(s)

separated by -> that use

Section 4

   Permanently zeroing the outer ECN field is safe, but it is not
   sufficient to claim compliance with RFC 6040 because it does not meet
   the aim of introducing ECN support to tunnels (see Section 4.3 of
   [RFC6040]).

"Permanently" is not the right word..  Suggest rephrasing start of paragraph to

   Zeroing the ECN field in the outer header of all packets is safe, ...
I've taken all the above verbatim.


IANA Considerations

The "[TO BE REMOVED: ..." text is not the "right thing to do" - do this instead:

OLD
   IANA is requested to assign the following L2TP Control Message
   Attribute Value Pair:
NEW
   IANA is requested to assign the following L2TP Control Message
   Attribute Value Pair in the Layer Two Tunneling Protocol "L2TP"
   registry (https://www.iana.org/assignments/l2tp-parameters/l2tp-<https://www..iana.org/assignments/l2tp-parameters/l2tp->
   parameters.xhtml):
END

IANA will edit this text after performing the assignment and can
remove the link if appropriate.
I followed RFC5226 "Guidelines for Writing an IANA Considerations Section in RFCs" verbatim:

         When

         referring to an already existing registry, providing a URL to

         precisely identify the registry is helpful.  All such URLs,

         however, will be removed from the RFC prior to final

         publication.  For example, documents could contain: [TO BE

         REMOVED: This registration should take place at the following

         location:  http://www.iana.org/assignments/foobar-registry]

[David>] Ok, this is editorial-only, so no change is fine ...

Bob



Thanks, --David
----------------------------------------------------------------
David L. Black, Senior Distinguished Engineer
Dell EMC, 176 South St., Hopkinton, MA  01748
+1 (774) 350-9323 New    Mobile: +1 (978) 394-7754
David.Black@dell.com<mailto:David.Black@dell.com>
----------------------------------------------------------------




--

________________________________________________________________

Bob Briscoe                               http://bobbriscoe.net/