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

"Black, David" <David.Black@dell.com> Fri, 17 May 2019 15:36 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 7ECD0120110 for <tsvwg@ietfa.amsl.com>; Fri, 17 May 2019 08:36:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 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] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=dell.com header.b=X6PjD6Y7; dkim=fail (1024-bit key) reason="fail (message has been altered)" header.d=emc.com header.b=swf2NSzU
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 gKc2L_J1u9MA for <tsvwg@ietfa.amsl.com>; Fri, 17 May 2019 08:36:28 -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 0D735120359 for <tsvwg@ietf.org>; Fri, 17 May 2019 08:36:28 -0700 (PDT)
Received: from pps.filterd (m0170389.ppops.net [127.0.0.1]) by mx0a-00154904.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x4HFTtN3017104; Fri, 17 May 2019 11:35:44 -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=BjbDdSToeAl7ek9hkfOo4H5NjQf2pwKEtSfN9Hhn2ZQ=; b=X6PjD6Y7lhjx6RJuk0KuICUZCS62TvA838lLSl0LMvNulNGl7mfrJ/j1IiIv2/uArpbv kAWfrZ5x3jTfyvHfkuyuy6vQvayMIPBxZktu1HlHBLb7rspmVatQ6HbQghKa6hUz90pO gVSlFGWdSJugqMrwyUBkFLanr8+l7oX1sQ+OOmIsPnkEm0QdcQtcDPmFVLs4YwPkbl/n xjx4uyjtCsGh37amPwLBtkkJ9nskOaAN5iyU0/6PFgKkJXCvyQ2CNCqg0WA2T9k5JYHu Dc0aG+OmTJbhUCZZAB35428j3zuQh82bsyGKjvrsWARf+VwloNSAPeBe20OGsNwa4Ul5 Vg==
Received: from mx0a-00154901.pphosted.com (mx0a-00154901.pphosted.com [67.231.149.39]) by mx0a-00154904.pphosted.com with ESMTP id 2shs7x1g99-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 17 May 2019 11:35:43 -0400
Received: from pps.filterd (m0142693.ppops.net [127.0.0.1]) by mx0a-00154901.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x4HFRuIB019185; Fri, 17 May 2019 11:35:43 -0400
Received: from mailuogwdur.emc.com (mailuogwdur.emc.com [128.221.224.79]) by mx0a-00154901.pphosted.com with ESMTP id 2shubwccp3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 17 May 2019 11:35:42 -0400
Received: from maildlpprd53.lss.emc.com (maildlpprd53.lss.emc.com [10.106.48.157]) by mailuogwprd54.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id x4HFZWLv006210 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 17 May 2019 11:35:41 -0400
X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd54.lss.emc.com x4HFZWLv006210
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=emc.com; s=jan2013; t=1558107341; bh=2UHlg2ZxhdeTW+WyiPnpUHqsOn8=; h=From:To:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=swf2NSzUHW3jHuuxeMh0Eo4g2CYaJRIwLcFa9+fPC0BsqPQrdyBYIMKQoi5jUe6rU jjxns9R0y+9Ot9BuTpZKTQoOMbsSG2c6DXy0EELyi1gZfsn5wGb59DksklUtp/wKGG adp9/BXIJ2TaI1s5XUnp8bNKd8d03mOoKHhH+Qiw=
X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd54.lss.emc.com x4HFZWLv006210
Received: from mailusrhubprd52.lss.emc.com (mailusrhubprd52.lss.emc.com [10.106.48.25]) by maildlpprd53.lss.emc.com (RSA Interceptor); Fri, 17 May 2019 11:34:02 -0400
Received: from MXHUB319.corp.emc.com (MXHUB319.corp.emc.com [10.146.3.97]) by mailusrhubprd52.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id x4HFYcMr017835 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=FAIL); Fri, 17 May 2019 11:34:38 -0400
Received: from MX307CL04.corp.emc.com ([fe80::849f:5da2:11b:4385]) by MXHUB319.corp.emc.com ([10.146.3.97]) with mapi id 14.03.0439.000; Fri, 17 May 2019 11:34:38 -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+7gAZfidQAAGJaicA==
Date: Fri, 17 May 2019 15:34:37 +0000
Message-ID: <CE03DB3D7B45C245BCA0D243277949363056D070@MX307CL04.corp.emc.com>
References: <CE03DB3D7B45C245BCA0D243277949363055BC3F@MX307CL04.corp.emc.com> <CE03DB3D7B45C245BCA0D243277949363055BDDC@MX307CL04.corp.emc.com> <89e67cfc-9574-c7a7-b837-c909c2180595@bobbriscoe.net>
In-Reply-To: <89e67cfc-9574-c7a7-b837-c909c2180595@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_CE03DB3D7B45C245BCA0D243277949363056D070MX307CL04corpem_"
MIME-Version: 1.0
X-Sentrion-Hostname: mailusrhubprd52.lss.emc.com
X-RSA-Classifications: public
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-05-17_08:, , 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-1905170094
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-1905170094
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/bikRSHpiNUGn3Ugxdvb0KFLDa3g>
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: Fri, 17 May 2019 15:36:32 -0000

