Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d0ce92910bc04e107b2f3f2048f07e94f570035d
Commit:     d0ce92910bc04e107b2f3f2048f07e94f570035d
Parent:     cc75689a4c4eb94b2fd7e3870347b9237ab39503
Author:     Vlad Yasevich <[EMAIL PROTECTED]>
AuthorDate: Fri Aug 24 19:37:46 2007 +0900
Committer:  Vlad Yasevich <[EMAIL PROTECTED]>
CommitDate: Thu Aug 30 13:56:06 2007 -0400

    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 <[EMAIL PROTECTED]>
---
 net/sctp/outqueue.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c
index 992f361..28f4fe7 100644
--- a/net/sctp/outqueue.c
+++ b/net/sctp/outqueue.c
@@ -421,6 +421,13 @@ void sctp_retransmit_mark(struct sctp_outq *q,
                 */
                if ((fast_retransmit && (chunk->fast_retransmit > 0)) ||
                   (!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
                         *
                         * C) Any time a DATA chunk is marked for
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to