Page MenuHomeFreeBSD

update cwnd in both convex and concave regions like comment stated.
ClosedPublic

Authored by rscheff on May 1 2020, 9:05 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Nov 21, 12:43 AM
Unknown Object (File)
Tue, Nov 12, 9:43 PM
Unknown Object (File)
Tue, Nov 5, 7:40 AM
Unknown Object (File)
Oct 22 2024, 6:06 PM
Unknown Object (File)
Oct 22 2024, 7:52 AM
Unknown Object (File)
Oct 16 2024, 4:56 AM
Unknown Object (File)
Oct 15 2024, 8:00 AM
Unknown Object (File)
Oct 13 2024, 10:21 AM
Subscribers

Details

Summary

The current cubic code has an oversight that it missed updating cwnd
in the convex region. However, the comment in the code states, that
cwnd should be updated similarly in both convex and concave regions.

This has been reported by Vidhi Goel in Bug Report 238478.

Test Plan

Track the evolution of cwnd throuhg tcp friendly, concave
and convex regions and verify the behavior matches what RFC8312
(TCP Cubic) prescribes.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 30852
Build 28569: arc lint + arc unit

Event Timeline

So, is FreeBSD getting close to a proper Cubic yet?

sys/netinet/cc/cc_cubic.c
179

I am only going to "NOTE" a style 9 issue here, I do not expect it fixed, as it was an existing issue, and it may be the whole file is this way, but we usually write "} else {" or "} else if {" and I am not sure why these extra new lines are here.

This revision is now accepted and ready to land.Jun 23 2020, 5:03 AM
This revision now requires review to proceed.Jun 23 2020, 5:03 AM

Re-inspecting the suggested fix. The concave region is where cubic_wnd < cwnd_max, and the convex region is cubic_cwnd > cwnd_max.

However, this if bracket is only preventing snd_cwnd from shrinking.

Will adjust the style and make a comment.

  • only update style and comment. logic was ok before.
This revision is now accepted and ready to land.Jul 21 2020, 12:47 PM