Merge branch 'tcp_tsoffset'
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>
Showing
- include/linux/tcp.h 3 additions, 0 deletionsinclude/linux/tcp.h
- include/uapi/linux/tcp.h 1 addition, 0 deletionsinclude/uapi/linux/tcp.h
- net/ipv4/tcp.c 11 additions, 0 deletionsnet/ipv4/tcp.c
- net/ipv4/tcp_input.c 7 additions, 1 deletionnet/ipv4/tcp_input.c
- net/ipv4/tcp_ipv4.c 7 additions, 5 deletionsnet/ipv4/tcp_ipv4.c
- net/ipv4/tcp_minisocks.c 3 additions, 0 deletionsnet/ipv4/tcp_minisocks.c
- net/ipv4/tcp_output.c 2 additions, 2 deletionsnet/ipv4/tcp_output.c
- net/ipv6/tcp_ipv6.c 13 additions, 9 deletionsnet/ipv6/tcp_ipv6.c
Loading
Please register or sign in to comment