Re: [quicwg/base-drafts] pto_count should be reset when dropping a packet number space (#3272)

Jana Iyengar <> Thu, 28 November 2019 18:23 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 53E381208B5 for <>; Thu, 28 Nov 2019 10:23:02 -0800 (PST)
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 NNhNkcx1v0KL for <>; Thu, 28 Nov 2019 10:23:00 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id CB7281208B3 for <>; Thu, 28 Nov 2019 10:23:00 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 210B7960230 for <>; Thu, 28 Nov 2019 10:23:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1574965380; bh=ZXM3QLVyNGZto9vDQgB9Fw8JFFJd1AsNWaeUsTRGpQ4=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=evAsJA0oafqFVlwff0zwttxv9jYYh1Y4J8e4UWDZ2MNxqADt47k/WuW/B8VFFDhG5 L/d+xRBAvh1BmqItFtNCPSoD8obySBjxnc0AKFQKsWQZANedCuXkTE5ixlFDv+XyV6 rIghCTXY8+ypaAnjOxeR9LWDpeprByZu2L0kYvhU=
Date: Thu, 28 Nov 2019 10:23:00 -0800
From: Jana Iyengar <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/3272/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] pto_count should be reset when dropping a packet number space (#3272)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5de0108412a98_34db3ff6d5acd9684946b2"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: janaiyengar
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, 28 Nov 2019 18:23:02 -0000

@kazuho: you make a good point. I don't think this is orthogonal to the original issue, I think it's very much related. In addition to what you note, you would also need to use the per-epoch counter for determining how long to set the timer.

This is going to be imperfect or ugly or both. If we use a single pto_count, we'll have duplicate counts. If we use separate pto_counts, we'll have to reconcile different epochs having varying counts.

I think the behavior we're looking for is (i) use a separate pto_count per epoch, (ii) use the max of all pto_counts when setting the timer for any PN space, (iii) reset all pto_counts when an ACK is received for any epoch. 

This isn't great, and it is imperfect -- you can end up being more aggressive than with a single count. But I think it's good enough.

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