summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_output.c
diff options
context:
space:
mode:
authorjayanth <jayanth@FreeBSD.org>2004-07-26 23:41:12 +0000
committerjayanth <jayanth@FreeBSD.org>2004-07-26 23:41:12 +0000
commitef090090cb15c366e5a0c4e33a4d06fcc4273d2f (patch)
tree5fcaa89b6e157481fa5631156d84b32309c3ae87 /sys/netinet/tcp_output.c
parentb138ddd4e5e63f5cc8f2e761dd0a2c312058bda4 (diff)
downloadFreeBSD-src-ef090090cb15c366e5a0c4e33a4d06fcc4273d2f.zip
FreeBSD-src-ef090090cb15c366e5a0c4e33a4d06fcc4273d2f.tar.gz
Fix for a SACK bug where the very last segment retransmitted
from the SACK scoreboard could result in the next (untransmitted) segment to be skipped.
Diffstat (limited to 'sys/netinet/tcp_output.c')
-rw-r--r--sys/netinet/tcp_output.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
index f6afc18..c69b90a 100644
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -951,7 +951,7 @@ send:
tp->t_flags |= TF_SENTFIN;
}
}
- if (tp->sack_enable && sack_rxmit && (p->rxmit != tp->snd_nxt))
+ if (tp->sack_enable && sack_rxmit)
goto timer;
tp->snd_nxt += len;
if (SEQ_GT(tp->snd_nxt, tp->snd_max)) {
OpenPOWER on IntegriCloud