Re: [quicwg/base-drafts] Fix to ECN section regarding validation (#2113)

Magnus Westerlund <> Wed, 12 December 2018 16:48 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 0A7DA12F1A5 for <>; Wed, 12 Dec 2018 08:48:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.46
X-Spam-Status: No, score=-9.46 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.46, 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: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id XkVxXrZFdavL for <>; Wed, 12 Dec 2018 08:48:04 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 040BC128D09 for <>; Wed, 12 Dec 2018 08:48:04 -0800 (PST)
Date: Wed, 12 Dec 2018 08:48:02 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1544633282; bh=JdOhNX1vVPMSj8CILyw6Nctb6d1jy9hJvvl42ZjxYpI=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=LSHlfdrw0d47iCMZxdV5UyTkdSA8xzF6yjWG1ZDPqww0RbLkYgS+Vz6LxFbFCU0wH de8f2qTrfWOb6JQCU8aaOc7R2xgMQBN2P/vSp8Tcai6nr5TjVlzj5pgp/Ao1Jz+ReY 4KYyGaTJ+rFPmjZwGCCfyBxSkI0gvdnu7mPDlB2Q=
From: Magnus Westerlund <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/2113/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Fix to ECN section regarding validation (#2113)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c113bc23da78_37623f8d8fed45c01000415"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: gloinul
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: Wed, 12 Dec 2018 16:48:06 -0000

Benjamin Saunders did point out that if one have ACKs with none overlapping ACK ranges and they get reordered there is still an issue with performing the comparison in some cases. Example:

Receiver sent: 
ACK:1  PN:1,2,3,4 ECT(0)=4, ECT(1)=0, CE=0
ACK:2  PN:5,6,7,8 ECT(0)=8, ECT(1)=0, CE=0
ACK:3  PN:9,10,11 ECT(0)=11, ECT(1)=0, CE=0

Sender receives:
ACK:1  PN:1,2,3,4 ECT(0)=4, ECT(1)=0, CE=0
ACK:3  PN:9,10,11 ECT(0)=11, ECT(1)=0, CE=0
ACK:2  PN:5,6,7,8 ECT(0)=8, ECT(1)=0, CE=0

Local Reference Counters: 0,0,0
1: Comparison ECT(0)_diff=4, Newly ACKed=4 (with ECT(0)) OK
Local Reference Counters: 4,0,0
3: Verification ECT(0)_diff=7, Newly ACKEd=3
Local Reference Counters: 7,0,0 (Based on ACKed packets)
Local Reference Counters: 11,0,0 (Latest Received ACK)

2: Verification ECT(0)_diff=1 or -3 (Based on ACKed, vs Latest Received).
Newly ACKed=4
Comparison fails if run.  

So the question is how to deal with this. From my perspective there are multiple implementation strategies that could solve this. So my question is should we mandate any particular or simply try to illustrate the issue. I think the most straight forward and which I don't so far sees any flaws with are:

- Don't perform verification with ACK frames that on arrivial is not highest PN seen. 


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