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>
This commit is contained in:
Vlad Yasevich
2008-06-04 12:38:43 -07:00
committed by David S. Miller
parent 159c6bea37
commit a646523481
2 changed files with 39 additions and 13 deletions

View File

@ -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. */