summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVlad Yasevich <vladislav.yasevich@hp.com>2007-11-15 12:13:32 -0500
committerVlad Yasevich <vladislav.yasevich@hp.com>2007-11-29 10:17:41 -0500
commitfd10279bc7405c4f1e47a008686d3d9ad71d7f6d (patch)
tree8b7c4b6b110fe3c439e57a393276ef21baa20056
parenta357dde9df33f28611e6a3d4f88265e39bcc8880 (diff)
downloadop-kernel-dev-fd10279bc7405c4f1e47a008686d3d9ad71d7f6d.zip
op-kernel-dev-fd10279bc7405c4f1e47a008686d3d9ad71d7f6d.tar.gz
SCTP: Fix the number of HB transmissions.
Our treatment of Heartbeats is special in that the inital HB chunk counts against the error count for the association, where as for other chunks, only retransmissions or timeouts count against us. As a result, we had an off-by-1 situation with a number of Heartbeats we could send. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
-rw-r--r--net/sctp/sm_statefuns.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
index b8bbb96..5fb8477 100644
--- a/net/sctp/sm_statefuns.c
+++ b/net/sctp/sm_statefuns.c
@@ -959,7 +959,7 @@ sctp_disposition_t sctp_sf_sendbeat_8_3(const struct sctp_endpoint *ep,
{
struct sctp_transport *transport = (struct sctp_transport *) arg;
- if (asoc->overall_error_count >= asoc->max_retrans) {
+ if (asoc->overall_error_count > asoc->max_retrans) {
sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR,
SCTP_ERROR(ETIMEDOUT));
/* CMD_ASSOC_FAILED calls CMD_DELETE_TCB. */
OpenPOWER on IntegriCloud