highlighted changes
- change the type of these CUBIC windows to uint32_t from uint64_t
- sync to the updated formulas in RFC9438 and carefully handles these units (segments or bytes)
- remove un-used function reno_cwnd()
change detail in cc_cubic.h
- Updated cubic_k with the new formula in the RFC. It additionally uses cwnd_epoch for calculating K.
- Also updated these theoretical formula functions in userland.
change detail in cc_cubic.c
- cubic_cong_signal() now just flag the event and let the epoch start/re-start at the beginning of the current congestion avoidance phase in cubic_ack_received().
- Increase the cwnd only by (target - cwnd) / cwnd with a restrictive target formula from the RFC. This shall further smooth the cwnd growth, as observed in the default stack.
- Remove the obsolete hack for probing W_max in early congestion avoidance phase if used an old ssthresh from hostcache.
- Also remove the obsolete hack that aligns the concave region after the first congestion event.
reference: https://reviews.freebsd.org/D41715