SCTP: Do not retransmit chunks that are newer then rtt.
When performing a retransmit, do not include the chunk if it was sent less then 1 rtt ago. The reason is that we may receive the SACK very soon and wouldn't retransmit. Suggested by Randy Stewart. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
This commit is contained in:
@@ -421,6 +421,13 @@ void sctp_retransmit_mark(struct sctp_outq *q,
|
|||||||
*/
|
*/
|
||||||
if ((fast_retransmit && (chunk->fast_retransmit > 0)) ||
|
if ((fast_retransmit && (chunk->fast_retransmit > 0)) ||
|
||||||
(!fast_retransmit && !chunk->tsn_gap_acked)) {
|
(!fast_retransmit && !chunk->tsn_gap_acked)) {
|
||||||
|
/* If this chunk was sent less then 1 rto ago, do not
|
||||||
|
* retransmit this chunk, but give the peer time
|
||||||
|
* to acknowlege it.
|
||||||
|
*/
|
||||||
|
if ((jiffies - chunk->sent_at) < transport->rto)
|
||||||
|
continue;
|
||||||
|
|
||||||
/* RFC 2960 6.2.1 Processing a Received SACK
|
/* RFC 2960 6.2.1 Processing a Received SACK
|
||||||
*
|
*
|
||||||
* C) Any time a DATA chunk is marked for
|
* C) Any time a DATA chunk is marked for
|
||||||
|
Reference in New Issue
Block a user