Re: Spin bit decision

Ted Hardie <ted.ietf@gmail.com> Tue, 02 October 2018 17:11 UTC

Return-Path: <ted.ietf@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CE9B0131356 for <quic@ietfa.amsl.com>; Tue, 2 Oct 2018 10:11:28 -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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 n1I6hjlejXlX for <quic@ietfa.amsl.com>; Tue, 2 Oct 2018 10:11:26 -0700 (PDT)
Received: from mail-ot1-x331.google.com (mail-ot1-x331.google.com [IPv6:2607:f8b0:4864:20::331]) (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 3E1AF1311B9 for <quic@ietf.org>; Tue, 2 Oct 2018 10:06:53 -0700 (PDT)
Received: by mail-ot1-x331.google.com with SMTP id h26-v6so2626244otl.9 for <quic@ietf.org>; Tue, 02 Oct 2018 10:06:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ShnDr+OI5dJ7M0BuRlyJ3IoIMQlLdhG4AyWK3hObgdU=; b=e7hXXN8XRb/fkehZjJHHD3Y73Gx2qLtpwD3V4mtraYEsZLr+Laane7kMg+jheZx9/D MdgxlxCy84Xo0gTByw/SrDQAkpDWJzwM4ReUHM3MGp9lxBxbmadyJ2X+K7X/ez/JJ87K nnk7SL2FH/9ozG3fq3zJPPoD2Y4teYqjIjewG8aORzt8N4ZwwW3V3RaT4oju0ftYniTh mu9x5y3jkt2zpikNEXRBs4LpOU29uGZc2kHmqRm4KbUNE3xJBkeMguWTPLWvHp8osXFK w1RFxAQFP2FWbtwmrbny8I8YtWHPfSRo5q+u0OijzdOL9Uzkng4rmyX6aeH8u1Vn8cQV 9axA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ShnDr+OI5dJ7M0BuRlyJ3IoIMQlLdhG4AyWK3hObgdU=; b=l8M6XoWZBg2KzrdNgoY+BLODdDLGPLd8WqZo9g78UTYZj8YUulf62YuVleNZ/gzleb q9rExsOjII86pNpgLK2v3n+9PiulAya61gNbsz7+RH5tQy+somlsWgylcfFNPdDmGsmt gpXdO6R59v63JuHkZRw1F/9gTO6/WDDtGJJPNPhRJ0xNxiUj1AaVDOBIfqN2fJ95khaO 5qMWi6AjAoDpGAM3M4I5vHQg2al7eWiNvSy7DdPMyE6jPuOo0RiNnma4cM/RQb0QC2C7 GQEBKUmTmwQyUOwQjR5Ndu7bZrWNwnTldQodnnIsAjQKO5Vph4uvKfxnyi6OgE9ILk7i lRHA==
X-Gm-Message-State: ABuFfoh5LDxRj88kMqHKtPLkabIpVvhIOI3bwWPJZ7EBLWSwjNR/DYuH zl9zxdaoY6BPVw6ibQ4QUf7dI6LxZWr4ArBS0a4=
X-Google-Smtp-Source: ACcGV633wEEn6gQOvQZ3YkfF110H5SWi3khM4zR3Ls/0aHia4h0Fl937uKItrjHQ/ucg4TtZIWvtcYKqX3K1zn6xLK0=
X-Received: by 2002:a9d:9a1:: with SMTP id q30-v6mr9668248otd.351.1538500012287; Tue, 02 Oct 2018 10:06:52 -0700 (PDT)
MIME-Version: 1.0
References: <14531_1538460420_5BB30B04_14531_237_4_c0f3a391-9897-80b0-575b-aa73edad0d52@orange.com> <9A63F295-5DC5-4992-9A9C-A98F72C8430D@eggert.org> <22440_1538469028_5BB32CA4_22440_292_2_8e00a462-2bbf-acf0-1195-74269a0c2fbd@orange.com> <3E3DBC15-FE42-47CF-AF7A-1F2597ED2390@eggert.org> <24019_1538484216_5BB367F8_24019_26_1_8e6b0d8e-78f0-56c7-e731-da2ff22cb194@orange.com> <08A9C80F-59E6-46EE-A4D4-1F78F5085CF7@eggert.org> <9737_1538485723_5BB36DDB_9737_147_1_82e0e028-b0e8-5e09-7bd5-e66db97c556a@orange.com> <E7479831-9594-444E-9545-A162E8D9B154@eggert.org> <32072_1538492813_5BB3898D_32072_266_1_8380ff40-29fe-269b-8ed7-4331c9e53f4d@orange.com> <MWHPR22MB0991D93D706031603B077BFCDAE80@MWHPR22MB0991.namprd22.prod.outlook.com>
In-Reply-To: <MWHPR22MB0991D93D706031603B077BFCDAE80@MWHPR22MB0991.namprd22.prod.outlook.com>
From: Ted Hardie <ted.ietf@gmail.com>
Date: Tue, 02 Oct 2018 10:06:25 -0700
Message-ID: <CA+9kkMCRmgS_6ZgDnv3-+V8aUhh3-As2SG2ZR0MWTC48JWQ78A@mail.gmail.com>
Subject: Re: Spin bit decision
To: Mike Bishop <mbishop@evequefou.be>
Cc: alexandre.ferrieux@orange.com, Lars Eggert <lars@eggert.org>, IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000b82b3b057741f225"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/I6crDezYG_Wv1ET-2srbkrzB3pk>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 02 Oct 2018 17:11:29 -0000

On Tue, Oct 2, 2018 at 9:51 AM Mike Bishop <mbishop@evequefou.be> wrote:

> I don’t think it’s a grim view, I think it’s a pragmatic view.  Our role
> is to specify the things which are fundamental to the protocol and have to
> happen for peers to interoperate.  Mis-using normative language for other
> things is an abuse of the process -- that's kind of the point of RFC 6919.
>
>
>
> RFC 2119 says:
>
> In particular, [normative language] MUST only be used where it is actually
> required for interoperation or to limit behavior which has potential for
> causing harm (e.g., limiting retransmisssions)  For example, they must not
> be used to try to impose a particular method on implementors where the
> method is not required for interoperability.
>
>
>
> Given that the spin bit is not “actually required for interoperation,” but
> is the very definition of “try to impose a particular method on
> implementors,” I’d say that RFC 2119 imperatives are unwarranted.
>

That's not quite what we generally mean by "interoperation" here.  It's
quite common to have something say, in effect, "If you use X, you MUST do
Y.".  So, we could have a MUST in Section 2.3 of the draft, instead of the
current language:

   Each client and server MUST reset its spin value to zero when sending the
   first packet of a given connection with a new connection ID.  This
   reduces the risk that transient spin bit state can be used to link
   flows across connection migration or ID change.

That MUST doesn't say anything about when you use the spin bit, it simply
says that *if*  you use it, other implementations will expect this
behavior; if they get a new connection ID with a non-zero spin value, it
will be a protocol error.  That pattern of use is very common.

Ted