[severe interoperability performance issue] D23364: Send CWR only on new data, as per sec. 6.1.2 of RFC3168

Scheffenegger, Richard Richard.Scheffenegger at netapp.com
Thu Apr 16 18:17:24 UTC 2020


I'd like to motivate anyone who reads this to comment on https://reviews.freebsd.org/D23364.

The problem is that trying to actually use ECN with a typical Linux host currently will end up with a race down to very small cwnd values for the FreeBSD host, as our implementation of when the CWR flag is set in not in full accordance with RFC3168 - and Linux is overly restrictive, ignoring this flag completely.

The proposed patch does fix the issue, but there have been concerns voiced around the specifics (e.g. tracking ECN in a separate "recovery" variable in tcpcb - like what SACK started off with, until that variable was largely ignored and fell to disrespect with later SACK code).

I would very much like this fix to also get MFC'ed down to stable/11, as we observe an increasing number of production environments trying to make use of ECN (and this problem is preventing success in that space).

Richard Scheffenegger

More information about the freebsd-transport mailing list