SCTP: Fix the number of HB transmissions.
authorVlad Yasevich <vladislav.yasevich@hp.com>
Thu, 15 Nov 2007 17:13:32 +0000 (12:13 -0500)
committerVlad Yasevich <vladislav.yasevich@hp.com>
Thu, 29 Nov 2007 15:17:41 +0000 (10:17 -0500)
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>
net/sctp/sm_statefuns.c

index b8bbb960723cd98ee09cad4c798e0f286f3f646a..5fb84778846d9b2e353a2346e1e6c4f458eaea0e 100644 (file)
@@ -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. */