Merge branch 'tcp_tsoffset'
authorDavid S. Miller <davem@davemloft.net>
Wed, 13 Feb 2013 18:22:24 +0000 (13:22 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 13 Feb 2013 18:22:24 +0000 (13:22 -0500)
Andrey Vagin says:

====================
If a TCP socket will get live-migrated from one box to another the
timestamps (which are typically ON) will get screwed up -- the new
kernel will generate TS values that has nothing to do with what they
were on dump. The solution is to yet again fix the kernel and put a
"timestamp offset" on a socket.

A socket offset is added in places where externally visible tcp
timestamp option is parsed/initialized.

Connections in the SYN_RECV state are not supported, global
tcp_time_stamp is used for them, because repair mode doesn't support
this state. In a future it can be implemented by the similar way as for
TIME_WAIT sockets.

For time-wait sockets offset is inhereted by a proper tcp_sock.

A per-socket offset can be set only for sockets in repair mode.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

Trivial merge