diff options
author | Vlad Yasevich <vladislav.yasevich@hp.com> | 2008-06-04 15:39:11 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-06-04 15:39:11 -0400 |
commit | 62aeaff5ccd96462b7077046357a6d7886175a57 (patch) | |
tree | 8ea18997997a8724222c86f659b559e12bcf4a86 /include/net | |
parent | a6465234814efda9ed1dccdba852953f7508e827 (diff) |
sctp: Start T3-RTX timer when fast retransmitting lowest TSN
When we are trying to fast retransmit the lowest outstanding TSN, we
need to restart the T3-RTX timer, so that subsequent timeouts will
correctly tag all the packets necessary for retransmissions.
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')
-rw-r--r-- | include/net/sctp/structs.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index 67592072a32e..714dc43c0345 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
@@ -1051,7 +1051,7 @@ void sctp_transport_route(struct sctp_transport *, union sctp_addr *, | |||
1051 | struct sctp_sock *); | 1051 | struct sctp_sock *); |
1052 | void sctp_transport_pmtu(struct sctp_transport *); | 1052 | void sctp_transport_pmtu(struct sctp_transport *); |
1053 | void sctp_transport_free(struct sctp_transport *); | 1053 | void sctp_transport_free(struct sctp_transport *); |
1054 | void sctp_transport_reset_timers(struct sctp_transport *); | 1054 | void sctp_transport_reset_timers(struct sctp_transport *, int); |
1055 | void sctp_transport_hold(struct sctp_transport *); | 1055 | void sctp_transport_hold(struct sctp_transport *); |
1056 | void sctp_transport_put(struct sctp_transport *); | 1056 | void sctp_transport_put(struct sctp_transport *); |
1057 | void sctp_transport_update_rto(struct sctp_transport *, __u32); | 1057 | void sctp_transport_update_rto(struct sctp_transport *, __u32); |
@@ -1141,6 +1141,9 @@ struct sctp_outq { | |||
1141 | /* How many unackd bytes do we have in-flight? */ | 1141 | /* How many unackd bytes do we have in-flight? */ |
1142 | __u32 outstanding_bytes; | 1142 | __u32 outstanding_bytes; |
1143 | 1143 | ||
1144 | /* Are we doing fast-rtx on this queue */ | ||
1145 | char fast_rtx; | ||
1146 | |||
1144 | /* Corked? */ | 1147 | /* Corked? */ |
1145 | char cork; | 1148 | char cork; |
1146 | 1149 | ||