Page MenuHomeFreeBSD

Fix bugs in DCTCP on TCP events
ClosedPublic

Authored by rscheff on Jun 7 2019, 12:49 PM.
Tags
None
Referenced Files
F81613173: D20550.id.diff
Thu, Apr 18, 11:33 PM
Unknown Object (File)
Feb 10 2024, 9:58 AM
Unknown Object (File)
Jan 16 2024, 12:57 PM
Unknown Object (File)
Dec 31 2023, 8:50 AM
Unknown Object (File)
Dec 25 2023, 10:07 PM
Unknown Object (File)
Dec 25 2023, 10:07 PM
Unknown Object (File)
Dec 25 2023, 10:07 PM
Unknown Object (File)
Dec 25 2023, 10:07 PM
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

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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
127 ↗(On Diff #58358)

remove white space at line126 in the D20550 patch before submission

353 ↗(On Diff #58358)

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
127 ↗(On Diff #58358)

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 ↗(On Diff #58729)

This should read

newreno_cc_algo.cong_signal(ccv, type);