--- linux-2.6.26.3/net/ipv4/tcp_input.c 2008-08-20 21:11:37.000000000 +0300
+++ linux-2.6.26.3-zph/net/ipv4/tcp_input.c 2008-08-21 17:06:55.000000000 +0300
@@ -3900,6 +3900,8 @@
- struct tcphdr *th = tcp_hdr(skb);
struct tcp_sock *tp = tcp_sk(sk);
int eaten = -1;
+ bool fragstolen = false;
+ struct inet_sock *inet = inet_sk(sk);
+ struct iphdr *iph = ip_hdr(skb);
/* Queue data for delivery to the user.
* Packets in sequence go to the receive queue.
* Out of sequence packets to the out_of_order_queue.
-@@ -4915,6 +4923,8 @@
+@@ -4915,5 +4923,7 @@
struct inet_connection_sock *icsk = inet_csk(sk);
struct tcp_sock *tp = tcp_sk(sk);
- struct tcp_cookie_values *cvp = tp->cookie_values;
+ struct inet_sock *inet = inet_sk(sk);
+ struct iphdr *iph = ip_hdr(skb);
+ struct tcp_fastopen_cookie foc = { .len = -1 };
int saved_clamp = tp->rx_opt.mss_clamp;
- tcp_parse_options(skb, &tp->rx_opt, &hash_location, 0);
@@ -4973,6 +4983,15 @@
TCP_ECN_rcv_synack(tp, th);
+ */
+ inet->zph_tos = iph->tos;
+
- tp->snd_wl1 = TCP_SKB_CB(skb)->seq;
+ tcp_init_wl(tp, TCP_SKB_CB(skb)->seq);
tcp_ack(sk, skb, FLAG_SLOWPATH);