Page MenuHomeFreeBSD

DCTCP: update alpha only once after loss recovery.

Authored by rscheff on May 12 2020, 6:43 AM.
Referenced Files
Unknown Object (File)
Sun, Mar 26, 8:46 AM
Unknown Object (File)
Feb 27 2023, 9:33 PM
Unknown Object (File)
Feb 12 2023, 5:17 PM
Unknown Object (File)
Feb 11 2023, 1:36 AM
Unknown Object (File)
Feb 4 2023, 2:06 PM
Unknown Object (File)
Jan 26 2023, 11:02 PM
Unknown Object (File)
Jan 8 2023, 7:04 PM
Unknown Object (File)
Jan 7 2023, 10:33 PM



During code inspection and testing of DCTCP in mixed
loss and ECN marking scenarios, it was found that the alpha
value of DCTCP is updated twice during windows expiriencing loss.

While RFC8257 is silent on the interaction between loss
recovery and updates of alpha, updating it one additional time
with an effective ECN marking rate of 0 reduces the effect of
ECN marks due to the lower alpha value. This in turn may result
in an overall higher loss rate than necessary.

Reported-by: Cheng Cui

Test Plan

A packetdrill script with the expected evolution
of cwnd is provided.

Diff Detail

Lint Passed
No Test Coverage
Build Status
Buildable 31040
Build 28746: arc lint + arc unit

Event Timeline

Attached the packetdrill script to validate the evolution of cwnd under loss and ecn for dctcp.

Looks good. Thanks for picking this up.

This revision is now accepted and ready to land.May 12 2020, 6:49 PM
This revision was automatically updated to reflect the committed changes.