Page MenuHomeFreeBSD

D29970.diff
No OneTemporary

D29970.diff

diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -506,6 +506,7 @@
}
/* XXXLAS: EXIT_RECOVERY ? */
tp->t_bytes_acked = 0;
+ tp->sackhint.delivered_data = 0;
tp->sackhint.prr_out = 0;
}
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
@@ -872,9 +872,11 @@
tcp_seq highdata = tp->snd_max;
if (tp->t_flags & TF_SENTFIN)
highdata--;
- if (th->th_ack != highdata)
+ if (th->th_ack != highdata) {
+ tp->snd_fack = th->th_ack;
(void)tcp_sackhole_insert(tp, SEQ_MAX(th->th_ack,
highdata - maxseg), highdata, NULL);
+ }
}
(void) tp->t_fb->tfb_tcp_output(tp);
}

File Metadata

Mime Type
text/plain
Expires
Fri, May 2, 5:04 AM (14 h, 17 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17898976
Default Alt Text
D29970.diff (742 B)

Event Timeline