diff options
author | Richard Scheffenegger <rscheff@FreeBSD.org> | 2023-12-18 12:01:28 +0000 |
---|---|---|
committer | Richard Scheffenegger <rscheff@FreeBSD.org> | 2023-12-18 12:02:22 +0000 |
commit | e3b9058e5cd0f541da596624a366e14cabcf2e2a (patch) | |
tree | 03d14484cade46ab6864b25c866da134ce33af79 | |
parent | a9504d76ccdad240b7d5761f4208e252f57042dd (diff) | |
download | src-e3b9058e5cd0f541da596624a366e14cabcf2e2a.tar.gz src-e3b9058e5cd0f541da596624a366e14cabcf2e2a.zip |
tcp: properly unroll sack transmission on tx error with LRD
Reviewed By: tuexen, #transport
MFC after: 1 week
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D43085
-rw-r--r-- | sys/netinet/tcp_output.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c index f5b3ff1f03b4..6016aa3b6ddc 100644 --- a/sys/netinet/tcp_output.c +++ b/sys/netinet/tcp_output.c @@ -1652,7 +1652,7 @@ timer: ((flags & TH_SYN) == 0) && (error != EPERM)) { if (sack_rxmit) { - p->rxmit -= len; + p->rxmit = SEQ_MIN(p->end, p->rxmit) - len; tp->sackhint.sack_bytes_rexmit -= len; KASSERT(tp->sackhint.sack_bytes_rexmit >= 0, ("sackhint bytes rtx >= 0")); |