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

Bob Briscoe <ietf@bobbriscoe.net> Thu, 16 May 2019 23:44 UTC

Return-Path: <ietf@bobbriscoe.net>
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 A4133120106 for <tsvwg@ietfa.amsl.com>; Thu, 16 May 2019 16:44:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 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, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=bobbriscoe.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 WJyaw-BYAZfy for <tsvwg@ietfa.amsl.com>; Thu, 16 May 2019 16:43:59 -0700 (PDT)
Received: from server.dnsblock1.com (server.dnsblock1.com [85.13.236.178]) (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 D388A1200C4 for <tsvwg@ietf.org>; Thu, 16 May 2019 16:43:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:From:References:To:Subject:Sender:Reply-To:Cc: Content-Transfer-Encoding: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=7mkQDKLGcacQLsnsypfa1y6evdsbqPtwjtdt5/WOmE8=; b=WvUWBu0ZE8A95g18vC29Fx1iu KVOpPpTPD8x4rpv8FXhhajQKlOamL4xgGOJb8HwrRfIPIPTguyJ1H2kYo99n+gjH/EX/w1zzNfezT yZKzqnVK+w7v3wBH+lvQdUt2CRBV9jlWdr3AV3q8VGyFoC/YkYuAoKNjHHj7xyUyvz76VXKMqC5PD N11lLRCJnSu7JFLH5RTUWN4KDWYXPWfNAn8D+borbV9/NLH/qz3IPDsl0qSJwkS9Yojv2RdnXE53w bis8OQ8djqse6bbXtaQnvvhyqQvUS9IIqjk1Zt3/8qaX+R9j7z2uaCSMfj/8quPHin6Ni9Wd16hUR Y0x1Xuc7A==;
Received: from [31.185.135.221] (port=46654 helo=[192.168.0.5]) by server.dnsblock1.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.91) (envelope-from <ietf@bobbriscoe.net>) id 1hRQ2T-0001PN-Gm; Fri, 17 May 2019 00:43:54 +0100
To: "Black, David" <David.Black@dell.com>, "tsvwg@ietf.org" <tsvwg@ietf.org>
References: <CE03DB3D7B45C245BCA0D243277949363055BC3F@MX307CL04.corp.emc.com> <CE03DB3D7B45C245BCA0D243277949363055BDDC@MX307CL04.corp.emc.com>
From: Bob Briscoe <ietf@bobbriscoe.net>
Message-ID: <89e67cfc-9574-c7a7-b837-c909c2180595@bobbriscoe.net>
Date: Fri, 17 May 2019 00:43:52 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
MIME-Version: 1.0
In-Reply-To: <CE03DB3D7B45C245BCA0D243277949363055BDDC@MX307CL04.corp.emc.com>
Content-Type: multipart/alternative; boundary="------------430F99A79ED230BCC1FC6DC3"
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server.dnsblock1.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - bobbriscoe.net
X-Get-Message-Sender-Via: server.dnsblock1.com: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: server.dnsblock1.com: in@bobbriscoe.net
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/AzNXC2TTY5pPMkCYbPydw8Xfk8w>
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: Thu, 16 May 2019 23:44:03 -0000

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