Versions numbers in invariants

Martin Thomson <mt@lowentropy.net> Wed, 01 July 2020 02:33 UTC

Return-Path: <mt@lowentropy.net>
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 05E133A094E for <quic@ietfa.amsl.com>; Tue, 30 Jun 2020 19:33:45 -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, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, 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=lowentropy.net header.b=X6QUIOjl; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=XVj3gncP
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 sA7UkZHKqAgQ for <quic@ietfa.amsl.com>; Tue, 30 Jun 2020 19:33:43 -0700 (PDT)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A7BE03A0941 for <quic@ietf.org>; Tue, 30 Jun 2020 19:33:43 -0700 (PDT)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id E73B45C0108 for <quic@ietf.org>; Tue, 30 Jun 2020 22:33:42 -0400 (EDT)
Received: from imap2 ([10.202.2.52]) by compute2.internal (MEProxy); Tue, 30 Jun 2020 22:33:42 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=mime-version:message-id:date:from:to:subject:content-type; s= fm2; bh=VxxB1w8n5dRmq9w2wauY9bDonRUNeuf+Vg2PjRl3TLM=; b=X6QUIOjl eOZNXMOf2s2MQWflvroX6pUOQU/1rPbdTQ1pbbMlB+gmumxflJ1ClTCzvSSHDcif 3/Rl4lsoKO7Q9RpREjHJIZsbY1GElcNCU9DlQkVSh3L72fArplSeD/zW5ROjmnTt ChHNPI4gLQmRAAsaQKr1V48df+bxHpZo8f7GzUDdMXKGFYM8Gt4YcFhoyv7h/51O cLdYAHDK2Spvrn1EEtnEpQ7arP960WbjQj+i+ukhen9pnSQr/c4PE9MPH2R/b2yx qrZ91NkQTb2aAIx12rT9ZLPiVopPSVZTxnQkf0JfngEXor77RaAE83qInCk2bCIq ltq/sZLIuJkwtw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=VxxB1w8n5dRmq9w2wauY9bDonRUNe uf+Vg2PjRl3TLM=; b=XVj3gncPM8NjN6Q0gcLq7JsFrTaUsXtZBs49g/bigZ8pg OXdzmmV/8bbGuRwkQTWEzYVMY+Bk8rsiukwvC1R/b7VzWPyE01KUFIwxuyE9kkOX PIsa+qouCrl2yQjX9waDP3NIECRlMNEFAIdvJcN/cTX1eWVK9WtUT8nlZqRa3i8f YkdWeD7TWY9Xf3AIAVYpurJcqpuACPA1BQIew/fvwV3LYCUA5877RQ8TO0xSHLgX Y1y5TxFUxG6RbGLQZCt25/Iu8SRvjMmnDsUmggjSecdhyYPlDYhwnC05vJwog/Uk DIQeqXSNjaDhcR9wPWNUPse1d2QF6Hk3zNnBBSlMg==
X-ME-Sender: <xms:Bvb7Xpx2MF964-mrtSncT2Xp7vViC3gx0kxH8Ocj6Andke7HCjuWug>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrtddugdeivdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkfffhvffutgesthdtredtre ertdenucfhrhhomhepfdforghrthhinhcuvfhhohhmshhonhdfuceomhhtsehlohifvghn thhrohhphidrnhgvtheqnecuggftrfgrthhtvghrnhepgeeuheeujedvieevffehvdekge ffkefggfdtteelfeekfeeftdejhfdtuddvuddtnecuffhomhgrihhnpehgihhthhhusgdr tghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hmtheslhhofigvnhhtrhhophihrdhnvght
X-ME-Proxy: <xmx:Bvb7XpTE-Pm344JQ4roIZDBjXEcOKpKjQRefieuzrGRfgailQ136EQ> <xmx:Bvb7XjUDWXdWbutxzE6MiDIqdD____UN4VjLG--VAUCFGEd88QAtyg> <xmx:Bvb7Xrhnh_kk1vc88UBkajhOlq0MqW2ty00xLNIwCCEGT-ORWRYePA> <xmx:Bvb7XvzVRziVpLp6iZmCM_0lWS_u-usfn5sf67Ma6BQYr__faIbyoQ>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 66B49E00CE; Tue, 30 Jun 2020 22:33:42 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.3.0-dev0-576-gfe2cd66-fm-20200629.001-gfe2cd668
Mime-Version: 1.0
Message-Id: <7b0c8566-46eb-490a-8b93-3fe7eb3e9ee4@www.fastmail.com>
Date: Wed, 01 Jul 2020 12:33:24 +1000
From: "Martin Thomson" <mt@lowentropy.net>
To: quic@ietf.org
Subject: Versions numbers in invariants
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/Zqm5cQL0Qeaa1YjYL1o7ZfQPhig>
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: Wed, 01 Jul 2020 02:33:45 -0000

In my review of QUIC Invariants, I think that I found a promise we might not want to keep:

> QUIC versions are identified with a 32-bit integer, encoded in network byte order.

Implicit in this is that a packet containing version X is necessarily QUIC version X.  That's already not-true in some proposals.

I think that this would be better defined as a field for use by endpoints:

> The Version field contains a 32-bit integer, encoded in network byte order.
> This value can be used by endpoints to identify a QUIC Version.

This is an almost-cosmetic change, but it is a substantive change.  The intent is to wind back this promise and allow for the sorts of mappings contemplated by the version aliasing proposal.

https://github.com/quicwg/base-drafts/issues/3808 is the issue, with some more details.
https://github.com/quicwg/base-drafts/issues/3785 contains the proposed change.