Re: [quicwg/base-drafts] Change PTO to be per packet number space (#3066)

martinduke <> Mon, 28 October 2019 20:29 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 7B548120096 for <>; Mon, 28 Oct 2019 13:29:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.596
X-Spam-Status: No, score=-6.596 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, HTML_IMAGE_ONLY_28=1.404, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, 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 upw21BCTmpcg for <>; Mon, 28 Oct 2019 13:29:32 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 007C01208D4 for <>; Mon, 28 Oct 2019 13:29:31 -0700 (PDT)
Date: Mon, 28 Oct 2019 13:29:31 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1572294571; bh=0/6ImRbjfpRX+/clITQ14MEcMHk+vCFhYIM1U4OU7ZU=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=gtFGMZwfo9rZGwnGkfEWEDxQogI+kw2oZ9V7AQUotI0sBmVMt6RhcQGqODvxyp1cH 7jQyAVU0W6kLyMyabOfmOJqiEaz/bJNRkcZAfCef+oFSNqD6KKQlRtvcHWPdg00CcO X9lp5RhOhfbdNbLFUCbCHaRzuJgJfpXTdDJsMOLs=
From: martinduke <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/3066/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Change PTO to be per packet number space (#3066)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5db74fabfb4c_48923f988d6cd9682898b1"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinduke
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: Mon, 28 Oct 2019 20:29:34 -0000

martinduke approved this pull request.

> @@ -477,6 +477,9 @@ limited by the endpoint's idle timeout.
 A sender computes its PTO timer every time an ack-eliciting packet is sent.
 When ack-eliciting packets are in-flight in multiple packet number spaces,
 the timer MUST be set for the packet number space with the earliest timeout.
+Even when there are ack-eliciting packets in-flight in multiple packet number
+spaces, the exponential increase in probe timeout occurs across all spaces to

This interacts weirdly with the rest of this spec if I'm not coalescing, as I'm restricted to one packet per PTO. In the common case we are PTOing the server 1st flight, we get this behavior:
where P = srtt + 4 rttvar + max_ack_delay
time 0: send first flight
time P: send Initial
time 2P: send Handshake
time 4P: send 1RTT
time 9P: send Initial
time 18P: send Handshake

Maybe the lesson here is to coalesce, but we should understand what we're writing here.

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