Re: [tcpm] CUBIC rfc8312bis / WGLC Issue 3

Markku Kojo <> Tue, 14 June 2022 15:52 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C25E1C15AAC2; Tue, 14 Jun 2022 08:52:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.01
X-Spam-Status: No, score=-2.01 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=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 7Ps15CP4Y9bW; Tue, 14 Jun 2022 08:51:56 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id CA0AFC14F74A; Tue, 14 Jun 2022 08:51:54 -0700 (PDT)
X-DKIM: Courier DKIM Filter v0.50+pk-2017-10-25 Tue, 14 Jun 2022 18:51:46 +0300
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; h=date:from:to:cc:subject:in-reply-to:message-id:references :mime-version:content-type:content-id; s=dkim20130528; bh=b75r7v 3opFI36nWKHYORVb58FdjPtldh86auvdSKaO8=; b=K4K/yqOnDMdq0AzzuGkMda PKMNFctA36BRQnFJUnzfNmVdzixZQ5d1Uov/tfoBSl0rEj/xT4l6OsnGVBYXfWGS auCX/VdNyDoI5c02N0tc4zP2wocqPW1mc8XUwPqON7EdKAkWeGI8vQNc0xyVpwwv xk4tcGNFSeNscFNzDQ0C8=
Received: from hp8x-60 ( []) (AUTH: PLAIN kojo, TLS: TLSv1/SSLv3,256bits,AES256-GCM-SHA384) by with ESMTPSA; Tue, 14 Jun 2022 18:51:46 +0300 id 00000000005A0A04.0000000062A8AE92.00002EC1
Date: Tue, 14 Jun 2022 18:51:44 +0300
From: Markku Kojo <>
To: Neal Cardwell <>
cc: " Extensions" <>, tcpm-chairs <>
In-Reply-To: <>
Message-ID: <>
References: <>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=_script-11994-1655221906-0001-2"
Content-ID: <>
Archived-At: <>
Subject: Re: [tcpm] CUBIC rfc8312bis / WGLC Issue 3
X-Mailman-Version: 2.1.39
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: Tue, 14 Jun 2022 15:52:00 -0000

Hi Neal,

thank for your proposal. Note that I moved your proposal here under the 
thread on Issue 3 which it is related to (see below).

On Tue, 14 Jun 2022, Markku Kojo wrote:

> Hi all,
> this thread starts the discussion on the issue 3: the incorrect way of
> setting alpha to 1 when in the fast convergence mode within the Reno-friendly 
> region (Issue 3 a) and the issue of setting Wmax for a congestion event 
> arriving when in slow start (Issue 3 b):
> 3 a) The rule for changing alpha to 1 when Wmax is reached in the
>     Reno-friendly region is the correct thing to do during the normal
>     steady state. However, it is incorrect action to take when in the
>     fast convergence mode within the Reno-friendly region because it
>     would act just *opposite* to what CUBIC should do when in the fast
>     convergence mode; instead of slowing down the increase rate during
>     congestion avoidance it actually accelerates because alpha becomes
>     increased to 1 earlier than when not in the fast convergence mode.
>     This seems an obvious mistake with the quite recent modifications
>     to the rfc8312bis.

On Mon, 6 Jun 2022, Neal Cardwell wrote:

> Markku, thank you for your clear and comprehensive write-up.
> Regarding this particular, somewhat easier point:
> I agree this seems like a clear and straightforward thing to fix.
> Indeed, my current draft Linux TCP CUBIC patch series for this
> "changing alpha to 1" mechanism already uses your suggested approach,
> and it seems to behave sensibly.
> I have posted a proposed pull request to try to encode this in the
> draft:
> Please take a look and see what you think. Thanks!
> neal

This seems to correct the issue, thanks. It would be useful to introduce 
prior_cwnd in section 4.1.2 as already discussed in the github pull 
request. Also needs text specifying the initialization in other 
case than "congestion event". This also seemed to attention in 

Note that this fixes the problem of CUBIC taking an action opposite what 
it should take. Even after fixing this, there is no "fast convergence" 
for CUBIC when it is in the Reno-friendly region, as the fast convergence 
only has some effect when CUBIC operates in the "genuine" CUBIC mode.
But this issue relates to Issue 4 and discussion on it should be continued 



> 3  b) Wmax needs to be set differently for a congestion event arriving
>     when in slow start and when in congestion avoidance
>     If Wmax is set for a congestion event arriving when in slow start
>     like currently specified, it results in Wmax with a value that is
>     two times higher than the intended Wmax value (the co-authors who
>     are the original developpers of CUBIC have agreed on this).
> Thanks,
> /Markku