Re: [quicwg/base-drafts] Fixing max_ack_delay (#3938)

Kazu Yamamoto <> Thu, 20 August 2020 02:55 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5E0103A1089 for <>; Wed, 19 Aug 2020 19:55:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.554
X-Spam-Status: No, score=-1.554 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_IMAGE_ONLY_20=1.546, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, 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 2YJD-VXk4d77 for <>; Wed, 19 Aug 2020 19:55:54 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id F00813A1088 for <>; Wed, 19 Aug 2020 19:55:53 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 249E084005C for <>; Wed, 19 Aug 2020 19:55:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1597892153; bh=EF0ith72QuoUVpny8cKaPiPx9N7Ed4fwP0sorSPCCaE=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=l/ctMY+nDD/Pv/A2E/juo2rD14Q3pUCdGJnZQS0R2lbCuzu1PucfsOnXE7ZP+s7zo AWhIdadrLN/VW7uDPO2SxKbxfkqGjI5ZbtFFuuQXKQjf7hrZhzlytbyGaG20LJg/HI hOg4RNF3pF/ZQzkJ7V0ULEMMTQmzyn5QRGsaavP0=
Date: Wed, 19 Aug 2020 19:55:53 -0700
From: Kazu Yamamoto <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/3938/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Fixing max_ack_delay (#3938)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5f3de63913a0d_5aa419641909c7"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: kazu-yamamoto
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, 20 Aug 2020 02:55:55 -0000

I think that I am still confused.

In recovery, `max_ack_delay` is used in three places:

- RTT calculation
- PTO calculation
- Persistent congestion

Sec 18.2 of transport says that `max_ack_delay` is default to 25ms and updated if a peer specifies the TP.

Sec 13.2.1 of transport says there is a special rule: "For Initial and Handshake packets, a max_ack_delay of 0 is used." According to the context, this rule is applied to both RTT calculation and PTO calculation.

In the pseudocode of recovery, `max_ack_delay` is set to 0 initially. But I think that 25ms should be used for persistent congestion.

The special rule is use for PTO calculation, which is good.

But RTT calculation just depends on the initial value of 0. Isn't it necessary to consider packet number space?

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