[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
Hi,
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