Re: [tcpm] Seeking WG opinions on ACKing ACKs with good cause (was: Possible error in accurate-ecn)

"Scheffenegger, Richard" <> Thu, 18 March 2021 20:50 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5A6AA3A3417 for <>; Thu, 18 Mar 2021 13:50:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H2=-0.001, 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 XKWTdXvRCmFG for <>; Thu, 18 Mar 2021 13:50:35 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id E88263A3414 for <>; Thu, 18 Mar 2021 13:50:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;; s=badeba3b8450; t=1616100630; bh=uZWNTCkLLPqrR86WWqHWt33Hih8Ual7tBhQ8Y44aD3s=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=V6us/IsBXn+p3yYCZT4uNvOcn4/SBId814YQTp7hJpQzCgVrTWlTZhJnfoMJ5/6Xw Vo7WIysOqG7LO+IbDEaVK7BIBCY97wl+Z75fhor4nYWX0KxE9CcOqe5ppfonMJJOr3 EoiW1gd2953UE7jKbclNRdMJ0mxbydkBXHvH6b8g=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [] ([]) by (mrgmx105 []) with ESMTPSA (Nemesis) id 1MrhUK-1m1Ut01mjM-00nfcF for <>; Thu, 18 Mar 2021 21:50:30 +0100
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <>
From: "Scheffenegger, Richard" <>
Message-ID: <>
Date: Thu, 18 Mar 2021 21:50:27 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:+h/XsW5U+OW8VotYH3qdkSnac2tJtTYhf4cBbejyPTa1fKEiLZ0 dmq4JKmO6j0I90GXNTLGDRouahgYJiYZp3PaPrbwi3vreYFppkLzvVj3yB/0M2paE7Wn7K7 u4Xbn2ymSWpaTWUlG5o/OFSmiYLJYxjLTpxaNB0tZ9VjvuBZnSLaiZVV5tXxonIc/SUJAI3 ywm94ZDryXEc2vmMAzbMw==
X-UI-Out-Filterresults: notjunk:1;V03:K0:C71+NEjskKE=:TWp0YQ057hq84TPQodUaV1 IWugqs7X2wV4qaxRX7msDISi7YvjFINrE4ZTSeUlOLWCR2ozS1ZbVULWofeNSPhTi6d3Sgk2K 8nAOifmmuHo/1Kkw0SF9ryBkH7yRxtDpV9sHxZxytQtgtq9FJXhhGvhFbkbybPkMvce6+XT+0 CZ1wVNLXJOtPAxHK0OstyjYHW8ay7KqBjJ4llf9j3S6wACnv9luf+djhbV4JQM1Xn87mu5Xu7 RipNsQ5GeM4UQZKEY/WF5xwDQSTWHrgF8Zcg2OVi4W9DKHHoBtOK+EiVzXq9kRzfbjfOGEXYe 9HNno7pmdhJKpQJuodbz2S4nNBrecXE7BlPvfdYh8QvaD9eemedL9NRhnvBEOeYIB9KXihuI1 sWMDgVT3FBhTH/0ieV1XZgVnuduT32tA/W8Y6RDAV1roxk8B0xOTuyq5ZeZNYWlE8pJzQ7WSR uY4kBBmMPwQqQdFbafDOiO/AhJbi+xmsobJSCtj/dKzOFD3tgQGEk7HbxpLDFoTybLfDkPtk1 YkmMDkux+STHhR8xtaJvpECd+pHQei6U0MwsV8lC2DBo5KwaLqSWPSJr1j1IVx2D/eqaeZUGZ DZ+I1DbIQH4Vzg2cajEK30m6C8DAig8Hz1xaRDnNapLvrUIw999J6R99td+WFXHugp2/YIlca ICdyaSfPyiXcgGhIYq2Mr1iM3su9eVjKgsxsWdI1lHL+3ev4V99qGOV1xy4GLtLFHwTUO7FDO ulAUrkArQC/HZLU8OhGtJOzduIFzvS6oGKm6CeQq3kSz/gp7RjWbCRaOLp6wFJYBiZzyF9/JE kQKCXddpeY40daU6+N0vRWB5agABGPUrRzvO37bwpsW/XhIpyFbug3/hDfNIc+IRWh1ORI4sR pxu2L841rynrWFlYCeUA==
Archived-At: <>
Subject: Re: [tcpm] Seeking WG opinions on ACKing ACKs with good cause (was: Possible error in accurate-ecn)
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 18 Mar 2021 20:50:37 -0000

Hi Mirjy, Vidhi,

>> Sure. But if the sender (who was receiver before) has already sent out data right after the pure ACKs, there will be outstanding data before the ACK for pure ACK (or DupACK as there is outstanding data) is received from the peer, right?
> I see. That means you send a whole bunch of Pure ACKs and then some data in the same RTT. In this case it would actually be nicer to wait for the data packet instead of sending a pure ACKs. Maybe should should rather use always some thing like a delayed ACK timer for pure ACK rather then saying we need to ACK each nth pure ACH?

Introducting an additional delay is further reducing the risk. (And it
would be relatively easy to implement, reusing existing functions.) But
remember we started out with the (unlikely, and rather pathological
corner case, where a re-routing event coincides with when the ACKs get
sent out, redirecting them over a path which marks near 100% of these
very small pure ACKs with CE - while the former sender has send a window
of packets of size 3*n (at least).

And yes, slightly holding off for sending the ACKs-for-CE-marked-ACKs
(e.g. activating the delayed ACK timer, or when the n+1'th CE-marked ACK
is received) further reduces the probability to trigger this.

As will the use of SACK and TSopt (I don't know recent numbers, but
suspect that a vast majority of TCP flows is currently used one or the
other (or both) of these TCP options.

All that, to avoid a spurious Retransmission (spurious retransmissions
do happen currently much more often for much more begning reasons, like
RTT step changes) - while the congestion control reaction is actually
the intended, and correct behavior. So that non-SACK (non-TS) sender is
only "behind" by one segment, which may have been a new data segement

I suspect this discussion is really about the mite-hole at the end of an
ant-hole, at the end of a rat-hole, at the end of a rabbit-hole ;)

At least I can not think of a realistic scenario, which is expected to
be encountered in a future L4S/SCE (shallow, instanteous marking)
environment, that would run into such a pathological setup on a regular
basis. But perhaps there are some...

(Extremely high RTT, very large BDP links, with cwnd measured in 100s of
segments, and extreme congestion of a shared-use return path, perhaps?
Still not convinced that here the marking will hit dominantely pure ACKs
(and not data segments of significantly larger size), and in
sufficiently high number to cross the 3*n (or, with delay, 4*n) threshold.

Yoshi, do you have a scenario in mind, where this effect may be relevant
or even dominant?

Best regards,