From: Dave Taht <dave.taht@gmail.com>
To: ECN-Sane <ecn-sane@lists.bufferbloat.net>
Subject: [Ecn-sane] Fwd: Fw: [Bug 206319] New: ECN header flag processing overly restrictive in TCP
Date: Tue, 28 Jan 2020 14:55:52 -0800 [thread overview]
Message-ID: <CAA93jw4gZhASaHBkdFC7ns-+ZRs-g_DoSE1kXQ4hBdeNRjjt3Q@mail.gmail.com> (raw)
In-Reply-To: <20200127054830.53973d51@hermes.lan>
My understanding from reading rfc3168 is that the retransmit should be
unprotected and yes! sometimes force a RTO should the link be so
overburdened as to need to drop packets or back off hard. The idea
that marking retransmits with ECT(0) might save on retransmits is
irrelevant, although I wish modern tcps would somehow drop down to a
cwnd of 1 under extreme congestion.
https://reviews.freebsd.org/D23118
---------- Forwarded message ---------
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, Jan 27, 2020 at 5:48 AM
Subject: Fw: [Bug 206319] New: ECN header flag processing overly
restrictive in TCP
To: <netdev@vger.kernel.org>
Begin forwarded message:
Date: Mon, 27 Jan 2020 08:15:36 +0000
From: bugzilla-daemon@bugzilla.kernel.org
To: stephen@networkplumber.org
Subject: [Bug 206319] New: ECN header flag processing overly restrictive in TCP
https://bugzilla.kernel.org/show_bug.cgi?id=206319
Bug ID: 206319
Summary: ECN header flag processing overly restrictive in TCP
Product: Networking
Version: 2.5
Kernel Version: HEAD
Hardware: All
OS: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: Other
Assignee: stephen@networkplumber.org
Reporter: rscheff@gmx.at
Regression: No
RFC3168 states, that a CWR flag "SHOULD" be *sent* together with a new data
segment.
However, linux is processing the CWR flag as data receiver ONLY when it arrives
together with some data (but apparently does accept it on retransmissions).
This has been found to be an interoperability issue with *BSD, where the CWR is
sent as quickly as possible, including on pure ACKs (or retransmissions) so
far. That deviation from RFC3168 there is reported at
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243231
Nevertheless, CWR processing as receiver should be less restrictive, to meet
the sprit of Postels Law: "Be liberal in what you accept, and conservative in
what you send."
This has been demonstrated to be a dramatic performance impediment, as the data
receiver (linux) keeps the ECE latched, while *BSD interprets the additional
ECE flags as another round of congestion. To which the data sender reacts by
continous reductions of the congestion window until extremely low packet
transmission rates (1 packet per delayed ACK timeout, or even persist timeout
(5s) are hit, and kept at that level for extensive periods of time.
Discussed this issue with Neal and Yuchung already, this bug report is to track
the issue in the field (impacted environments).
--
You are receiving this mail because:
You are the assignee for the bug.
--
Make Music, Not War
Dave Täht
CTO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-831-435-0729
parent reply other threads:[~2020-01-28 22:56 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <20200127054830.53973d51@hermes.lan>]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/ecn-sane.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAA93jw4gZhASaHBkdFC7ns-+ZRs-g_DoSE1kXQ4hBdeNRjjt3Q@mail.gmail.com \
--to=dave.taht@gmail.com \
--cc=ecn-sane@lists.bufferbloat.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox