summaryrefslogtreecommitdiffstats
path: root/net/sctp/transport.c
diff options
context:
space:
mode:
authorVlad Yasevich <vladislav.yasevich@hp.com>2009-09-04 18:20:58 -0400
committerVlad Yasevich <vladislav.yasevich@hp.com>2009-09-04 18:20:58 -0400
commit33ce828131ca6655b48bd2070dadd80f816dfe0d (patch)
treef098d69c268a67f41a2915d90dbf3463b36df375 /net/sctp/transport.c
parentb9f8478682445c2a3e0b87718a0563ef543ad94e (diff)
downloadlinux-33ce828131ca6655b48bd2070dadd80f816dfe0d.tar.gz
linux-33ce828131ca6655b48bd2070dadd80f816dfe0d.tar.bz2
linux-33ce828131ca6655b48bd2070dadd80f816dfe0d.zip
sctp: Clear fast_recovery on the transport when T3 timer expires.
If T3 timer expires, we are retransmitting data due to timeout any any fast recovery is null and void. We can clear the fast recovery flag. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Diffstat (limited to 'net/sctp/transport.c')
-rw-r--r--net/sctp/transport.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/sctp/transport.c b/net/sctp/transport.c
index e5dde45c79d3..c256e4839316 100644
--- a/net/sctp/transport.c
+++ b/net/sctp/transport.c
@@ -503,6 +503,9 @@ void sctp_transport_lower_cwnd(struct sctp_transport *transport,
transport->ssthresh = max(transport->cwnd/2,
4*transport->asoc->pathmtu);
transport->cwnd = transport->asoc->pathmtu;
+
+ /* T3-rtx also clears fast recovery on the transport */
+ transport->fast_recovery = 0;
break;
case SCTP_LOWER_CWND_FAST_RTX: