Quoting Dan Smith (danms@xxxxxxxxxx): > 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@xxxxxxxxxx> ... > 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@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers