Re: [quicwg/base-drafts] Simplify the client's PTO code by allowing the server to send a PING (#3161)

ianswett <> Tue, 29 October 2019 20:22 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 9D11C12001E for <>; Tue, 29 Oct 2019 13:22:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.382
X-Spam-Status: No, score=-1.382 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_24=1.618, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id I6r8Ic7g6pyy for <>; Tue, 29 Oct 2019 13:22:58 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 4762F1208F2 for <>; Tue, 29 Oct 2019 13:22:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed;; h=from:reply-to:to:cc:in-reply-to:references:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=oQN72jLiZQLIPVRFNVe2agAEGsQ=; b=mV53/n7j+3OIMqdS BBR5B89JRttddI1ZsfGG6jMDW3SUaq5hiP+zlPleEMhw73aw5E8qMtWSS3gg/s/i NtEnE4D457Klan1n8jl+/QttlrQHQZxQIvidnNq4ECpADG7ifK5u81jgbw5GOFZu BM0lycf6fXyUrrnaoQ+7jYdpEFY=
Received: by with SMTP id filter0801p1iad2-3131-5DB89FA0-15 2019-10-29 20:22:56.168004389 +0000 UTC m=+354238.767292940
Received: from (unknown []) by (SG) with ESMTP id y7PONeWmTSGKynitsG09pQ for <>; Tue, 29 Oct 2019 20:22:56.091 +0000 (UTC)
Received: from (localhost []) by (Postfix) with ESMTP id EBE845E0029 for <>; Tue, 29 Oct 2019 13:22:55 -0700 (PDT)
Date: Tue, 29 Oct 2019 20:22:57 +0000
From: ianswett <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/3161/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] Simplify the client's PTO code by allowing the server to send a PING (#3161)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5db89f9fea76d_64443fcab66cd96c2265ba"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: ianswett
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak2v9tPzpsdTFkzQwTUYIIuCNUaOM0919jHIZL CpXmx/0Ma6AlRpWyWdYcp7KmYE15dugZuLTgO3vxFzx/MpUgT3gi+yic/gsgmnmO5gnAv4t91ApOU4 flMwrZ80JUcQ2Z5OCfe2Asb4IGCGgMUykBxLADouSToNQDDxl9Wufdr2nA==
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: Tue, 29 Oct 2019 20:23:00 -0000

My concern is that the current anti-deadlock mechanism is fairly awkward and rarely needed, which makes me concerned it will be incorrectly implemented.  By sending a PING only packet, the server is essentially informing the client it has something to send, but can't send it due to the amplification limit.

The deadlock happens when the client's Initial is acknowledged, but the client doesn't receive the server's Initial, so it can't decrypt any handshake packets.  In this state, the client has nothing to send.  It can happen even if the server's first flight fits into 3 packets.  But it's expected that typically servers will bundle their ACK of the client's Initial with the server Initial, and this will be rare in practice.

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