[quicwg/base-drafts] Handle crypto timer before time threshold timer (#2619)

Yang Chi <notifications@github.com> Mon, 15 April 2019 02:55 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 []) by ietfa.amsl.com (Postfix) with ESMTP id D8BD112007C for <quic-issues@ietfa.amsl.com>; Sun, 14 Apr 2019 19:55:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.001
X-Spam-Status: No, score=-8.001 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, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, 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 ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id iUZbTCVwVEv8 for <quic-issues@ietfa.amsl.com>; Sun, 14 Apr 2019 19:55:40 -0700 (PDT)
Received: from out-4.smtp.github.com (out-4.smtp.github.com []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 163C212004E for <quic-issues@ietf.org>; Sun, 14 Apr 2019 19:55:40 -0700 (PDT)
Date: Sun, 14 Apr 2019 19:55:38 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1555296938; bh=J8C+lqXPCWTqkeXfBN/8BJ/16znhXQkBz+iqCyerMvg=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=mo9TUF4mBEXe7ih5uPEJhjVQtAwIEL/UcW86RLREifGyvgjtucTmWqk6oQPd55c5n 65TjnQwJlFWXFxM9e0FcF0+CdtEbaD0buvpPjm8n+o9RTsrC4kw+AnQ+isD/ISPSBB uyKHhFY05Mq939HgzMndEAXcB36i/jur9TD5zDLQ=
From: Yang Chi <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4abf9f59d3796b54a27dd4204cfa9e7036b4d97e16592cebac1252a92a169ce19d0305d@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2619@github.com>
Subject: [quicwg/base-drafts] Handle crypto timer before time threshold timer (#2619)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5cb3f2aa9d1c6_51853fa84dcd45bc460717"; charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: yangchi
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/vfvkngSBzcIfpsOmJCv9Jgs5suw>
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, 15 Apr 2019 02:55:42 -0000

This is for issue 2565. This is the behavior until draft-17 i think. Crypto always had higher priority than other packets thus other type of loss detection (reordering threshold, time threshold and early retransmit timeout). Then in draft-17 the reordering threshold and time threshold were merged together. Somehow, loss_time also got a higher priority than crypto timer. With such change it's possible that loss_time fires, there are crypto packets in flight, but not all of them are eligible to retransmit, depending on their sending time and the loss_time value, so we may only retransmit some of them.

This diff brings the old behavior back. Crypto timer will have higher priority than timer threshold loss detection, and when crypto timer fires, if there are outstanding handshake packets, all of them are retransmitted.

This also simplifies the loss_time. There will be no need to have one loss_timer per packet number space, only ApplicationData space will need a loss_time.
You can view, comment on, or merge this pull request online at:


-- Commit Summary --

  * Handle crypto timer before time threshold timer

-- File Changes --

    M draft-ietf-quic-recovery.md (61)

-- Patch Links --


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