aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/sm_statefuns.c
diff options
context:
space:
mode:
authorVlad Yasevich <vladislav.yasevich@hp.com>2007-02-21 05:06:19 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2007-02-26 14:42:50 -0500
commit1845a579e0c3084a822fbe610f7cfd1b0e0396ac (patch)
treed80d923c49fd5f6a1d7b44880389e286a375764c /net/sctp/sm_statefuns.c
parent8c4a2d41a7eb5a8f214f537acca533dcd6430782 (diff)
[SCTP]: Strike the transport before updating rto.
Once we reach a point where we exceed the max.path.retrans, strike the transport before updating the rto. This will force transport switch at the right time, instead of 1 retransmit too late. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: Sridhar Samudrala <sri@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp/sm_statefuns.c')
-rw-r--r--net/sctp/sm_statefuns.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
index b3cad8a03736..70c39eac0581 100644
--- a/net/sctp/sm_statefuns.c
+++ b/net/sctp/sm_statefuns.c
@@ -4605,12 +4605,12 @@ sctp_disposition_t sctp_sf_do_6_3_3_rtx(const struct sctp_endpoint *ep,
4605 * sent as soon as cwnd allows (normally when a SACK arrives). 4605 * sent as soon as cwnd allows (normally when a SACK arrives).
4606 */ 4606 */
4607 4607
4608 /* NB: Rules E4 and F1 are implicit in R1. */
4609 sctp_add_cmd_sf(commands, SCTP_CMD_RETRAN, SCTP_TRANSPORT(transport));
4610
4611 /* Do some failure management (Section 8.2). */ 4608 /* Do some failure management (Section 8.2). */
4612 sctp_add_cmd_sf(commands, SCTP_CMD_STRIKE, SCTP_TRANSPORT(transport)); 4609 sctp_add_cmd_sf(commands, SCTP_CMD_STRIKE, SCTP_TRANSPORT(transport));
4613 4610
4611 /* NB: Rules E4 and F1 are implicit in R1. */
4612 sctp_add_cmd_sf(commands, SCTP_CMD_RETRAN, SCTP_TRANSPORT(transport));
4613
4614 return SCTP_DISPOSITION_CONSUME; 4614 return SCTP_DISPOSITION_CONSUME;
4615} 4615}
4616 4616