Skip to content

Commit

Permalink
sctp: Correctly start rtx timer on new packet transmissions.
Browse files Browse the repository at this point in the history
Commit 62aeaff
(sctp: Start T3-RTX timer when fast retransmitting lowest TSN)
introduced a regression where it was possible to forcibly
restart the sctp retransmit timer at the transmission of any
new chunk.  This resulted in much longer timeout times and
sometimes hung sctp connections.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Vlad Yasevich authored and David S. Miller committed Jan 22, 2009
1 parent 9c5ff5f commit 6574df9
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions net/sctp/outqueue.c
Original file line number Diff line number Diff line change
Expand Up @@ -929,7 +929,6 @@ static int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout)
}

/* Finally, transmit new packets. */
start_timer = 0;
while ((chunk = sctp_outq_dequeue_data(q)) != NULL) {
/* RFC 2960 6.5 Every DATA chunk MUST carry a valid
* stream identifier.
Expand Down Expand Up @@ -1028,7 +1027,7 @@ static int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout)
list_add_tail(&chunk->transmitted_list,
&transport->transmitted);

sctp_transport_reset_timers(transport, start_timer-1);
sctp_transport_reset_timers(transport, 0);

q->empty = 0;

Expand Down

0 comments on commit 6574df9

Please sign in to comment.