Files
rockchip-kernel/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
..
2014-10-20 10:30:15 +08:00
2014-09-23 23:15:46 -07:00
2016-04-03 11:14:01 +01:00
2015-04-21 16:16:02 -04: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
2014-07-01 10:48:05 -06:00
2014-03-20 14:55:18 +01:00
2015-08-25 14:41:50 -05:00
2014-11-19 14:48:02 -06:00
2016-06-27 04:10:41 -04:00
2016-01-20 17:09:18 -08:00
2014-08-08 15:57:31 -07:00
2016-06-08 11:36:02 -07:00
2015-04-12 21:25:13 -04:00
2015-12-14 12:19:37 -06:00
2016-03-10 16:02:52 +07:00
2013-12-11 12:57:55 -08:00
2016-04-15 17:06:48 -04:00
2016-06-18 10:32:28 -07:00
2015-05-25 13:25:35 -04:00
2014-12-02 13:52:53 -07:00
2016-03-22 15:36:02 -07:00
2015-02-17 14:34:51 -08: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-08-03 17:30:00 -07:00
2014-08-08 15:57:31 -07:00
2015-07-21 10:39:05 -07:00
2015-11-23 15:06:38 -05:00
2015-01-20 13:51:06 +01:00
2014-12-13 12:42:52 -08:00
2015-05-05 13:40:44 -06:00
2015-08-27 19:44:53 -04:00
2015-04-23 15:16:14 -04:00
2015-07-20 14:58:46 -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
2014-12-10 17:41:10 -08:00
2014-12-09 14:10:41 +08:00
2015-03-05 22:08:42 -05:00
2014-04-26 12:13:24 -04:00
2015-06-11 23:37:37 +02: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
2015-03-29 12:13:52 +10:30
2014-12-09 12:05:24 +02:00
2016-04-30 09:26:55 -07:00
2016-04-23 20:13:25 -04:00