Re: [quicwg/base-drafts] Add note about stale ACK frames breaking ECN (#2879)

Jana Iyengar <notifications@github.com> Tue, 09 July 2019 23:37 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 [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8C2BB120020 for <quic-issues@ietfa.amsl.com>; Tue, 9 Jul 2019 16:37:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8
X-Spam-Level:
X-Spam-Status: No, score=-8 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_HELO_NONE=0.001, 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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0KuYT-nCwOsy for <quic-issues@ietfa.amsl.com>; Tue, 9 Jul 2019 16:37:24 -0700 (PDT)
Received: from out-22.smtp.github.com (out-22.smtp.github.com [192.30.252.205]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9450F120046 for <quic-issues@ietf.org>; Tue, 9 Jul 2019 16:37:24 -0700 (PDT)
Date: Tue, 09 Jul 2019 16:37:23 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1562715443; bh=+q5w756o+owWqWJqDIkVHgjwGMQd5vjBPHezB9V6iEE=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=HWzHg7YOnPw6iiJV7SchgnTRAXNYJpWxJaK444y5LCyqgforwZOBBIFXcdh2Ri+H9 MoA/sjl23RAS1+DJO7orAZO5dV0qbDrnEkTfErcmg/bY4vZa18QwmAgJof0gBCeW8M FiFbziDA1R+YnVQKNbSLZ8TD2WAn/ssI2UQ1nAp4=
From: Jana Iyengar <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK4CIN5MPR726K63AYN3GJL3HEVBNHHBXP7DOI@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2879/review/259809821@github.com>
In-Reply-To: <quicwg/base-drafts/pull/2879@github.com>
References: <quicwg/base-drafts/pull/2879@github.com>
Subject: Re: [quicwg/base-drafts] Add note about stale ACK frames breaking ECN (#2879)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5d25253345f9e_7cc03fc3274cd96476895f"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: janaiyengar
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/_zVv0YO22leyTV3X8x68zE9CS1w>
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: Tue, 09 Jul 2019 23:37:28 -0000

janaiyengar commented on this pull request.



> @@ -3154,11 +3154,13 @@ to be greater than the number of packets acknowledged in an ACK frame.  When
 this happens, and if verification succeeds, the local reference counts MUST be
 increased to match the counts in the ACK frame.
 
-Processing counts out of order can result in verification failure.  An endpoint
-SHOULD NOT perform this verification if the ACK frame is received in a packet
-with packet number lower than a previously received ACK frame.  Verifying based
-on ACK frames that arrive out of order can result in disabling ECN
-unnecessarily.
+Processing counts out of order can result in verification failure.  This can
+happen when packets containing ACK frames are reordered in the network, or if a
+sender retransmits an ACK frame with stale information.  An endpoint SHOULD NOT
+perform this verification if the ACK frame is received in a packet with packet
+number lower than a previously received ACK frame or if the ACK frame does not
+acknowledge any new packets. ACK frames that arrive out of order can result in

Summarizing where I think @martinthomson and I are currently. An endpoint only validates ECN counts for ACK frames received where the largest acknowledged increases. This guarantees that the ACK is newer, meaning that ECN counts should be higher... This is only true if we require that the peer SHOULD increase ECN counts only in ACK frames where largest acknowledged is not decreasing. If the peer doesn't, then it risks ECN validation failing.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2879#discussion_r301835287