aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Scheffenegger <rscheff@FreeBSD.org>2021-02-26 21:30:33 +0000
committerRichard Scheffenegger <rscheff@FreeBSD.org>2021-03-01 07:24:24 +0000
commit9596751563dc1819d177fa3ec6660a3bdc18021c (patch)
tree45979efd61cd0a89a154b6a28855bd9051d451cf
parent1eee54cbf040adba158e42150332905630253264 (diff)
downloadsrc-9596751563dc1819d177fa3ec6660a3bdc18021c.tar.gz
src-9596751563dc1819d177fa3ec6660a3bdc18021c.zip
Include new data sent in PRR calculation
Reviewed By: #transport, kbowling MFC after: 3 days Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D28941 (cherry picked from commit 9e83a6a556ed8d9a2821de5d5f5c7d4b1292c694)
-rw-r--r--sys/netinet/tcp_input.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index 42f983f64502..f16c62ae6a1f 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -2602,7 +2602,8 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, struct socket *so,
imax(1, tp->snd_nxt - tp->snd_una);
snd_cnt = howmany((long)tp->sackhint.prr_delivered *
tp->snd_ssthresh, tp->sackhint.recover_fs) -
- tp->sackhint.sack_bytes_rexmit;
+ (tp->sackhint.sack_bytes_rexmit +
+ (tp->snd_nxt - tp->snd_recover));
} else {
if (V_tcp_do_prr_conservative)
limit = tp->sackhint.prr_delivered -
@@ -3951,7 +3952,8 @@ tcp_prr_partialack(struct tcpcb *tp, struct tcphdr *th)
imax(1, tp->snd_nxt - tp->snd_una);
snd_cnt = howmany((long)tp->sackhint.prr_delivered *
tp->snd_ssthresh, tp->sackhint.recover_fs) -
- tp->sackhint.sack_bytes_rexmit;
+ (tp->sackhint.sack_bytes_rexmit +
+ (tp->snd_nxt - tp->snd_recover));
} else {
if (V_tcp_do_prr_conservative)
limit = tp->sackhint.prr_delivered -