diff options
author | Vlad Yasevich <vladislav.yasevich@hp.com> | 2008-06-04 12:38:43 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-06-04 12:38:43 -0700 |
commit | a6465234814efda9ed1dccdba852953f7508e827 (patch) | |
tree | d2aa1f6c5776b0bd85a1ae9652ab47b18a4ba744 /include/net/sctp | |
parent | 159c6bea37c54dfae44409467e0f17600722d541 (diff) | |
download | kernel-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.h | 8 |
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. */ |