[Devel] Re: [PATCH 3/4] Adjust TCP timestamp values by a scalar value
Serge E. Hallyn
serue at us.ibm.com
Wed Oct 21 11:06:38 PDT 2009
Quoting Dan Smith (danms at us.ibm.com):
> 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 <danms at us.ibm.com>
...
> 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
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list