[tsvwg] Decomposing the question

Kyle Rose <krose@krose.org> Wed, 06 May 2020 12:56 UTC

Return-Path: <krose@krose.org>
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 136073A0937 for <tsvwg@ietfa.amsl.com>; Wed, 6 May 2020 05:56:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=krose.org
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 ZJRYVmdkN8V6 for <tsvwg@ietfa.amsl.com>; Wed, 6 May 2020 05:56:15 -0700 (PDT)
Received: from mail-vs1-xe33.google.com (mail-vs1-xe33.google.com [IPv6:2607:f8b0:4864:20::e33]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BADA23A0851 for <tsvwg@ietf.org>; Wed, 6 May 2020 05:56:14 -0700 (PDT)
Received: by mail-vs1-xe33.google.com with SMTP id l25so905925vso.6 for <tsvwg@ietf.org>; Wed, 06 May 2020 05:56:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=krose.org; s=google; h=mime-version:from:date:message-id:subject:to; bh=VgbUfNibPzHLyLzM94QZ3Y0iZZeyQMCfauebg1wK0PA=; b=CyuZnXHaZzbrItLMOPplel2s922ZN/3BJwgWtfzykN5pxRHFJg9WNj26bG16UHW/H7 i8GCsA7e0BuEaz8zcA0VBhkLRfLQKyF0NOustX91voP0C0lYdp0a4Zzhuewpmw+18U5+ CeJ9HQ2zAeMndfBkAhaXjD7iGpNyzUSKDvoSM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=VgbUfNibPzHLyLzM94QZ3Y0iZZeyQMCfauebg1wK0PA=; b=V9+K04H8Ds3zBBhuPvuWtohcj8En+5tsf6i1SS0FM6Rx+5wz2+/3ro5d7FYCPwJ2n8 JOdcYSk0O3HtjQJjxzrVtGWZBCoevoSX91XLj3nz4/mKpRfRODNqgprfoubAGFLvwwli FqLVtMc5txrfF7gwgkb9iAc/NS6nb17lxWXs1RsudjthspjUT4Zy3GqnwnRSGfU6zs0C oaS44zGOz0k2QsNsFOnpCka6P39hU8Pd/Z6GTZc/Slb+9VRsVayZ247gZuobLQCtafpA CmMrxlMDc2l82+ttrI6JiSzvkVYVeHy/0pzJHW/PQSoarkCglh0FYewLvtgVKAmtqVMb QRaA==
X-Gm-Message-State: AGi0PubZkCk8cUSKIcgYFHF19cpzqG6fcCpJQw0r4kujcqpdccHD+/Ti VP+nlxJwVZ897JaFlLlx33+84mpG8CD369wj+/dl1kdpCahgIg==
X-Google-Smtp-Source: APiQypKm6DAaSGRS5wHWRoal2vwT7aTrK2K/MgDGVXigIxltHQhRuHbxlAgybYN1+wzfKECBjqUS9KmJ+CzNXf/KqXU=
X-Received: by 2002:a67:3284:: with SMTP id y126mr7285212vsy.175.1588769773379; Wed, 06 May 2020 05:56:13 -0700 (PDT)
MIME-Version: 1.0
From: Kyle Rose <krose@krose.org>
Date: Wed, 06 May 2020 08:56:02 -0400
Message-ID: <CAJU8_nX4nRwoztb_js=Pp2R0L_s2qCQ=2wdcThcHCSrM+aiBHQ@mail.gmail.com>
To: tsvwg IETF list <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000f9023905a4fa4950"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/VhgCiE9dF6F2Z-eN9wkpeVG2LX0>
Subject: [tsvwg] Decomposing the question
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: Wed, 06 May 2020 12:56:17 -0000

The problem I have with the consensus call is that ECT(1) is already a
network input, and as a result the real question that must be answered is
not so simple.

The space of possible meanings for ECT(1) was constrained by the ECT(0)
equivalence prescribed by RFC 3168 back in 2001, and over time further
ossified through the deployment of CE-marking AQMs, such as fq_codel. RFC
8311 updated 3168 to *permit* differential behavior in experiments, but
does not mandate deprecation of equivalent treatment, and anyway was
published too recently to expect any real effect on the behavior of
existing deployments. Expanding the space of possible meanings for ECT(1)
now, as the L4S team wants to do, seems like a very high hurdle.

Thus, any novel use of ECT(1) as a network input or output must be
compatible with its already existing meaning as an input; OR, this original
meaning for ECT(1) must be explicitly deprecated in standards and removed
from existing deployments before any new meaning can be safely deployed.

I contend that it is not sufficient to simply consider whether to use
ECT(1) as an input or output independently of the consequences of whatever
specific new meaning is proposed. One must consider whether the proposed
novel meaning is compatible with the existing meaning, and if not, evaluate
the costs in un-deploying the existing meaning.

Consequently, like pretty much everyone else who chimed in, I answered the
consensus call as if "input" were a proxy for "move forward with L4S",
because while I'm sure there are multiple uses for ECT(1) as either a
network input or output that can safely coexist with the existing meaning
as a network input, that's not what the question is really asking.

If the question is decided in favor of "input", I would propose that one of
the following must be done:

* Classic queue detection must demonstrate exceptional robustness in
transparent, replicable testing to accommodate co-existence of classic
behavior with L4S for an extended period; or
* RFC 3168 should be updated more strongly than 8311 does to eliminate the
existing meaning for ECT(1) (or deprecated entirely and moved to historic),
with this working group publishing documents on how to safely achieve a
near-total elimination of the old meaning, *before* any deployment of L4S
on the public internet, which probably means prior to standarization.

In either case, it is also this working group's responsibility to produce
informational documents on how to safely deploy L4S incrementally under the
assumption that it will need to be disabled for connections to some
networks. This might include, for instance, bleaching of the ECN setup in
TCP for affected ASes or CIDRs and recommendations for incorporation of
path signaling into other protocols prospectively employing ECN (such as
QUIC).

The burden of achieving safe deployment is on those who propose a new
meaning for an existing signal, which means this working group if the
consensus is to move forward with L4S.

Kyle