aboutsummaryrefslogtreecommitdiffstats
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)
downloadkernel_samsung_smdk4412-33ce828131ca6655b48bd2070dadd80f816dfe0d.zip
kernel_samsung_smdk4412-33ce828131ca6655b48bd2070dadd80f816dfe0d.tar.gz
kernel_samsung_smdk4412-33ce828131ca6655b48bd2070dadd80f816dfe0d.tar.bz2
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 e5dde45..c256e48 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: