Re: [quicwg/base-drafts] Allow endpoints to generate traffic keys asynchronously (#3874)

Kazuho Oku <notifications@github.com> Fri, 10 July 2020 00:30 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 75C0B3A0A5E for <quic-issues@ietfa.amsl.com>; Thu, 9 Jul 2020 17:30:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.1
X-Spam-Level:
X-Spam-Status: No, score=-3.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-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=github.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 8B9LovB2kpy8 for <quic-issues@ietfa.amsl.com>; Thu, 9 Jul 2020 17:30:57 -0700 (PDT)
Received: from out-27.smtp.github.com (out-27.smtp.github.com [192.30.252.210]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 80E7F3A0A55 for <quic-issues@ietf.org>; Thu, 9 Jul 2020 17:30:57 -0700 (PDT)
Received: from github-lowworker-b2150d3.ash1-iad.github.net (github-lowworker-b2150d3.ash1-iad.github.net [10.56.113.12]) by smtp.github.com (Postfix) with ESMTP id BB651E08CD for <quic-issues@ietf.org>; Thu, 9 Jul 2020 17:30:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1594341056; bh=/eSkkpURfHohhpqJUKCPVW90QtMtlytsX8QSGFKPAc0=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=vtaTXLXJT/+YrW/ui4q+Tw6RFnwjH47lcn+YC5lLeeyjN25Lm+cvjV9nZuKgiPGtF kVoRRcyx/sgxsv67YrFUYjrTq4dFBCaJfKnuyWjPtCluLImAwMfd42+1VAvi/nPTjV W5JkaTcPSsqsJYv7CpdvgBUWmlpfchTexeVpELKM=
Date: Thu, 09 Jul 2020 17:30:56 -0700
From: Kazuho Oku <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK7QCKRUZBX5AY2YJEN5COL4BEVBNHHCN3MY3A@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/3874/review/446051945@github.com>
In-Reply-To: <quicwg/base-drafts/pull/3874@github.com>
References: <quicwg/base-drafts/pull/3874@github.com>
Subject: Re: [quicwg/base-drafts] Allow endpoints to generate traffic keys asynchronously (#3874)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5f07b6c0a99c6_54a83fb24eecd96c1431be"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: kazuho
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/M4NaLRHP1KPoyG7drP1VOwTfuWA>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 10 Jul 2020 00:31:00 -0000

@kazuho commented on this pull request.



>  When ack-eliciting packets in multiple packet number spaces are in flight,
-the timer MUST be set for the packet number space with the earliest timeout,
-with one exception. The ApplicationData packet number space (Section 4.1.1
-of {{QUIC-TLS}}) MUST be ignored until the handshake completes. Not arming
-the PTO for ApplicationData prevents a client from retransmitting a 0-RTT
-packet on a PTO expiration before confirming that the server is able to
-decrypt 0-RTT packets, and prevents a server from sending a 1-RTT packet on
-a PTO expiration before it has the keys to process an acknowledgement.
+the timer MUST be set to the earlier value of the Initial and Handshake packet
+number spaces.

Regarding if the new approach works, it does, because the server would make sure that all the handshake messages up to ServerFinished would be delivered to the client, and then the client would make sure that ClientFinished would be delivered to the server. At that moment, the server would be allowed to send 1-RTT probes.

Regarding if this is a design change rather than editorial, the answer depends on how we interpret the existing text. [Section 6.2.1](https://quicwg.org/base-drafts/draft-ietf-quic-recovery.html#section-6.2.1-6) currently states:
> When ack-eliciting packets in multiple packet number spaces are in flight, the timer MUST be set for the packet number space with the earliest timeout, with one exception. The ApplicationData packet number space (Section 4.1.1 of QUIC-TLS) MUST be ignored until the handshake completes.

There are two ways to interpret these two sentences, depending on if we consider the MUST in the second sentence to be a sub-condition of the first sentence, or consider the two sentences as listing two distinct requirements. @marten-seemann points out that the latter is what the pseudo-code does, and assuming that is the case, there is no design change.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3874#discussion_r452560791