diff options
Diffstat (limited to 'net/ipv4/tcp_minisocks.c')
-rw-r--r-- | net/ipv4/tcp_minisocks.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c index 80b1f80759a..0ce3d06dce6 100644 --- a/net/ipv4/tcp_minisocks.c +++ b/net/ipv4/tcp_minisocks.c | |||
@@ -328,6 +328,7 @@ void tcp_time_wait(struct sock *sk, int state, int timeo) | |||
328 | struct tcp_timewait_sock *tcptw = tcp_twsk((struct sock *)tw); | 328 | struct tcp_timewait_sock *tcptw = tcp_twsk((struct sock *)tw); |
329 | const int rto = (icsk->icsk_rto << 2) - (icsk->icsk_rto >> 1); | 329 | const int rto = (icsk->icsk_rto << 2) - (icsk->icsk_rto >> 1); |
330 | 330 | ||
331 | tw->tw_transparent = inet_sk(sk)->transparent; | ||
331 | tw->tw_rcv_wscale = tp->rx_opt.rcv_wscale; | 332 | tw->tw_rcv_wscale = tp->rx_opt.rcv_wscale; |
332 | tcptw->tw_rcv_nxt = tp->rcv_nxt; | 333 | tcptw->tw_rcv_nxt = tp->rcv_nxt; |
333 | tcptw->tw_snd_nxt = tp->snd_nxt; | 334 | tcptw->tw_snd_nxt = tp->snd_nxt; |
@@ -486,7 +487,7 @@ struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req, | |||
486 | * algorithms that we must have the following bandaid to talk | 487 | * algorithms that we must have the following bandaid to talk |
487 | * efficiently to them. -DaveM | 488 | * efficiently to them. -DaveM |
488 | */ | 489 | */ |
489 | newtp->snd_cwnd = 2; | 490 | newtp->snd_cwnd = TCP_INIT_CWND; |
490 | newtp->snd_cwnd_cnt = 0; | 491 | newtp->snd_cwnd_cnt = 0; |
491 | newtp->bytes_acked = 0; | 492 | newtp->bytes_acked = 0; |
492 | 493 | ||
@@ -720,6 +721,10 @@ struct sock *tcp_check_req(struct sock *sk, struct sk_buff *skb, | |||
720 | NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPDEFERACCEPTDROP); | 721 | NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPDEFERACCEPTDROP); |
721 | return NULL; | 722 | return NULL; |
722 | } | 723 | } |
724 | if (tmp_opt.saw_tstamp && tmp_opt.rcv_tsecr) | ||
725 | tcp_rsk(req)->snt_synack = tmp_opt.rcv_tsecr; | ||
726 | else if (req->retrans) /* don't take RTT sample if retrans && ~TS */ | ||
727 | tcp_rsk(req)->snt_synack = 0; | ||
723 | 728 | ||
724 | /* OK, ACK is valid, create big socket and | 729 | /* OK, ACK is valid, create big socket and |
725 | * feed this segment to it. It will repeat all | 730 | * feed this segment to it. It will repeat all |