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)
Sat, Jun 8, 9:50 PM
Unknown Object (File)
Sat, Jun 8, 9:49 PM
Unknown Object (File)
Sat, Jun 8, 9:49 PM
Unknown Object (File)
Sat, Jun 8, 7:01 PM
Unknown Object (File)
Fri, Jun 7, 11:51 PM
Unknown Object (File)
Sun, Jun 2, 12:27 AM
Unknown Object (File)
Sat, May 25, 4:37 PM
Unknown Object (File)
Apr 24 2024, 12:46 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

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

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.