[quicwg/base-drafts] f14448: Fix the AllPacketsLost thing too
Martin Thomson <noreply@github.com> Wed, 19 August 2020 00:57 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 231913A107A for <quic-issues@ietfa.amsl.com>; Tue, 18 Aug 2020 17:57:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.101
X-Spam-Level:
X-Spam-Status: No, score=-2.101 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, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 ru76jCVJQLMT for <quic-issues@ietfa.amsl.com>; Tue, 18 Aug 2020 17:57:01 -0700 (PDT)
Received: from out-15.smtp.github.com (out-15.smtp.github.com [192.30.254.198]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 19F753A1077 for <quic-issues@ietf.org>; Tue, 18 Aug 2020 17:57:01 -0700 (PDT)
Received: from github-lowworker-6349a71.ac4-iad.github.net (github-lowworker-6349a71.ac4-iad.github.net [10.52.18.20]) by smtp.github.com (Postfix) with ESMTP id 8634F7A03F5 for <quic-issues@ietf.org>; Tue, 18 Aug 2020 17:57:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1597798620; bh=jHmV+inHxmgZHw4LBRFnW0SlXZfKcoaonp0/A2x8fV4=; h=Date:From:To:Subject:From; b=QzU7RmWiBhE0EMOhAtzh1lUpT8NV6Ra8ta/LhOZGUM0w2RZCttMaE77IuMmMPNIVQ pULAMo+y7PM2frvzSmoYzSOtcaQmXO0lBAfSk0ZYb/1dThl+dwQ4PK40t/ZBniTJnV 1cOR0q2EtIol/mVbW7A+NuPbVVkxjUmzVYuzWcP4=
Date: Tue, 18 Aug 2020 17:57:00 -0700
From: Martin Thomson <noreply@github.com>
To: quic-issues@ietf.org
Message-ID: <quicwg/base-drafts/push/refs/heads/pc-starts-now/033500-f14448@github.com>
Subject: [quicwg/base-drafts] f14448: Fix the AllPacketsLost thing too
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-GitHub-Recipient-Address: quic-issues@ietf.org
X-Auto-Response-Suppress: All
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/3_JO00JN6fd3M2kaaq9-EJd10bs>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
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, 19 Aug 2020 00:57:02 -0000
Branch: refs/heads/pc-starts-now Home: https://github.com/quicwg/base-drafts Commit: f14448146246f4296e9853f0969aaae7279f3c6c https://github.com/quicwg/base-drafts/commit/f14448146246f4296e9853f0969aaae7279f3c6c Author: Martin Thomson <mt@lowentropy.net> Date: 2020-08-19 (Wed, 19 Aug 2020) Changed paths: M draft-ietf-quic-recovery.md Log Message: ----------- Fix the AllPacketsLost thing too This turned out to be really tricky. There is still a "cheat" here in a function I called `FindLargestContiguousLoss`, which requires comments. I did manage to address the problem of doing this across packet number spaces by introducing a global variable. That variable now collects all lost packets into a single place. However, doing that means that you need to clear it out occasionally, or you declare persistent congestion all the time. This only clears it out each time you declare persistent congestion, which is massively inefficient. I hope people realize that, but it didn't seem appropriate as the best fix I could come up with requires breaking down the clean separation of congestion control and loss recovery parts. (That fix is to reset this persistent congestion collection if the largest acknowledged increases, but after running the persistent congestion check. That requires that the loss recovery code and congestion control code be interleaved in awkward ways. Maybe there is a simpler approach, but I can't think of one right now.) cc @ianswett, @janaiyengar
- [quicwg/base-drafts] f14448: Fix the AllPacketsLo… Martin Thomson