Re: [quicwg/base-drafts] Limit RCID state (#3547)

martinduke <> Thu, 26 March 2020 22:03 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 49F503A09E1 for <>; Thu, 26 Mar 2020 15:03:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.696
X-Spam-Status: No, score=-1.696 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_28=1.404, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, SPF_HELO_NONE=0.001, 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 YeUuUxlwT07I for <>; Thu, 26 Mar 2020 15:03:21 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 88BD43A0437 for <>; Thu, 26 Mar 2020 15:03:21 -0700 (PDT)
Date: Thu, 26 Mar 2020 15:03:20 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1585260200; bh=uJiw1+GpxGK2p1cPUD8w3mpo+Nc+vNjMDP4fLqK9W0w=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=PJRvNMjQUv0rv4oy4tirT0AsI3yANlRC2Nr3MkBXASrVJQt5y7vdv1hpH1IWigbwi JA0OMLDbxpl5YA3win+33CpyqaYnMZVlFao71nkx3fJLqsEAHZU6FVmZOzeCUTA6sx HFNkuQmS453DGqHFkX4h7fRGyx/woQdIxJDayWjU=
From: martinduke <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/3547/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Limit RCID state (#3547)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5e7d26a81ca69_2fe33ff65fccd9641244e8"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinduke
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: Thu, 26 Mar 2020 22:03:24 -0000

@martinduke commented on this pull request.

> @@ -1069,6 +1069,18 @@ to cease using the connection IDs when requested can result in connection
 failures, as the issuing endpoint might be unable to continue using the
 connection IDs with the active connection.
+An endpoint MAY elect to only send or retransmit RETIRE_CONNECTION_ID frames
+with sequence numbers greater than or equal to the highest Retire Prior To field
+received minus its advertised active_connection_id_limit. This bounds the
+necessary state at the endpoint. For example, if an endpoint receives a Retire
+Prior To field of 7 and has an advertised active_connection_id_limit of 4, it
+may cease sending any RETIRE_CONNECTION_ID frame with sequence number less than

The value of RCID is to let the receiver know that it will never receive a packet with that CID again, barring packet reordering. (one could use an ACK of NCID as an implicit signal, though we don't do that in QUIC). I think we want to preserve that. If the language I wrote puts clients in the situation where they're not getting all the RCIDs, it's because they are buggy, malicious, or in a pretty extreme corner case.

Moreover your suggestion is a wider departure from the spec, likely to create more problems for existing implementations.

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