Bug 243234 - TCP/ECN - RTO retransmissions sent without CWR flag in newreno and cubic
Summary: TCP/ECN - RTO retransmissions sent without CWR flag in newreno and cubic
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Some People
Assignee: Michael Tuexen
URL: https://reviews.freebsd.org/D23119
Keywords: needs-qa
Depends on:
Reported: 2020-01-09 22:19 UTC by Richard Scheffenegger
Modified: 2020-01-25 15:23 UTC (History)
4 users (show)

See Also:
koobs: mfc-stable12?
koobs: mfc-stable11?


Note You need to log in before you can comment on or make changes to this bug.
Description Richard Scheffenegger freebsd_committer 2020-01-09 22:19:44 UTC
While investigating performance implications of RTO on ECN-enabled TCP flows, it was noted that the recovery from a lost retransmission - using the RTO timeout - is sent without the CWR flag in the TCP header (but the IP ECT codepoint is cleared).

Linux has a similar misbehavior, but there it appears that someone tied the signaling of TCP ECN header flags to the setting of the IP header ECT codepoints - which is not correct though.

dctcp has explicit code in its _cong_signal handler, to mark the RTO retransmission explicitly with the CWR flag.
Comment 1 Richard Scheffenegger freebsd_committer 2020-01-20 23:09:31 UTC

Reviews and comments more than welcome
Comment 2 Michael Tuexen freebsd_committer 2020-01-25 15:23:14 UTC
Fixed in base r357116.