1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-10-19 02:29:40 +00:00

calculate prr_out correctly when pipe < ssthresh

Reviewed By:	#transport, tuexen
MFC after:	3 days
Sponsored by:	NetApp, Inc.
Differential Revision:	https://reviews.freebsd.org/D28998

(cherry picked from commit 0b0f8b359d)
This commit is contained in:
Richard Scheffenegger 2021-03-01 16:25:46 +01:00
parent c4ccb6d1be
commit 05e742af6f

View File

@ -2606,10 +2606,12 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, struct socket *so,
} else {
if (V_tcp_do_prr_conservative)
limit = tp->sackhint.prr_delivered -
tp->sackhint.sack_bytes_rexmit;
(tp->sackhint.sack_bytes_rexmit +
(tp->snd_nxt - tp->snd_recover));
else
limit = imax(tp->sackhint.prr_delivered -
tp->sackhint.sack_bytes_rexmit,
(tp->sackhint.sack_bytes_rexmit +
(tp->snd_nxt - tp->snd_recover)),
del_data) + maxseg;
snd_cnt = imin(tp->snd_ssthresh - pipe, limit);
}
@ -3982,10 +3984,12 @@ tcp_prr_partialack(struct tcpcb *tp, struct tcphdr *th)
} else {
if (V_tcp_do_prr_conservative)
limit = tp->sackhint.prr_delivered -
tp->sackhint.sack_bytes_rexmit;
(tp->sackhint.sack_bytes_rexmit +
(tp->snd_nxt - tp->snd_recover));
else
limit = imax(tp->sackhint.prr_delivered -
tp->sackhint.sack_bytes_rexmit,
(tp->sackhint.sack_bytes_rexmit +
(tp->snd_nxt - tp->snd_recover)),
del_data) + maxseg;
snd_cnt = imin((tp->snd_ssthresh - pipe), limit);
}