OSDN Git Service

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 b8bbb96..5fb8477 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. */