Page MenuHomeFreeBSD

Fix bugs in DCTCP on TCP events
ClosedPublic

Authored by rscheff on Jun 7 2019, 12:49 PM.
Tags
None
Referenced Files
F103532805: D20550.id.diff
Tue, Nov 26, 4:44 AM
Unknown Object (File)
Mon, Nov 25, 7:26 PM
Unknown Object (File)
Sat, Nov 23, 8:03 PM
Unknown Object (File)
Sat, Nov 23, 8:58 AM
Unknown Object (File)
Fri, Nov 22, 9:26 PM
Unknown Object (File)
Tue, Nov 19, 2:13 PM
Unknown Object (File)
Tue, Nov 19, 12:50 PM
Unknown Object (File)
Tue, Nov 19, 10:41 AM
Subscribers

Details

Summary
DCTCP reactions to after_idle and post_recovery would disable
themselves after the first call.
Also, have consistent fall-through to NewReno for non-ECN
sessions.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 24895
Build 23625: arc lint + arc unit

Event Timeline

Comment from Midori (original author of this code):

Thank you for your message and improving dctcp implementation. The description of two bugfix request makes sense. I have two comments. First, remove white space at line126 in the D20550 patch before submission. Second, you
should remove a change at line353 in the D20550 patch. If I understand correctly, it does not affect performance. Please point out if there is my misunderstanding.

sys/netinet/cc/cc_dctcp.c
126

remove white space at line126 in the D20550 patch before submission

353

MidorI: remove a change at line353 in the D20550 patch. If I understand correctly, it does not affect performance

R: If other parts of the code decided to send out an ACK right away (e.g. leaving zero-window episodes), we should not clear the ACKNOW flag here.

  • - missed rename of variable
sys/netinet/cc/cc_dctcp.c
126

Leaving whitespace, as that separates different ack types.

using sacked data (CCV(ccv, sackhint.delivered_data) here depends on the RFC6675 chain of patched (D18892, D18985).

This revision is now accepted and ready to land.Jul 29 2019, 9:08 AM
sys/netinet/cc/cc_dctcp.c
293

This should read

newreno_cc_algo.cong_signal(ccv, type);