]> git.openfabrics.org - ~ardavis/dapl.git/commitdiff
scm: fix retry count on connection pending timeout
authorArlin Davis <arlin.r.davis@intel.com>
Mon, 6 Feb 2012 22:04:37 +0000 (14:04 -0800)
committerArlin Davis <arlin.r.davis@intel.com>
Mon, 6 Feb 2012 22:04:37 +0000 (14:04 -0800)
Retry count not being decremented on connection TIMEOUT.
Also, cleanup log messages on CONN and REP pending and
add local port to output.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
dapl/openib_scm/cm.c

index a34965b8ca35ab2a739ecb4908783927d6199e07..cac6a72c141df87c3cdb189b48529d59cd332fdd 100644 (file)
@@ -505,19 +505,18 @@ static void dapli_socket_connected(dp_ib_cm_handle_t cm_ptr, int err)
        struct dapl_ep *ep_ptr = cm_ptr->ep;
 
        if (err) {
-               dapl_log(DAPL_DBG_TYPE_WARN,
-                        " CONN_REQUEST: %s ERR %s -> %s %d - %s %d\n",
+               dapl_log(DAPL_DBG_TYPE_CM_WARN,
+                        " CONN_PENDING: %s ERR %s -> %s PORT L-%x R-%x %s cnt=%d\n",
                         err == -1 ? "POLL" : "SOCKOPT",
                         err == -1 ? strerror(dapl_socket_errno()) : strerror(err), 
-                        inet_ntoa(((struct sockaddr_in *)
-                               &cm_ptr->addr)->sin_addr), 
-                        ntohs(((struct sockaddr_in *)
-                               &cm_ptr->addr)->sin_port),
+                        inet_ntoa(((struct sockaddr_in *)&cm_ptr->addr)->sin_addr),
+                        ntohs(((struct sockaddr_in *)&cm_ptr->msg.daddr.so)->sin_port),
+                        ntohs(((struct sockaddr_in *)&cm_ptr->addr)->sin_port),
                         (err == ETIMEDOUT || err == ECONNREFUSED) ? 
                         "RETRYING...":"ABORTING", cm_ptr->retry);
 
                /* retry a timeout */
-               if ((err == ETIMEDOUT) || (err == ECONNREFUSED && --cm_ptr->retry)) {
+               if (((err == ETIMEDOUT) || (err == ECONNREFUSED)) && --cm_ptr->retry) {
                        closesocket(cm_ptr->socket);
                        cm_ptr->socket = DAPL_INVALID_SOCKET;
                        dapli_socket_connect(cm_ptr->ep, (DAT_IA_ADDRESS_PTR)&cm_ptr->addr, 
@@ -715,14 +714,15 @@ static void dapli_socket_connect_rtu(dp_ib_cm_handle_t cm_ptr)
        len = recv(cm_ptr->socket, (char *)&cm_ptr->msg, exp, 0);
        if (len != exp || ntohs(cm_ptr->msg.ver) < DCM_VER_MIN) {
                int err = dapl_socket_errno();
-               dapl_log(DAPL_DBG_TYPE_WARN,
-                        " CONN_RTU read: sk %d ERR 0x%x, rcnt=%d, v=%d -> %s PORT L-%x R-%x PID L-%x R-%x\n",
+               dapl_log(DAPL_DBG_TYPE_CM_WARN,
+                        " CONN_REP_PENDING: sk %d ERR 0x%x, rcnt=%d, v=%d ->"
+                        " %s PORT L-%x R-%x PID L-%x R-%x %d\n",
                         cm_ptr->socket, err, len, ntohs(cm_ptr->msg.ver),
                         inet_ntoa(((struct sockaddr_in *)&cm_ptr->addr)->sin_addr),
                         ntohs(((struct sockaddr_in *)&cm_ptr->msg.daddr.so)->sin_port),
                         ntohs(((struct sockaddr_in *)&cm_ptr->addr)->sin_port),
                         ntohs(*(uint16_t*)&cm_ptr->msg.resv[0]),
-                        ntohs(*(uint16_t*)&cm_ptr->msg.resv[2]));
+                        ntohs(*(uint16_t*)&cm_ptr->msg.resv[2]),cm_ptr->retry);
 
                /* Retry; corner case where server tcp stack resets under load */
                if (err == ECONNRESET && --cm_ptr->retry) {