Files
kernel_arpi/include/uapi/linux
Andrey Vagin b1ed4c4fa9 tcp: add an ability to dump and restore window parameters
We found that sometimes a restored tcp socket doesn't work.

A reason of this bug is incorrect window parameters and in this case
tcp_acceptable_seq() returns tcp_wnd_end(tp) instead of tp->snd_nxt. The
other side drops packets with this seq, because seq is less than
tp->rcv_nxt ( tcp_sequence() ).

Data from a send queue is sent only if there is enough space in a
window, so when we restore unacked data, we need to expand a window to
fit this data.

This was in a first version of this patch:
"tcp: extend window to fit all restored unacked data in a send queue"

Then Alexey recommended me to restore window parameters instead of
adjusted them according with data in a sent queue. This sounds resonable.

rcv_wnd has to be restored, because it was reported to another side
and the offered window is never shrunk.
One of reasons why we need to restore snd_wnd was described above.

Cc: Pavel Emelyanov <xemul@parallels.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Cc: James Morris <jmorris@namei.org>
Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Cc: Patrick McHardy <kaber@trash.net>
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-06-30 08:15:31 -04:00
..
2016-04-03 11:14:01 +01:00
2016-04-19 04:33:15 +09:00
2015-10-05 03:16:46 -07:00
2016-03-15 16:55:16 -07:00
2016-06-30 05:54:40 -04:00
2015-08-25 14:41:50 -05:00
2016-06-27 04:10:41 -04:00
2016-01-20 17:09:18 -08:00
2016-06-08 11:36:02 -07:00
2015-12-14 12:19:37 -06:00
2016-03-10 16:02:52 +07:00
2016-04-15 17:06:48 -04:00
2016-06-18 10:32:28 -07:00
2016-03-22 15:36:02 -07:00
2016-04-12 19:54:58 +01:00
2016-05-11 22:37:54 +02:00
2016-04-25 15:09:10 -04:00
2016-01-12 08:21:18 -07:00
2015-11-23 15:06:38 -05:00
2015-08-27 19:44:53 -04:00
2016-05-17 17:14:21 -06:00
2015-09-04 16:54:41 -07:00
2016-05-08 23:46:14 -04:00
2016-04-26 12:00:48 -04:00
2016-04-04 22:11:20 -04:00
2015-12-18 17:48:51 -08:00
2015-10-27 18:55:31 -07:00
2016-05-20 17:58:30 -07:00
2016-03-11 02:18:53 +02:00
2016-04-30 09:26:55 -07:00
2016-04-23 20:13:25 -04:00