Files
ubports_kernel_google_msm/include/linux
Yuchung Cheng 974c12360d tcp: detect loss above high_seq in recovery
Correctly implement a loss detection heuristic: New sequences (above
high_seq) sent during the fast recovery are deemed lost when higher
sequences are SACKed.

Current code does not catch these losses, because tcp_mark_head_lost()
does not check packets beyond high_seq. The fix is straight-forward by
checking packets until the highest sacked packet. In addition, all the
FLAG_DATA_LOST logic are in-effective and redundant and can be removed.

Update the loss heuristic comments. The algorithm above is documented
as heuristic B, but it is redundant too because heuristic A already
covers B.

Note that this change only marks some forward-retransmitted packets LOST.
It does NOT forbid TCP performing further CWR on new losses. A potential
follow-up patch under preparation is to perform another CWR on "new"
losses such as
1) sequence above high_seq is lost (by resetting high_seq to snd_nxt)
2) retransmission is lost.

Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-01-22 15:08:44 -05:00
..
2012-01-22 15:08:43 -05:00
2011-12-13 15:30:49 -05:00
2012-01-04 15:52:42 -08:00
2012-01-10 16:30:42 -08:00
2012-01-03 22:54:57 -05:00
2011-12-13 09:26:45 +00:00
2012-01-04 08:56:31 -06:00
2011-12-09 17:35:51 -08:00
2011-12-11 18:25:16 -05:00
2012-01-12 20:13:04 -08:00
2012-01-03 22:54:58 -05:00
2011-12-13 11:58:49 +01:00
2012-01-12 20:13:08 -08:00
2012-01-03 22:54:56 -05:00
2012-01-03 22:55:17 -05:00
2011-12-11 18:25:16 -05:00
2012-01-09 13:52:09 +01:00
2012-01-12 20:13:11 -08:00
2012-01-17 15:40:51 -08:00
2011-12-27 11:26:41 +02:00
2012-01-12 20:13:10 -08:00
2012-01-06 12:10:26 -08:00
2012-01-12 15:23:04 -08:00
2011-12-13 09:26:45 +00:00
2012-01-03 22:55:07 -05:00
2012-01-03 22:54:56 -05:00
2012-01-03 22:52:40 -05:00
2012-01-09 09:33:57 +09:00
2011-12-13 09:26:45 +00:00
2012-01-03 22:54:56 -05:00