Page MenuHomeFreeBSD

tcp: remove superfluous checks for ECN session
AbandonedPublic

Authored by rscheff on Jan 3 2024, 10:22 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Dec 2, 3:38 AM
Unknown Object (File)
Sat, Nov 30, 5:08 PM
Unknown Object (File)
Sat, Nov 23, 6:26 PM
Unknown Object (File)
Sat, Nov 23, 6:18 AM
Unknown Object (File)
Thu, Nov 21, 2:12 PM
Unknown Object (File)
Oct 30 2024, 2:25 PM
Unknown Object (File)
Oct 16 2024, 6:53 PM
Unknown Object (File)
Oct 15 2024, 7:20 AM

Details

Reviewers
cc
tuexen
rrs
Group Reviewers
transport
Summary

When a congestion control reaction is triggered, and the session
is in RFC3168 ECN mode, eventually a CWR should be sent. However,
sending of the TCP Flag is also gated on the same condition - so
it is not needed to validate before setting the internal tracking
flag.

No external functional change.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 55226
Build 52115: arc lint + arc unit

Event Timeline

sys/netinet/tcp_stacks/rack.c
5926

The only thing I find a bit strange about this change is that this now means
if ECN is not negotiated, and there is any type of loss the tflags2 is going to carry
with it forever TF2_ECN_SND_CWR... which should be noted in a comment somewhere
for some future person debugging the stacks...

Discussed in todays transport call, since this is not in the hot path of every packet, and the retention of the internal bit might confuse someone later, it was decided to abandon this change.