patch-2.2.16 linux/net/ipv4/tcp_input.c
Next file: linux/net/ipv4/tcp_output.c
Previous file: linux/net/ipv4/tcp.c
Back to the patch index
Back to the overall index
- Lines: 46
- Date:
Wed Jun 7 14:26:44 2000
- Orig file:
v2.2.15/linux/net/ipv4/tcp_input.c
- Orig date:
Wed May 3 17:16:53 2000
diff -urN v2.2.15/linux/net/ipv4/tcp_input.c linux/net/ipv4/tcp_input.c
@@ -5,7 +5,7 @@
*
* Implementation of the Transmission Control Protocol(TCP).
*
- * Version: $Id: tcp_input.c,v 1.164.2.12 2000/01/31 20:43:36 davem Exp $
+ * Version: $Id: tcp_input.c,v 1.164.2.15 2000/05/27 04:01:49 davem Exp $
*
* Authors: Ross Biro, <bir7@leland.Stanford.Edu>
* Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
@@ -55,6 +55,7 @@
* work without delayed acks.
* Andi Kleen: Process packets with PSH set in the
* fast path.
+ * Vincent Zweije Fix TIME-WAIT FIN ACK bug.
*/
#include <linux/config.h>
@@ -295,6 +296,7 @@
sk->dport = 0;
sk->daddr = 0;
sk->num = 0;
+ tcp_clear_xmit_timer(sk, TIME_RETRANS);
}
sk->shutdown = SHUTDOWN_MASK;
if (!sk->dead)
@@ -1017,7 +1019,7 @@
}
/* Ack old packets if necessary */
if (!after(TCP_SKB_CB(skb)->end_seq, tw->rcv_nxt) &&
- (th->doff * 4) > len)
+ (len > (th->doff * 4) || th->fin))
return TCP_TW_ACK;
return 0;
}
@@ -2022,10 +2024,10 @@
}
sk = tp->af_specific->syn_recv_sock(sk, skb, req, NULL);
- tcp_dec_slow_timer(TCP_SLT_SYNACK);
if (sk == NULL)
return NULL;
+ tcp_dec_slow_timer(TCP_SLT_SYNACK);
req->expires = 0UL;
req->sk = sk;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)