Commit d0ce9291 authored by Vlad Yasevich's avatar Vlad Yasevich

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: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
parent cc75689a
...@@ -421,6 +421,13 @@ void sctp_retransmit_mark(struct sctp_outq *q, ...@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment