Re: [quicwg/base-drafts] Added more test to NCID section (#3535)

Eric Kinnear <> Thu, 19 March 2020 23:34 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C78EA3A1242 for <>; Thu, 19 Mar 2020 16:34:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.1
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_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 fqzIyWdYlf5p for <>; Thu, 19 Mar 2020 16:34:00 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id A665C3A123F for <>; Thu, 19 Mar 2020 16:34:00 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 9D62D6A1D70 for <>; Thu, 19 Mar 2020 16:33:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1584660839; bh=vhTT/e6ZlUHhd9cXh+mXqfwTxw5nOVdwF7aWUBcL2NI=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=uqpaFmTIXCpMhdHpALvNiYoLnL2oyDNeOf4PIMfVsch3hRksEQHffqc/0L11YggFy dWwQ8a7vLpxO97PI6od+Dkic7Scec3+LL9GJtkvqQCGQtFnxXf8rL+8SOk6nz8mW75 FbnuG1axgVxO1G5cxWgWG39blGquKU9RWwCIi7F4=
Date: Thu, 19 Mar 2020 16:33:59 -0700
From: Eric Kinnear <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/3535/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Added more test to NCID section (#3535)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5e7401678d414_7e943fc5f54cd95c518ef"; charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: erickinnear
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, 19 Mar 2020 23:34:03 -0000

erickinnear commented on this pull request.

> @@ -5579,8 +5585,8 @@ value.
 An endpoint that receives a NEW_CONNECTION_ID frame with a sequence number
 smaller than the Retire Prior To field of a previously received
 NEW_CONNECTION_ID frame MUST immediately send a corresponding
-RETIRE_CONNECTION_ID frame that retires the newly received connection ID.
+RETIRE_CONNECTION_ID frame that retires the newly received connection ID,
+unless it has already done so for that sequence number.

Was the concern about doing this multiple times, or was it about the `immediately` part? That still wasn't clear based on the discussion on the list.

> @@ -5571,6 +5571,12 @@ Retire Prior To field MUST be less than or equal to the Sequence Number field.
 Receiving a value greater than the Sequence Number MUST be treated as a
 connection error of type FRAME_ENCODING_ERROR.
+Endpoints that receive a NEW_CONNECTION_ID frame SHOULD NOT retire connection

I honestly find this (and that it is normative language) more confusing than not: it's incredibly specific about the requirement, and that requirement is the exact inverse requirement of Retire Prior To -- I get that that's the point, but the phrasing leads me down a confusing path. 
I went to suggest an alternative for wording (and a new location away from the frame mechanics and as the second to last paragraph of `{{retiring-cids}}`), but I'm struggling to find anything here that doesn't seem to cause additional confusion. 

I'm not quite seeing how any reading of the Retire _PRIOR_ To text leads one to try and retire all of the CIDs that aren't _PRIOR_ to the value received. From the description of the issue you ran into, the problem was less around RPT at all and more than you tried to throw away all other CIDs when you got a NCID frame, which might be something worth mentioning but is not this text.

Text more to that effect would probably go best around the active_cid_limit discussion where we indicate that you should probably keep as many as you said you would be willing for the peer to send you.

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