Re: [quicwg/base-drafts] Discard Initial keys as soon as possible (#2045)

Martin Thomson <> Thu, 29 November 2018 02:14 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6CB6E126BED for <>; Wed, 28 Nov 2018 18:14:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.46
X-Spam-Status: No, score=-9.46 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.46, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Klh8Eq74qumf for <>; Wed, 28 Nov 2018 18:14:09 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 60E371200B3 for <>; Wed, 28 Nov 2018 18:14:09 -0800 (PST)
Date: Wed, 28 Nov 2018 18:14:08 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1543457648; bh=7z7Jvi1F6Eh8pmxSNWxn4ffHWU6HKostzup4A2clEbY=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=MsyMOZcaEiqy0VvC9+lmkqvuLLBTZzhkHfovDU9Qsesgmrxcc3a06vzBMtfXsUHjq VfynKcvG/Z9WG9Wor1tHltbu3rhsWpYLKBFHjfcw9sKxpopPVzScQ1248S5vEF+iba oau5HztFWgGN0pYJ6J4ABx2YAiAVrs1zl+Jfl+oA=
From: Martin Thomson <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/2045/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Discard Initial keys as soon as possible (#2045)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5bff4b70966aa_1f463ff214ad45bc1275d"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 29 Nov 2018 02:14:12 -0000

martinthomson commented on this pull request.

> @@ -3592,6 +3594,21 @@ and will contain a CRYPTO frame with an offset matching the size of the CRYPTO
 frame sent in the first Initial packet.  Cryptographic handshake messages
 subsequent to the first do not need to fit within a single UDP datagram.
+### Abandoning Initial Packets {#discard-initial}
+A client stops both sending and accepting Initial packets when it sends its
+first Handshake packet.  A server stops sending and accepting Initial packets
+when it receives its first Handshake packet.  Though packets might still be in
+flight or awaiting acknowledgment, no further Initial packets need to be
+exchanged beyond this point.  Initial packet protection keys are discarded (see
+Section 4.10 of {{QUIC-TLS}}) along with any loss recovery and congestion
+control state (see Sections and 6.9 of {{QUIC-RECOVERY}}).

I don't think that it is the case.  We don't really say anything from a loss recovery perspective - the packets are not declared lost.  The congestion controller is just told to remove the bytes from in flight - they don't cause the CWND to increase.  So it's not really acknowledgment.

As the changes to the recovery draft state: loss recovery state is just thrown out: you won't be retransmitting anything at the encryption level.  So saying anything more isn't really helpful there.  The effect on the congestion controller is intentionally neutral: don't increase CWND as though the packets got through, but don't keep the bytes on the books as though the packets were lost.

Or have I screwed this up?

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: