patch-2.4.0-test12 linux/net/ipv4/tcp_ipv4.c

Next file: linux/net/ipv4/tcp_minisocks.c
Previous file: linux/net/ipv4/tcp_input.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test11/linux/net/ipv4/tcp_ipv4.c linux/net/ipv4/tcp_ipv4.c
@@ -5,7 +5,7 @@
  *
  *		Implementation of the Transmission Control Protocol(TCP).
  *
- * Version:	$Id: tcp_ipv4.c,v 1.220 2000/11/14 07:26:02 davem Exp $
+ * Version:	$Id: tcp_ipv4.c,v 1.222 2000/12/08 17:15:53 davem Exp $
  *
  *		IPv4 specific functions
  *
@@ -1320,17 +1320,14 @@
 	if (req == NULL)
 		goto drop;
 
- 	tp.tstamp_ok = tp.sack_ok = tp.wscale_ok = tp.snd_wscale = 0;
+	tcp_clear_options(&tp);
 	tp.mss_clamp = 536;
 	tp.user_mss = sk->tp_pinfo.af_tcp.user_mss;
 
-	tcp_parse_options(skb, &tp);
+	tcp_parse_options(skb, &tp, 0);
 
 	if (want_cookie) {
-		tp.sack_ok = 0;
-		tp.wscale_ok = 0;
-		tp.snd_wscale = 0;
-		tp.tstamp_ok = 0;
+		tcp_clear_options(&tp);
 		tp.saw_tstamp = 0;
 	}
 
@@ -1343,6 +1340,7 @@
 		tp.saw_tstamp = 0;
 		tp.tstamp_ok = 0;
 	}
+	tp.tstamp_ok = tp.saw_tstamp;
 
 	tcp_openreq_init(req, &tp, skb);
 
@@ -1651,6 +1649,8 @@
 	if (sk->state == TCP_TIME_WAIT)
 		goto do_time_wait;
 
+	skb->dev = NULL;
+
 	bh_lock_sock(sk);
 	ret = 0;
 	if (!sk->lock.users) {
@@ -2016,7 +2016,8 @@
 		tp->probes_out,
 		sock_i_ino(sp),
 		atomic_read(&sp->refcnt), sp,
-		tp->rto, tp->ack.ato, tp->ack.quick, tp->ack.pingpong, sp->sndbuf
+		tp->rto, tp->ack.ato, (tp->ack.quick<<1)|tp->ack.pingpong,
+		tp->snd_cwnd, tp->snd_ssthresh>=0xFFFF?-1:tp->snd_ssthresh
 		);
 }
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)