mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
tcp rack: fix sending
In rack_output(), idle is used as a boolean variable. So don't use it as an int and don't clear it afterwards. This avoids setting idle to false, when it is not intended. Reported by: olivier Reviewed by: rrs, rscheff Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D44610 (cherry picked from commit 7df0ef5f48e1c67b3f1df7c7964bfa59bc56f4e4)
This commit is contained in:
parent
14d7784332
commit
b5ee7411bf
1 changed files with 6 additions and 3 deletions
|
|
@ -19927,6 +19927,10 @@ rack_output(struct tcpcb *tp)
|
|||
|
||||
#endif
|
||||
int32_t idle, sendalot;
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
uint32_t tot_idle;
|
||||
>>>>>>> 7df0ef5f48e1 (tcp rack: fix sending)
|
||||
int32_t sub_from_prr = 0;
|
||||
volatile int32_t sack_rxmit;
|
||||
struct rack_sendmap *rsm = NULL;
|
||||
|
|
@ -20164,8 +20168,8 @@ rack_output(struct tcpcb *tp)
|
|||
if ((tp->snd_una == tp->snd_max) &&
|
||||
rack->r_ctl.rc_went_idle_time &&
|
||||
TSTMP_GT(cts, rack->r_ctl.rc_went_idle_time)) {
|
||||
idle = cts - rack->r_ctl.rc_went_idle_time;
|
||||
if (idle > rack_min_probertt_hold) {
|
||||
tot_idle = (cts - rack->r_ctl.rc_went_idle_time);
|
||||
if (tot_idle > rack_min_probertt_hold) {
|
||||
/* Count as a probe rtt */
|
||||
if (rack->in_probe_rtt == 0) {
|
||||
rack->r_ctl.rc_lower_rtt_us_cts = cts;
|
||||
|
|
@ -20176,7 +20180,6 @@ rack_output(struct tcpcb *tp)
|
|||
rack_exit_probertt(rack, cts);
|
||||
}
|
||||
}
|
||||
idle = 0;
|
||||
}
|
||||
if (rack_use_fsb &&
|
||||
(rack->r_ctl.fsb.tcp_ip_hdr) &&
|
||||
|
|
|
|||
Loading…
Reference in a new issue