Before going further down the compliance rathole, let me suggest an alternative that might resolve this quickly.

The crucial text (whose technical correctness is not in question) is:

      In order that the network operator can comply with the above
      safety rules, even if an implementation of a tunnel ingress does
      not claim to support RFC 6040, RFC 4301 or the full functionality
      mode of RFC 3168:

      *  it MUST make propagation of the ECN field between inner and
         outer IP headers independent of any configuration of Diffserv
         codepoint propagation;

      *  it SHOULD be able to be configured to zero the outer ECN field.

The headaches are being caused by treating that text as an update to RFC 6040, but looking at it now,
it reads like a best current practice recommendation, so ...

Would it be reasonable to move that text into the ecn-encapsulation draft (which is intended to become
a BCP)?  Doing that would sidestep the entire discussion of consequences of the consequences of
updating RFC 6040 with that text.

If that sounds plausible, we should take a look at whether any of the other RFC 6040 update text in section
4 should likewise be moved to the ECN encapsulation draft.

Thanks, --David

From: Bob Briscoe <ietf@bobbriscoe.net>
Sent: Thursday, May 16, 2019 7:44 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,

I'll split your email in two and solely deal with the major issue first. See inline.
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.

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 ---

[1] Compliance with RFC 6040 update

Section 3.1 says:

   However, an RFC has no jurisdiction over implementations that choose
   not to comply with it or cannot comply with it, including all those
   implementations that pre-dated the RFC.  Therefore it would have been
   unreasonable to add such a requirement to RFC 6040.

But then Section 4 goes on to do exactly that by updating RFC 6040 to
add this text:

      In order that the network operator can comply with the above
      safety rules, even if an implementation of a tunnel ingress does
      not claim to support RFC 6040, RFC 4301 or the full functionality
      mode of RFC 3168:

      *  it MUST make propagation of the ECN field between inner and
         outer IP headers independent of any configuration of Diffserv
         codepoint propagation;

      *  it SHOULD be able to be configured to zero the outer ECN field.

followed by this attempt to excuse the result:

   There might be concern that the above "MUST" makes compliant
   equipment non-compliant at a stroke.  However, any equipment that is
   still treating the former ToS octet (IPv4) or the former Traffic
   Class octet (IPv6) as a single 8-bit field is already non-compliant,
   and has been since 1998 when the upper 6 bits were separated off for
   the Diffserv field [RFC2474], [RFC3260].  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.

These three chunks of text need to be aligned..  I'm not sure what should
be done here, as the concern about updating RFC 6040 to cause non-compliance
is an important concern.
[BB] This draft proposes to update RFC6040, which in turn updated RFC3168, which in turn updated RFC2474 (there were other RFCs in the tree of updates ending at RFC6040, but those updates were not with respect to the Diffserv/ECN fields).

I fully agree that we have to be careful not to make any equipment that already complies with any of these RFCs non-compliant. And we don't...

If any equipment does not satisfy the proposed 'MUST' statement above, it will not be treating the DSCP and the ECN fields independently. Such equipment would not have complied with RFC2474, which separated out the last 2 bits of the ToS byte, which made it possible to specify ECN in the first place.

So the proposed 'MUST' statement does not make any equipment that complied with any of these RFCs non-compliant, unless it was already non-compliant with RFC2474. And RFC2474 grandfathered all these RFCs. So the equipment would already be non-compliant with all these RFCs.

Now, check the detailed wording:
      even if an implementation of a tunnel ingress does
      not claim to support RFC 6040, RFC 4301 or the full functionality
      mode of RFC 3168:

      *  it MUST make propagation of the ECN field between inner and
         outer IP headers independent of any configuration of Diffserv
         codepoint propagation;

You'll notice RFC2474 is not in the list of RFCs that an implementation might even not claim to support. That's because the MUST is about Diffserv configuration. If equipment offers any Diffserv configuration, it already has to comply with RFC2474. However, if it doesn't already comply with this MUST, it already doesn't comply with RFC2474.

So again, this MUST does not make any equipment that complied with any of the chain of RFCs non-compliant, unless they were already non-compliant with RFC2474, and therefore non-compliant with all the RFCs in the chain of updates up to RFC6040, because RFC2474 grandfathered the chain.




Analogous non-compliance concerns apply to the updates to other RFCs in
Section 5 to varying degrees.

If you accept my arguments above, but can still find other non-compliance concerns, please do point them out.

Nonetheless, I'm pretty sure I've been similarly careful to avoid introducing any non-compliance surprises.



Bob





--

________________________________________________________________

Bob Briscoe                               http://bobbriscoe.net/