[quicwg/base-drafts] Persistent congestion period: text and pseudo-code don't agree (#3972)

Jana Iyengar <notifications@github.com> Wed, 29 July 2020 16:15 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 329363A0C21 for <quic-issues@ietfa.amsl.com>; Wed, 29 Jul 2020 09:15:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.1
X-Spam-Level:
X-Spam-Status: No, score=-3.1 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_32=0.001, 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 JuePbUNLxMYt for <quic-issues@ietfa.amsl.com>; Wed, 29 Jul 2020 09:15:56 -0700 (PDT)
Received: from out-26.smtp.github.com (out-26.smtp.github.com [192.30.252.209]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7BB663A0DF1 for <quic-issues@ietf.org>; Wed, 29 Jul 2020 09:15:40 -0700 (PDT)
Received: from github-lowworker-9d2806a.ash1-iad.github.net (github-lowworker-9d2806a.ash1-iad.github.net [10.56.102.50]) by smtp.github.com (Postfix) with ESMTP id 53A215E0E6E for <quic-issues@ietf.org>; Wed, 29 Jul 2020 09:15:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1596039339; bh=TbcPE+i6WyBoSYBqt5/ScMK75giESHl6baRDM78lkB0=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=Z4eI+ugNU/OMHl2c/2JLVgZc27c0y1rvzU5Q5pLLEEhJVqT5mKcOlKzHwb+UQhdsH MCdVoBktHDfsFLu02E8VwpBFIzWEUB8nozjqnUxu8Ghx6Kt4CZAaKcDCN8IZFB2p2J v2TlHMeOYoECEsRV7mg6N1h2N0JNACBxN/Hqa7S4=
Date: Wed, 29 Jul 2020 09:15:39 -0700
From: Jana Iyengar <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK7V527P6DSY5AH22TN5FWA2XEVBNHHCPUC7GA@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/3972@github.com>
Subject: [quicwg/base-drafts] Persistent congestion period: text and pseudo-code don't agree (#3972)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5f21a0ab442a7_5e7916f81056ab"; 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
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/e2ZofhezWySTMkZFTm-7RO0Po7U>
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: Wed, 29 Jul 2020 16:15:59 -0000

We resolved #3875 with #3889, but I realized that it has a problem. The text and the pseudo-code don't agree.

The text says:
```
The persistent congestion period SHOULD NOT start until there is at
least one RTT sample.
```
Since the `persistent congestion period` starts with a packet that was sent in the past, this statement means that persistent congestion only includes packets that were _sent_ after an RTT sample was taken.

The pseudo code says:
```
   InPersistentCongestion(largest_lost):
     // Persistent congestion cannot be declared on the
     // first RTT sample.
     if (is first RTT sample):
       return false
```
This says that the persistent congestion can only be _established_ on the second (or later) ack that yields an RTT sample. This allows for packets that were sent before the first RTT sample was taken to be included in the persistent congestion period.

I had convinced myself that the pseudo-code was adequate, but I missed the fact that the text was not aligned.

-- 
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/issues/3972