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

Mirja Kuehlewind <> Wed, 17 March 2021 18:01 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 2D00D3A0EBA for <>; Wed, 17 Mar 2021 11:01:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id sKSIRx5gYOA1 for <>; Wed, 17 Mar 2021 11:01:23 -0700 (PDT)
Received: from ( [IPv6:2a01:488:42:1000:50ed:8223::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 75ECE3A0EAF for <>; Wed, 17 Mar 2021 11:01:23 -0700 (PDT)
Received: from ([2003:de:e71f:e600:f85f:6966:2fd7:c281]); authenticated by running ExIM with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) id 1lMaTu-0004e2-Qa; Wed, 17 Mar 2021 19:01:18 +0100
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.\))
From: Mirja Kuehlewind <>
In-Reply-To: <>
Date: Wed, 17 Mar 2021 19:01:18 +0100
Cc: Bob Briscoe <>, Yoshifumi Nishada <>, tcpm IETF list <>
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <>
To: Yoshifumi Nishida <>
X-Mailer: Apple Mail (2.3608.
X-HE-SMSGID: 1lMaTu-0004e2-Qa
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: Wed, 17 Mar 2021 18:01:25 -0000

This is a corner concern case; and you shouldn’t retransmit a second time if more dupACK are received within the next RTT.

> On 17. Mar 2021, at 06:47, Yoshifumi Nishida <> wrote:
> Hi Mirja,
> On Tue, Mar 16, 2021 at 9:50 AM Mirja Kuehlewind <> wrote:
> Hi all,
> Actually I think there is no problem if a ACK on an ACK is misinterpreted as dup ACK. What happens if a dupACK is detected? The cwnd is decreased and lost data is retransmitted. However, the cwnd was either already decreased with the first ACK and would not be decreased again for the next RTT (in case of Reno-like cc), or should be decreased anyway because the ACK carries a new CE feedback. I guess we could note that one should not decrease twice because if the information in the same ACK (being dup and CE counter). However, there will be no retransmission because there is no outstanding non-acked data given the received ack'ed only an ACK and no new data. So in summary, there is no problem here with dupACK generated in response to a pure CE-marked ACK that needs to be addressed in any way.
> I personally am not very fine with dup acks is being misinterpreted 
> This might be another corner case, but here's an example I've thought.
> When a sender sent one data packet D1 and bunch of acks (say 30), and D1 is lost, all acks have CE marks.
> In my understanding, this will generate 10 dup acks that request D1 with (B) 
> In this case, sender retransmits D1 after 3rd dupacks and it will still receive 7 dupacks.
> These 7 dup acks might trigger another transmission of packets on some implementations. 
> This is because RFC5681 states:
> .  For each additional duplicate ACK received (after the third),
>        cwnd MUST be incremented by SMSS.  This artificially inflates the
>        congestion window in order to reflect the additional segment that
>        has left the network.
> RFC5681 also states:
>    since the receiver can only generate a
>    duplicate ACK when a segment has arrived, that segment has left the
>    network and is in the receiver's buffer, so we know it is no longer
>    consuming network resources.
> But, I think this doesn't fit the logic in the doc very well. We might want to add some texts for this if we choose (B)
> --
> Yoshi