aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorVlad Yasevich <vladislav.yasevich@hp.com>2007-03-19 20:02:30 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-03-20 03:09:45 -0400
commit749bf9215ed1a8b6edb4bb03693c2b62c6b9c2a4 (patch)
treed5656c441181fddef41392a4aa07f54e56487312 /include
parentfb78525ae1b75bfac1da600ceb008aef4d293649 (diff)
[SCTP]: Reset some transport and association variables on restart
If the association has been restarted, we need to reset the transport congestion variables as well as accumulated error counts and CACC variables. If we do not, the association will use the wrong values and may terminate prematurely. This was found with a scenario where the peer restarted the association when lksctp was in the last HB timeout for its association. The restart happened, but the error counts have not been reset and when the timeout occurred, a newly restarted association was terminated due to excessive retransmits. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: Sridhar Samudrala <sri@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/sctp/structs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 31a8e88f1a74..f431acf3dcea 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -1002,6 +1002,7 @@ void sctp_transport_update_rto(struct sctp_transport *, __u32);
1002void sctp_transport_raise_cwnd(struct sctp_transport *, __u32, __u32); 1002void sctp_transport_raise_cwnd(struct sctp_transport *, __u32, __u32);
1003void sctp_transport_lower_cwnd(struct sctp_transport *, sctp_lower_cwnd_t); 1003void sctp_transport_lower_cwnd(struct sctp_transport *, sctp_lower_cwnd_t);
1004unsigned long sctp_transport_timeout(struct sctp_transport *); 1004unsigned long sctp_transport_timeout(struct sctp_transport *);
1005void sctp_transport_reset(struct sctp_transport *);
1005 1006
1006 1007
1007/* This is the structure we use to queue packets as they come into 1008/* This is the structure we use to queue packets as they come into