mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-29 05:04:50 +00:00
tcp: cubic - restart epoch after RTO
This is a migitation to avoid sudden extreme jumps in
cwnd, as t_epoch can be very out of date after an RTO.
Per RFC9438, sec 4.8, t_epoch is to be reset whenever
cwnd grows beyond ssthresh (CC phase transitions from
slow start to congestion avoidance), to be fixed with
the upcoming cc_cubic changes.
MFC after: 3 days
Reviewed By: cc, #transport
Sponsored by: NetApp, Inc
Differential Revision: https://reviews.freebsd.org/D44023
(cherry picked from commit 038699a8f1
)
This commit is contained in:
parent
419848219b
commit
f3f559705a
|
@ -271,6 +271,7 @@ cubic_ack_received(struct cc_var *ccv, uint16_t type)
|
|||
cubic_data->flags &= ~(CUBICFLAG_RTO_EVENT |
|
||||
CUBICFLAG_IN_SLOWSTART);
|
||||
cubic_data->W_max = CCV(ccv, snd_cwnd);
|
||||
cubic_data->t_epoch = ticks;
|
||||
cubic_data->K = 0;
|
||||
} else if (cubic_data->flags & (CUBICFLAG_IN_SLOWSTART |
|
||||
CUBICFLAG_IN_APPLIMIT)) {
|
||||
|
|
Loading…
Reference in a new issue