sctp: assure at least one T3-rtx timer is running if a FORWARD
Subsystems (2)
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
@@ -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
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.
Signed-off-by Wei Yongjun <[email protected]>--- net/sctp/outqueue.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)net/sctp/outqueue.c +0
-0@@ -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