[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