Re: Transport parameters for version negotiation and v2

Martin Thomson <mt@lowentropy.net> Thu, 01 December 2022 06:30 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 166A8C14CF0B for <quic@ietfa.amsl.com>; Wed, 30 Nov 2022 22:30:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.796
X-Spam-Level:
X-Spam-Status: No, score=-2.796 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_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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=wLZXLu7p; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=G1kHmf6o
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id f61Tq7lRSCgm for <quic@ietfa.amsl.com>; Wed, 30 Nov 2022 22:30:07 -0800 (PST)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6B84BC14CF09 for <quic@ietf.org>; Wed, 30 Nov 2022 22:30:07 -0800 (PST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id B9A3D5C014B; Thu, 1 Dec 2022 01:30:06 -0500 (EST)
Received: from imap41 ([10.202.2.91]) by compute6.internal (MEProxy); Thu, 01 Dec 2022 01:30:06 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=cc:cc:content-transfer-encoding:content-type:date:date:from :from:in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1669876206; x= 1669962606; bh=ae5tZwOwh48g0bivJTVpviiWNs0rOkATOHt+rA6BiRw=; b=w LZXLu7poe/opZjoE/U40c9dMV1M9p6leyiERKZnzu+5dutWGOT8GnmoNLvutEYEy jEzHB9rwxMpj809BCYIu2m5T4VJBxKzy8Gt1nh6fnKR5Gjq/a09H79soActmsi/C xY5MNtHp6PdBpiG2FlwEiLMpD0ij1q/ZlqIXJtzNBvZfd6w44cV0jt4dWD6if4Jl 0w70cvWuEbx7UeHK0GkUaPEo4XCa7F5RuSbs3uas1LoRWd/9Soc2FkvZDTBXjZkq LmaU/9XMQpOtPVntkvOkXazvrV/Phc9UvX6NGtwQM+osRZR/jFwQrLMtDincJbMo Uv9vy36anEN4J735GmlDQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1669876206; x= 1669962606; bh=ae5tZwOwh48g0bivJTVpviiWNs0rOkATOHt+rA6BiRw=; b=G 1kHmf6oqAbqtvkADRGcUTym6ZzFI5Bx6BkqtrJUCE0lmeb37qpt37OXEqeJYKICe ITPaS+VGsxNwSqoDMaLfBBcWfTFdDwDBZj9AfpS9gEc803E+XbrXfh2AivRvEgmw kCOT/fM9kOuEsLaemYVgumgNHKunxSm8i3BhkyTbJygb9+/0juCXsU1g8BCpVmtU vwRdvrYmHadihLs0J/DRjbP4B5icQRbr2R5XPk907U7eY/1h4Or7/fajbZtxujwv D5OUJJw/HOWA+pv3jmiyvtXQtk8mXEW0Ttf1269QXIQ/TxesPX0qNlcoOr0H14YC t6SSsMO4H72+NO4xAljJw==
X-ME-Sender: <xms:7kmIY6NoKVlB6893zHvhm8qHGWH_HsS328JkKtvbgOictRkaebEekw> <xme:7kmIY48b3kKBxaCGL7R7H27BcW_xvrNWvmTXZn22jO9J_KMAeyaxbEy7r-IezPlKL -o90SwRoyJBqetefTI>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrtdeggdelkecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvvefutgfgsehtqhertderreejnecuhfhrohhmpedfofgr rhhtihhnucfvhhhomhhsohhnfdcuoehmtheslhhofigvnhhtrhhophihrdhnvghtqeenuc ggtffrrghtthgvrhhnpeeiteeghedtheetveetueeghedtkeeuvdegjeevgfehteetheel uedtveeuheeufeenucffohhmrghinheprghkrgdrmhhspdhquhhitgifghdrohhrghdpoh huthhlohhokhdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgr ihhlfhhrohhmpehmtheslhhofigvnhhtrhhophihrdhnvght
X-ME-Proxy: <xmx:7kmIYxSOiGauLe5a-F2iQMGm1hf6Tp7pAcsVMJntk7ltfDh6UoJlTw> <xmx:7kmIY6viHe_9HCHONWmQ1ProklOTLBOf7XC88UwfIcQet5z3GLHa0w> <xmx:7kmIYyfpRiWG-92M7dUtXnH37jFsnLKur9FuefcmqbVogKmDLnF7WA> <xmx:7kmIY2F4sHVpEuhe673FzDkTryXo92Bza9jmr_wzwSia1llWmU6_6Q>
Feedback-ID: ic129442d:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 6D160234007B; Thu, 1 Dec 2022 01:30:06 -0500 (EST)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.7.0-alpha0-1115-g8b801eadce-fm-20221102.001-g8b801ead
Mime-Version: 1.0
Message-Id: <91b3ef5d-578d-4def-9308-c496398598c0@app.fastmail.com>
In-Reply-To: <CAM4esxRmA_UckUmXA4OomAvo3ert=QEy+8QvJLtGWBLicPuL-A@mail.gmail.com>
References: <85208613-d3b1-4955-a71a-b22ac7ada0a1@betaapp.fastmail.com> <9599180d-4dcc-691b-c63d-e8e7e838db42@huitema.net> <CAM4esxR0He-akPE8Sooz=Gc52feLceBgdXoYWX43HmTCgwbnLg@mail.gmail.com> <PH0PR00MB11523751C56BF06A4DDFACC2B30A9@PH0PR00MB1152.namprd00.prod.outlook.com> <CAM4esxRmA_UckUmXA4OomAvo3ert=QEy+8QvJLtGWBLicPuL-A@mail.gmail.com>
Date: Thu, 01 Dec 2022 14:29:43 +0800
From: Martin Thomson <mt@lowentropy.net>
To: Martin Duke <martin.h.duke@gmail.com>, Nick Banks <nibanks@microsoft.com>
Cc: Christian Huitema <huitema@huitema.net>, "quic@ietf.org" <quic@ietf.org>
Subject: Re: Transport parameters for version negotiation and v2
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/6ZpoCal_0xXIfmI7isYwO2OCmeE>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.39
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: Thu, 01 Dec 2022 06:30:12 -0000

Right, thanks for reviving this.

My sense is that the best approach here is to make a clean break and get a new codepoints for BOTH the version negotiation transport parameter and the v2 version.

Though deployments can change, they probably won't change atomically enough to avoid real negotiation failure.

On Thu, Dec 1, 2022, at 06:25, Martin Duke wrote:
> I don't want to lose this thread, as this is a quite important thing to 
> resolve. I personally would prefer to keep the version number constant, 
> but it's not all clear to me that it's acceptable to deployed 
> implementations.
>
> On Mon, Nov 21, 2022 at 5:06 AM Nick Banks <nibanks@microsoft.com> wrote:
>> MsQuic has released a version with VN+V2 support, but it’s marked as “preview” so it can change, as necessary. We weren’t planning to make it an official feature until the RFCs.____
>> __ __
>> Thanks,____
>> - Nick____
>> Sent from Outlook <http://aka.ms/weboutlook>____
>> *From:* QUIC <quic-bounces@ietf.org> *On Behalf Of * Martin Duke
>> *Sent:* Thursday, November 17, 2022 8:45 PM
>> *To:* Christian Huitema <huitema@huitema.net>
>> *Cc:* Martin Thomson <mt@lowentropy.net>; quic@ietf.org
>> *Subject:* Re: Transport parameters for version negotiation and v2____
>> __ __
>> In Google's code, the v2 code is exists but is not in production because we haven't done compatible VN yet. So changing the transport parameter at this point would have no impact on Chrome or Google production servers.____
>> __ __
>> On Thu, Nov 17, 2022 at 4:28 PM Christian Huitema <huitema@huitema.net> wrote:____
>>> 
>>> 
>>> On 11/17/2022 4:15 PM, Martin Thomson wrote:
>>> > How many people have shipped version negotiation and v2 already?
>>> > 
>>> > I assume that implementations are using the codepoints for the transport parameter in the draft (0xFF73DB), but the drafts says this:
>>> > 
>>> >> When this document is approved, it will request permanent allocation of a codepoint in the 0-63 range to replace the provisional codepoint described above.
>>> > 
>>> > IANA are about to make that new allocation, but that might not do good things for interoperability.
>>> > 
>>> > We're not changing the v2 version number and v2 *requires* the use of this transport parameter: https://quicwg.org/quic-v2/draft-ietf-quic-v2.html#section-4-2 <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fquicwg.org%2Fquic-v2%2Fdraft-ietf-quic-v2.html%23section-4-2&data=05%7C01%7Cnibanks%40microsoft.com%7C0b21307c92c24ee5f18c08dac906a08b%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638043327575620512%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Wz2tzGwBJsw7zyflxjdsihvHeZ%2FvFJhb1S48%2Bc9x%2BAY%3D&reserved=0>
>>> > 
>>> > Consequently, an implementation that uses the current transport parameter codepoint will not interoperate successfully with an implementation that uses any new transport parameter codepoint.
>>> > 
>>> > So, we either allocate a new codepoint for both, or we keep the existing ones.  Which do people prefer?
>>> > 
>>> > Or, am I wrong about this?
>>> 
>>> 
>>> The way I read it, QUIC-V2 makes a reference to QUIC-VN, which is 
>>> documented in the reference section as pointing to 
>>> draft-ietf-quic-version-negotiation-13. But I fully expect that the next 
>>> QUIC-V2 draft will refer to the updated version of QUIC-VN, and thus to 
>>> the final transport parameter.
>>> 
>>> -- Christian Huitema
>>> 
>>> ____