Re: [PATCH net-next] tcp: Accept ECT on SYN in the presence of RFC8311

From: Neal Cardwell
Date: Wed Apr 03 2019 - 11:39:54 EST


On Wed, Apr 3, 2019 at 9:50 AM Tilmans, Olivier (Nokia - BE/Antwerp)
<olivier.tilmans@xxxxxxxxxxxxxxxxxxx> wrote:
>
> Linux currently disable ECN for incoming connections when the SYN
> requests ECN and the IP header has ECT(0)/ECT(1) set, as some
> networks were reportedly mangling the ToS byte, hence could later
> trigger false congestion notifications.
>
> RFC8311 Â4.3 relaxes RFC3168's requirements such that ECT can be set
> one TCP control packets (including SYNs). The main benefit of this
> is the decreased probability of losing a SYN in a congested
> ECN-capable network (i.e., it avoids the initial 1s timeout).
> Additionally, this allows the development of newer TCP extensions,
> such as AccECN.
>
> This patch relaxes the previous check, by enabling ECN on incoming
> connections using SYN+ECT if at least one bit of the reserved flags
> of the TCP header is set. Such bit would indicate that the sender of
> the SYN is using a newer TCP feature than what the host implements,
> such as AccECN, and is thus implementing RFC8311. This enables
> end-hosts not supporting such extensions to still negociate ECN, and
> to have some of the benefits of using ECN on control packets.
>
> Signed-off-by: Olivier Tilmans <olivier.tilmans@xxxxxxxxxxxxxxxxxxx>
> Suggested-by: Bob Briscoe <research@xxxxxxxxxxxxxx>
> Cc: Koen De Schepper <koen.de_schepper@xxxxxxxxxxxxxxxxxxx>

Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx>

Thank you for this patch, Olivier and Bob.

thanks,
neal