Re: [quicwg/base-drafts] Execute the PTO alarm immediately if in the past (#4831)

Martin Thomson <notifications@github.com> Mon, 01 March 2021 04:21 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 47A1A3A1471 for <quic-issues@ietfa.amsl.com>; Sun, 28 Feb 2021 20:21:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.448
X-Spam-Level:
X-Spam-Status: No, score=-1.448 tagged_above=-999 required=5 tests=[DKIMWL_WL_HIGH=-0.248, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cc_PVFj2X81b for <quic-issues@ietfa.amsl.com>; Sun, 28 Feb 2021 20:21:57 -0800 (PST)
Received: from out-23.smtp.github.com (out-23.smtp.github.com [192.30.252.206]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 857F63A146F for <quic-issues@ietf.org>; Sun, 28 Feb 2021 20:21:57 -0800 (PST)
Received: from github.com (hubbernetes-node-a543833.ac4-iad.github.net [10.52.112.34]) by smtp.github.com (Postfix) with ESMTPA id 34B006003F4 for <quic-issues@ietf.org>; Sun, 28 Feb 2021 20:21:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1614572516; bh=gpmkM53ikEGSQMmIya0SPZ8xSL140YkDeKpJh1Bggqk=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=Oi13XM6j1+6nz5ylMaquTIQkW/ANmDU1Us+paBqS4VFK8CtQgPq/2id621ZKkEi8Y DtSNq6mAQ5f+AHnw0DM7jaj1wgtoRjwkYTrONwCieRTWE+6DX20QNxggjceYQQdwwg eaa/PMQTOk74v9pyUoBTqwdjzhR3HVyw9upruUHU=
Date: Sun, 28 Feb 2021 20:21:56 -0800
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK7WMO2GNCPUOPNJPSV6JBGOJEVBNHHDBDTNMQ@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/4831/review/598035201@github.com>
In-Reply-To: <quicwg/base-drafts/pull/4831@github.com>
References: <quicwg/base-drafts/pull/4831@github.com>
Subject: Re: [quicwg/base-drafts] Execute the PTO alarm immediately if in the past (#4831)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_603c6be431c23_4517d4118227"; 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
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/tGOeT_TPG-DHnYcvBi8JAsGZDwQ>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 01 Mar 2021 04:21:59 -0000

@martinthomson commented on this pull request.



> @@ -664,8 +664,11 @@ data it can send is limited to three times the amount of data received,
 as specified in {{Section 8.1 of QUIC-TRANSPORT}}. If no additional data can be
 sent, the server's PTO timer MUST NOT be armed until datagrams have been
 received from the client, because packets sent on PTO count against the
-anti-amplification limit. Note that the server could fail to validate the
-client's address even if 0-RTT is accepted.
+anti-amplification limit.  The server's PTO timer could be re-armed to a time
+in the past after being amplification limited, in which case it is executed
+immediately. Doing so avoids sending new 1-RTT packets prior to packets
+critical to the completion of the handshake.  Note that the server could fail
+to validate the client's address even if 0-RTT is accepted.

This last sentence is now poorly connected to ... well ... anything.  I know that you are looking to avoid too many changes, but the instant you changed the pseudocode, any hope of that went out the window.  I think that we can cut this last sentence.

> +      // PTO would have already expired, execute it
+      // immediately.

```suggestion
      // Execute any PTO that might have expired
      // while the amplification limit applied.
```

> +anti-amplification limit.  The server's PTO timer could be re-armed to a time
+in the past after being amplification limited, in which case it is executed
+immediately. Doing so avoids sending new 1-RTT packets prior to packets
+critical to the completion of the handshake.  Note that the server could fail

What about a new paragraph instead:

> When the server receives a datagram from the client, the amplification limit is increased.  After an increase to the amplification limit, the server restarts any PTO timer that might have been suppressed.  If the timer would have expired during the time that the server was unable to send, the server immediately processes that event.  It is important that the server send any probes for Initial and Handshake packet number spaces before sending 1-RTT packets as the handshake might not complete otherwise.

Much more text, but clearer.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/4831#pullrequestreview-598035201