summaryrefslogtreecommitdiffstats
path: root/include/net/sctp
diff options
context:
space:
mode:
authorVlad Yasevich <vladislav.yasevich@hp.com>2008-06-04 12:38:43 -0700
committerDavid S. Miller <davem@davemloft.net>2008-06-04 12:38:43 -0700
commita6465234814efda9ed1dccdba852953f7508e827 (patch)
treed2aa1f6c5776b0bd85a1ae9652ab47b18a4ba744 /include/net/sctp
parent159c6bea37c54dfae44409467e0f17600722d541 (diff)
downloadkernel-crypto-a6465234814efda9ed1dccdba852953f7508e827.tar.gz
kernel-crypto-a6465234814efda9ed1dccdba852953f7508e827.tar.xz
kernel-crypto-a6465234814efda9ed1dccdba852953f7508e827.zip
sctp: Correctly implement Fast Recovery cwnd manipulations.
Correctly keep track of Fast Recovery state and do not reduce congestion window multiple times during sucht state. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Tested-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/sctp')
-rw-r--r--include/net/sctp/structs.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 917d425f054..67592072a32 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -902,7 +902,10 @@ struct sctp_transport {
* calculation completes (i.e. the DATA chunk
* is SACK'd) clear this flag.
*/
- int rto_pending;
+ __u8 rto_pending;
+
+ /* Flag to track the current fast recovery state */
+ __u8 fast_recovery;
/*
* These are the congestion stats.
@@ -921,6 +924,9 @@ struct sctp_transport {
/* Data that has been sent, but not acknowledged. */
__u32 flight_size;
+ /* TSN marking the fast recovery exit point */
+ __u32 fast_recovery_exit;
+
/* Destination */
struct dst_entry *dst;
/* Source address. */