Page MenuHomeFreeBSD

DCTCP: update alpha only once after loss recovery.
ClosedPublic

Authored by rscheff on May 12 2020, 6:43 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Nov 26, 4:14 PM
Unknown Object (File)
Fri, Nov 22, 6:40 AM
Unknown Object (File)
Thu, Nov 21, 12:25 PM
Unknown Object (File)
Thu, Nov 21, 7:41 AM
Unknown Object (File)
Thu, Nov 7, 12:20 AM
Unknown Object (File)
Tue, Nov 5, 11:24 AM
Unknown Object (File)
Sun, Nov 3, 9:36 AM
Unknown Object (File)
Sun, Nov 3, 9:36 AM
Subscribers

Details

Summary

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
Lint Passed
Unit
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.