Quoting Dan Smith ([email protected]):
> Adjust the sent and received TCP timestamp value by a scalar value
> in the tcp_sock structure.  This will be zero most of the time, except
> when the socket has been migrated with c/r.  If a socket is re-migrated,
> we take the new adjusted value as the saved value so that on restart it
> can be re-adjusted.  Also, copy this into the timewait sock so that
> timestamps can continue to be adjusted in timewait state in the
> minisocks code.
> 
> Note that TCP timestamps are just a jiffies stamp, which means they
> have no relation to wall-clock time and thus a simple correction
> factor should be enough to ensure correctness.
> 
> Signed-off-by: Dan Smith <[email protected]>

...

> diff --git a/include/linux/tcp.h b/include/linux/tcp.h
> index 8afac76..b845e21 100644
> --- a/include/linux/tcp.h
> +++ b/include/linux/tcp.h
> @@ -399,6 +399,8 @@ struct tcp_sock {
>               u32               probe_seq_end;
>       } mtu_probe;
> 
> +     s32     ts_adjust;      /* tcp_time_stamp adjustment factor */
> +
>  #ifdef CONFIG_TCP_MD5SIG
>  /* TCP AF-Specific parts; only used by MD5 Signature support so far */
>       struct tcp_sock_af_ops  *af_specific;
> @@ -420,6 +422,7 @@ struct tcp_timewait_sock {
>       u32                       tw_rcv_wnd;
>       u32                       tw_ts_recent;
>       long                      tw_ts_recent_stamp;
> +     s32                       tw_ts_adjust;
>  #ifdef CONFIG_TCP_MD5SIG
>       u16                       tw_md5_keylen;
>       u8                        tw_md5_key[TCP_MD5SIG_MAXKEYLEN];

I think this definately needs to go by netdev to see if they object
to the extra fields, and the (negligable?) extra processing in
frequent paths like tcp_send_ack.

-serge
_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to