[CRIU] [PATCH] tcp: set timestamps for restored skb-s
Pavel Emelyanov
xemul at parallels.com
Tue Aug 6 06:58:32 EDT 2013
On 08/06/2013 02:52 PM, Andrey Vagin wrote:
> When the repair mode is turned off, the write queue seqs are
> updated so that the whole queue is considered to be 'already sent.
>
> The "when" field must be set for such skb. It's used in tcp_rearm_rto
> for example. If the "when" field isn't set, the retransmit timeout can
> be calculated incorrectly and a tcp connected can stop for two minutes
> (TCP_RTO_MAX).
>
> Signed-off-by: Andrey Vagin <avagin at openvz.org>
Acked-by: Pavel Emelyanov <xemul at parallels.com>
> ---
> net/ipv4/tcp.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
> index 5423223..b2f6c74 100644
> --- a/net/ipv4/tcp.c
> +++ b/net/ipv4/tcp.c
> @@ -1121,6 +1121,13 @@ new_segment:
> goto wait_for_memory;
>
> /*
> + * All packets are restored as if they have
> + * already been sent.
> + */
> + if (tp->repair)
> + TCP_SKB_CB(skb)->when = tcp_time_stamp;
> +
> + /*
> * Check whether we can use HW checksum.
> */
> if (sk->sk_route_caps & NETIF_F_ALL_CSUM)
>
More information about the CRIU
mailing list