diff options
author | Vlad Yasevich <vladislav.yasevich@hp.com> | 2008-06-04 15:38:43 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-06-04 15:38:43 -0400 |
commit | a6465234814efda9ed1dccdba852953f7508e827 (patch) | |
tree | d2aa1f6c5776b0bd85a1ae9652ab47b18a4ba744 /include | |
parent | 159c6bea37c54dfae44409467e0f17600722d541 (diff) |
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')
-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 917d425f0542..67592072a32e 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
@@ -902,7 +902,10 @@ struct sctp_transport { | |||
902 | * calculation completes (i.e. the DATA chunk | 902 | * calculation completes (i.e. the DATA chunk |
903 | * is SACK'd) clear this flag. | 903 | * is SACK'd) clear this flag. |
904 | */ | 904 | */ |
905 | int rto_pending; | 905 | __u8 rto_pending; |
906 | |||
907 | /* Flag to track the current fast recovery state */ | ||
908 | __u8 fast_recovery; | ||
906 | 909 | ||
907 | /* | 910 | /* |
908 | * These are the congestion stats. | 911 | * These are the congestion stats. |
@@ -921,6 +924,9 @@ struct sctp_transport { | |||
921 | /* Data that has been sent, but not acknowledged. */ | 924 | /* Data that has been sent, but not acknowledged. */ |
922 | __u32 flight_size; | 925 | __u32 flight_size; |
923 | 926 | ||
927 | /* TSN marking the fast recovery exit point */ | ||
928 | __u32 fast_recovery_exit; | ||
929 | |||
924 | /* Destination */ | 930 | /* Destination */ |
925 | struct dst_entry *dst; | 931 | struct dst_entry *dst; |
926 | /* Source address. */ | 932 | /* Source address. */ |