Re: [quicwg/base-drafts] Simplify TLP and RTO into Probe Timeout (#2114)

Nick Banks <> Tue, 11 December 2018 21:35 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 313E7130F24 for <>; Tue, 11 Dec 2018 13:35:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.46
X-Spam-Status: No, score=-9.46 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.46, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, 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 xHB99dgBhF-l for <>; Tue, 11 Dec 2018 13:35:52 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 67607127AC2 for <>; Tue, 11 Dec 2018 13:35:52 -0800 (PST)
Date: Tue, 11 Dec 2018 13:35:51 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1544564151; bh=ME+IDRK/ZirgmM7Jmlc2pBid50ta8RV4dKfAHb4aJbw=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=kzBiiMX3TZ/N5cdWeT9gH+/vf69HELhYCQPIzThuFBB0fwb7QgSyrM1axfmvVLROE xBMcMi8ELUA4vARekdLmrj9c/LOvVZYM9rqU235Ir/JRMczfov4j+q6+quz7Cjph6r WuBIlTCKGHO5GQPWVKxYOA70+zQWhubnKsn6FSrE=
From: Nick Banks <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/2114/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Simplify TLP and RTO into Probe Timeout (#2114)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c102db796977_698d3fa4db8d45b8192930"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: nibanks
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: Tue, 11 Dec 2018 21:35:54 -0000

nibanks commented on this pull request.

In general, I like the simplification here. It would be interesting to see the results of an A/B test before and after these changes.

> @@ -361,8 +361,7 @@ increases loss detection delay.
 Timeout loss detection recovers from losses that cannot be handled by
 ack-based loss detection.  It uses a single timer which switches between
-a crypto retransmission timer, a Tail Loss Probe timer and Retransmission
-Timeout mechanisms.
+a crypto retransmission timer and a Probe timer.

You don't capitalize `Probe` in other places. It looks out of place here.

> @@ -726,10 +700,9 @@ Pseudocode for OnAckReceived and UpdateRtt follow:
       // RTO was spurious. Otherwise, inform congestion control.
       if (rto_count > 0 &&
             smallest_newly_acked > largest_sent_before_rto):

As well as `rto_count`

> @@ -812,17 +785,11 @@ Pseudocode for SetLossDetectionTimer follows:
-    // RTO or TLP timer
-    // Calculate RTO duration
+    // PTO timer. Calculate PTO duration

Nit: I feel like having either `PTO timer` or `Calculate PTO duration` would be cleaner. Having both seems a bit overdone.

-## Retransmission Timeout
+A PTO expiration is classified as spurious or valid when an ACK frame is
+received that newly acknowledges packets in flight, see {{pto-loss}}.  On a
+valid PTO, the congestion window MUST be reduced to the minimum congestion
+window and slow start is re-entered.

Just to confirm my understanding, this is a difference from TLP before, right? Before this change, if TLP triggered and you sent a probe packet that elicited an ACK for just that packet, you wouldn't go back into slow start, but now an ACK for only the first probe packet would trigger slow start. Correct?

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