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

ianswett <> Fri, 27 March 2020 13:05 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 06B7F3A0885 for <>; Fri, 27 Mar 2020 06:05:10 -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 dBYCCsQ6qRJd for <>; Fri, 27 Mar 2020 06:05:02 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id D8EEC3A0883 for <>; Fri, 27 Mar 2020 06:04:56 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id A36F696071E for <>; Fri, 27 Mar 2020 06:04:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1585314295; bh=N+2Gu+f8NVcJ3aNRpjB05nRg+EcHJBaaFACGaH0hmag=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=iMGcFhQWEy4cRPbeyByrv/5+Ohihqu62G+INGnfX7nP8NXIufXY7P2XpXvNZJtdJe dmYDBFL4EKa/Fh/XR9CROkxr0Cg1dtlIZWt0poMTIIlfnr2EQPYwhcMJSSyRJO4QRe 1LdfJBLPr83NZzol2ZL3ZNdEv85noIqQ9lh9Pcz8=
Date: Fri, 27 Mar 2020 06:04:55 -0700
From: ianswett <>
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_5e7df9f794080_66c23f9f64acd968754c7"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: ianswett
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: Fri, 27 Mar 2020 13:05:10 -0000

@ianswett 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

I don't want to force retirement to be in multiple phases in edge cases like this, but I think it's fine to limit RCID to max_connection_id_limit outstanding frames.  Later, when some RCID frames get acknowledged, check if there are more CIDs that need retiring.  The case when the limit is exceeded needs to be handled in some way, so I'd rather have that code hit very infrequently than basically never.

An alternative I'd be ok with is to use max_connection_id_limit*2 and if the limit is exceeded, close the connection.  I don't see a problem with that, as we have limits like that already in our code, and it's very simple.  But it's fairly different from what we've been discussing.

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