diff options
author | Richard Scheffenegger <rscheff@FreeBSD.org> | 2021-02-26 21:30:33 +0000 |
---|---|---|
committer | Richard Scheffenegger <rscheff@FreeBSD.org> | 2021-03-01 07:24:24 +0000 |
commit | 9596751563dc1819d177fa3ec6660a3bdc18021c (patch) | |
tree | 45979efd61cd0a89a154b6a28855bd9051d451cf | |
parent | 1eee54cbf040adba158e42150332905630253264 (diff) | |
download | src-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.c | 6 |
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 - |