Skip to contentSkip to conversation

sctp: assure at least one T3-rtx timer is running if a FORWARD

PATCH Superseded Wei Yongjun 2 participants 2 messages Jan 18, 2010 – Jan 19, 2010

Subsystems (2)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sctp: assure at least one T3-rtx timer is running if a FORWARD

PR-SCTP extension section 3.5 Sender Side Implementation of PR-SCTP:
C5) If a FORWARD TSN is sent, the sender MUST assure that at
least one T3-rtx timer is running.

So this patch fix to assure at least one T3-rtx timer is running if a FORWARD TSN is or will to sent.

---
 net/sctp/outqueue.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
net/sctp/outqueue.c +7 -0
index d36aea4..67ec3ba 100644
@@ -939,6 +939,13 @@ static int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout)
 				goto sctp_flush_out;
 		}
 
+		/* PR-SCTP C5) If a FORWARD TSN is sent, the sender MUST assure
+		 * that at least one T3-rtx timer is running.
+		 */
+		if (!list_empty(&q->abandoned) &&
+		    list_empty(&q->out_chunk_list))
+			sctp_transport_reset_timers(transport, 0);
+
 		/* Apply Max.Burst limitation to the current transport in
 		 * case it will be used for new data.  We are going to
 		 * rest it before we return, but we want to apply the limit
Signature · 1 line
1.6.2.2
#1 lore raw

Re: [PATCH] sctp: assure at least one T3-rtx timer is running if

Quoted 20 lines · Wei Yongjun

PR-SCTP extension section 3.5 Sender Side Implementation of PR-SCTP:
C5) If a FORWARD TSN is sent, the sender MUST assure that at
least one T3-rtx timer is running.

So this patch fix to assure at least one T3-rtx timer is running if a FORWARD TSN is or will to sent.

---
 net/sctp/outqueue.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
net/sctp/outqueue.c +0 -0
index d36aea4..67ec3ba 100644
@@ -939,6 +939,13 @@ static int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout)
 				goto sctp_flush_out;
 		}
 

net/sctp/outqueue.c static int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout) · line 951

Quoted 10 lines
net/sctp/outqueue.c +7 -0
+		/* PR-SCTP C5) If a FORWARD TSN is sent, the sender MUST assure
+		 * that at least one T3-rtx timer is running.
+		 */
+		if (!list_empty(&q->abandoned) &&
+		    list_empty(&q->out_chunk_list))
+			sctp_transport_reset_timers(transport, 0);
+
 		/* Apply Max.Burst limitation to the current transport in
 		 * case it will be used for new data.  We are going to
 		 * rest it before we return, but we want to apply the limit

'transport' may be NULL or may point at a retransmit path, not the path FWD-TSN was sent on.

It might be better to do this when we queue the FWD-TSN chunk.

-vlad