Page MenuHomeFreeBSD

D39274.diff
No OneTemporary

D39274.diff

diff --git a/sys/netinet/tcp_sack.c b/sys/netinet/tcp_sack.c
--- a/sys/netinet/tcp_sack.c
+++ b/sys/netinet/tcp_sack.c
@@ -879,7 +879,6 @@
*/
if ((V_tcp_do_newsack) &&
SEQ_LT(th->th_ack, tp->snd_recover) &&
- (tp->snd_recover == tp->snd_max) &&
TAILQ_EMPTY(&tp->snd_holes) &&
(tp->sackhint.delivered_data > 0)) {
/*
@@ -891,6 +890,7 @@
tcp_seq highdata = tp->snd_max;
if (tp->t_flags & TF_SENTFIN)
highdata--;
+ highdata = SEQ_MIN(highdata, tp->snd_recover);
if (th->th_ack != highdata) {
tp->snd_fack = th->th_ack;
(void)tcp_sackhole_insert(tp, SEQ_MAX(th->th_ack,

File Metadata

Mime Type
text/plain
Expires
Fri, Aug 7, 1:46 PM (15 h, 55 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36177311
Default Alt Text
D39274.diff (619 B)

Event Timeline