Page MenuHomeFreeBSD

Fix bugs in DCTCP on TCP events
ClosedPublic

Authored by rscheff_gmx.at on Jun 7 2019, 12:49 PM.

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 OK
Unit
No Unit Test Coverage
Build Status
Buildable 24895
Build 23625: arc lint + arc unit

Event Timeline

rscheff_gmx.at created this revision.Jun 7 2019, 12:49 PM

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.

rscheff_gmx.at added inline comments.Jun 11 2019, 8:36 AM
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
rscheff_gmx.at added inline comments.Jun 17 2019, 2:36 PM
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).

tuexen accepted this revision.Mon, Jul 29, 9:08 AM
This revision is now accepted and ready to land.Mon, Jul 29, 9:08 AM
tuexen added inline comments.Mon, Jul 29, 9:19 AM
sys/netinet/cc/cc_dctcp.c
293

This should read

newreno_cc_algo.cong_signal(ccv, type);