Page MenuHomeFreeBSD

D43808.diff
No OneTemporary

D43808.diff

diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -1516,9 +1516,13 @@
tcp_account_for_send(tp, len, (tp->snd_nxt != tp->snd_max), 0, hw_tls);
/*
* In transmit state, time the transmission and arrange for
- * the retransmit. In persist state, just set snd_max.
+ * the retransmit. In persist state, just set snd_max. In a closed
+ * state just return.
*/
- if ((tp->t_flags & TF_FORCEDATA) == 0 ||
+ if (flags & TH_RST) {
+ TCPSTAT_INC(tcps_sndtotal);
+ return (0);
+ } else if ((tp->t_flags & TF_FORCEDATA) == 0 ||
!tcp_timer_active(tp, TT_PERSIST)) {
tcp_seq startseq = tp->snd_nxt;

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 16, 11:24 AM (21 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14641430
Default Alt Text
D43808.diff (695 B)

Event Timeline