- always update t_last_cong on loss and generally treat first loss as valid
- restore old t_last_cong on bad retransmit and generally undo first loss if not valid
- add fast convergence (see 3.6 in RFC)
- scale ssthresh by cubic beta rather than 0.5, per RFC (same as Linux)
Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Skipped - Unit
Tests Skipped - Build Status
Buildable 5299 Build 5480: CI src build Jenkins
Event Timeline
Unless I'm mistaken this is several fixes, not all of which are related to CUBIC, but contained in a single patch. Please split these out into separate changes, in particular the mathematical equation change in cc_cubic.h. While I believe that the math change there is correct (from reading the latest draft) I'd like it to be possible to revert that one change simply if it proves to be an issue.
Replacing two divisions by one multiplication and one division in cubic.h looks good;
The changes in the RTO branch (moving the setting of ssthresh and cwnd into each of the modular CC mechanisms) should be a separate Diff. It appears there are may be some of them missing here already.
May I pick up this Diff, split and resubmit it?
I believe most of these changes have been superceded by the set of patches in this area put in recently.
fast convergence is missing; the earlier comment of splitting out the still relevant changes has merit.