Signed-off by: Arlin Davis [EMAIL PROTECTED]
---
 dapl/openib_scm/dapl_ib_cm.c |  161 ++++++++++++++++++++++++++++--------------
 1 files changed, 109 insertions(+), 52 deletions(-)

diff --git a/dapl/openib_scm/dapl_ib_cm.c b/dapl/openib_scm/dapl_ib_cm.c
index 03b0f12..3dcdbad 100644
--- a/dapl/openib_scm/dapl_ib_cm.c
+++ b/dapl/openib_scm/dapl_ib_cm.c
@@ -229,8 +229,10 @@ dapli_socket_connected(ib_cm_handle_t cm_ptr, int err)
        len = writev(cm_ptr->socket, iovec, (cm_ptr->dst.p_size ? 2:1));
        if (len != (ntohl(cm_ptr->dst.p_size) + sizeof(ib_qp_cm_t))) {
                dapl_log(DAPL_DBG_TYPE_ERR, 
-                        " connect write: ERR %s, wcnt=%d\n",
-                        strerror(errno), len); 
+                        " CONN_PENDING write: ERR %s, wcnt=%d -> %s\n",
+                        strerror(errno), len,
+                        inet_ntoa(((struct sockaddr_in *)
+                          ep_ptr->param.remote_ia_address_ptr)->sin_addr)); 
                goto bail;
        }
        dapl_dbg_log(DAPL_DBG_TYPE_CM, 
@@ -288,7 +290,7 @@ dapli_socket_connect(DAPL_EP                *ep_ptr,
         if (ret < 0 || fcntl(cm_ptr->socket,
                               F_SETFL, ret | O_NONBLOCK) < 0) {
                 dapl_log(DAPL_DBG_TYPE_ERR,
-                         " connect: fcntl on socket %d ERR %d %s\n",
+                         " socket connect: fcntl on socket %d ERR %d %s\n",
                          cm_ptr->socket, ret,
                          strerror(errno));
                 goto bail;
@@ -298,10 +300,10 @@ dapli_socket_connect(DAPL_EP              *ep_ptr,
        ret = connect(cm_ptr->socket, r_addr, sizeof(*r_addr));
        if (ret && errno != EINPROGRESS) {
                dapl_log(DAPL_DBG_TYPE_ERR,
-                            " connect ERROR: %s on %s r_qual %d\n",
-                            strerror(errno), 
-                            inet_ntoa(((struct sockaddr_in 
*)r_addr)->sin_addr),
-                            (unsigned int)r_qual);
+                        " socket connect ERROR: %s -> %s r_qual %d\n",
+                        strerror(errno), 
+                        inet_ntoa(((struct sockaddr_in *)r_addr)->sin_addr),
+                        (unsigned int)r_qual);
                dapli_cm_destroy(cm_ptr);
                return DAT_INVALID_ADDRESS;
        } 
@@ -312,15 +314,24 @@ dapli_socket_connect(DAPL_EP              *ep_ptr,
        cm_ptr->dst.lid = 
                htons(dapli_get_lid(ia_ptr->hca_ptr->ib_hca_handle, 
                                    (uint8_t)ia_ptr->hca_ptr->port_num));
-       if (cm_ptr->dst.lid == 0xffff)
+       if (cm_ptr->dst.lid == 0xffff) {
+               dapl_log(DAPL_DBG_TYPE_ERR, 
+                        " CONNECT: query LID ERR %s -> %s\n",
+                        strerror(errno), 
+                        inet_ntoa(((struct sockaddr_in *)r_addr)->sin_addr));
                goto bail;
+       }
 
         /* in network order */
         if (ibv_query_gid(ia_ptr->hca_ptr->ib_hca_handle,
                                    (uint8_t)ia_ptr->hca_ptr->port_num,
-                                   0,
-                                    &cm_ptr->dst.gid))
+                                   0, &cm_ptr->dst.gid)) {
+               dapl_log(DAPL_DBG_TYPE_ERR, 
+                        " CONNECT: query GID ERR %s -> %s\n",
+                        strerror(errno), 
+                        inet_ntoa(((struct sockaddr_in *)r_addr)->sin_addr));
                goto bail;
+       }
 
        /* save references */
        cm_ptr->hca = ia_ptr->hca_ptr;
@@ -347,8 +358,9 @@ dapli_socket_connect(DAPL_EP                *ep_ptr,
        return DAT_SUCCESS;
 bail:
        dapl_log(DAPL_DBG_TYPE_ERR,
-                " connect ERROR: %s query lid(0x%x)/gid on %s r_qual %d\n",
-                strerror(errno),ntohs(cm_ptr->dst.lid), 
+                " socket connect ERROR: %s query lid(0x%x)/gid"
+                " -> %s r_qual %d\n",
+                strerror(errno), ntohs(cm_ptr->dst.lid), 
                 inet_ntoa(((struct sockaddr_in *)r_addr)->sin_addr),
                 (unsigned int)r_qual);
 
@@ -377,16 +389,20 @@ dapli_socket_connect_rtu(ib_cm_handle_t   cm_ptr)
        iovec[0].iov_len  = sizeof(ib_qp_cm_t);
        len = readv(cm_ptr->socket, iovec, 1);
        if (len != sizeof(ib_qp_cm_t) || ntohs(cm_ptr->dst.ver) != DSCM_VER) {
-               dapl_dbg_log(DAPL_DBG_TYPE_ERR, 
-                            " connect_rtu read: ERR %s, rcnt=%d, ver=%d\n",
-                            strerror(errno), len, cm_ptr->dst.ver); 
+               dapl_log(DAPL_DBG_TYPE_ERR, 
+                    " CONN_RTU read: ERR %s, rcnt=%d, ver=%d -> %s\n",
+                    strerror(errno), len, cm_ptr->dst.ver,
+                    inet_ntoa(((struct sockaddr_in *)
+                        ep_ptr->param.remote_ia_address_ptr)->sin_addr)); 
                goto bail;
        }
        /* check for consumer reject */
        if (cm_ptr->dst.rej) {
-               dapl_dbg_log(DAPL_DBG_TYPE_CM, 
-                            " connect_rtu read: PEER REJ reason=0x%x\n",
-                            ntohs(cm_ptr->dst.rej)); 
+               dapl_log(DAPL_DBG_TYPE_CM, 
+                        " CONN_RTU read: PEER REJ reason=0x%x -> %s\n",
+                        ntohs(cm_ptr->dst.rej),
+                        inet_ntoa(((struct sockaddr_in *)
+                          ep_ptr->param.remote_ia_address_ptr)->sin_addr));
                event = IB_CME_DESTINATION_REJECT_PRIVATE_DATA;
                goto bail;
        }
@@ -403,16 +419,18 @@ dapli_socket_connect_rtu(ib_cm_handle_t   cm_ptr)
                        sizeof(ep_ptr->remote_ia_address));
 
        dapl_dbg_log(DAPL_DBG_TYPE_EP, 
-                    " connect_rtu: DST %s port=0x%x lid=0x%x, qpn=0x%x, 
psize=%d\n",
+                    " CONN_RTU: DST %s port=0x%x lid=0x%x, qpn=0x%x, 
psize=%d\n",
                     inet_ntoa(((struct sockaddr_in 
*)&cm_ptr->dst.ia_address)->sin_addr),
                     cm_ptr->dst.port, cm_ptr->dst.lid, 
                     cm_ptr->dst.qpn, cm_ptr->dst.p_size); 
 
        /* validate private data size before reading */
        if (cm_ptr->dst.p_size > IB_MAX_REP_PDATA_SIZE) {
-               dapl_dbg_log(DAPL_DBG_TYPE_ERR, 
-                            " connect_rtu read: psize (%d) wrong\n",
-                            cm_ptr->dst.p_size ); 
+               dapl_log(DAPL_DBG_TYPE_ERR, 
+                        " CONN_RTU read: psize (%d) wrong -> %s\n",
+                        cm_ptr->dst.p_size,
+                        inet_ntoa(((struct sockaddr_in *)
+                          ep_ptr->param.remote_ia_address_ptr)->sin_addr)); 
                goto bail;
        }
 
@@ -423,21 +441,35 @@ dapli_socket_connect_rtu(ib_cm_handle_t   cm_ptr)
                iovec[0].iov_len  = cm_ptr->dst.p_size;
                len = readv(cm_ptr->socket, iovec, 1);
                if (len != cm_ptr->dst.p_size) {
-                       dapl_dbg_log(DAPL_DBG_TYPE_ERR, 
-                               " connect_rtu read pdata: ERR %s, rcnt=%d\n",
-                               strerror(errno), len); 
+                       dapl_log(DAPL_DBG_TYPE_ERR, 
+                           " CONN_RTU read pdata: ERR %s, rcnt=%d -> %s\n",
+                           strerror(errno), len,
+                           inet_ntoa(((struct sockaddr_in *)
+                             ep_ptr->param.remote_ia_address_ptr)->sin_addr)); 
                        goto bail;
                }
        }
 
        /* modify QP to RTR and then to RTS with remote info */
        if (dapls_modify_qp_state(ep_ptr->qp_handle, 
-                                 IBV_QPS_RTR, &cm_ptr->dst) != DAT_SUCCESS)
+                                 IBV_QPS_RTR, &cm_ptr->dst) != DAT_SUCCESS) {
+               dapl_log(DAPL_DBG_TYPE_ERR, 
+                        " CONN_RTU: QPS_RTR ERR %s -> %s\n",
+                        strerror(errno), 
+                        inet_ntoa(((struct sockaddr_in *)
+                          ep_ptr->param.remote_ia_address_ptr)->sin_addr)); 
                goto bail;
+       }
 
        if (dapls_modify_qp_state(ep_ptr->qp_handle, 
-                                  IBV_QPS_RTS, &cm_ptr->dst) != DAT_SUCCESS)
+                                 IBV_QPS_RTS, &cm_ptr->dst) != DAT_SUCCESS) {
+               dapl_log(DAPL_DBG_TYPE_ERR, 
+                        " CONN_RTU: QPS_RTS ERR %s -> %s\n",
+                        strerror(errno), 
+                        inet_ntoa(((struct sockaddr_in *)
+                          ep_ptr->param.remote_ia_address_ptr)->sin_addr)); 
                goto bail;
+       }
                 
        ep_ptr->qp_state = IB_QP_STATE_RTS;
 
@@ -488,8 +520,9 @@ dapli_socket_listen(DAPL_IA         *ia_ptr,
        
        /* bind, listen, set sockopt, accept, exchange data */
        if ((cm_ptr->socket = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
-               dapl_dbg_log (DAPL_DBG_TYPE_ERR, 
-                               "socket for listen returned %d\n", errno);
+               dapl_log(DAPL_DBG_TYPE_ERR, 
+                        " ERR: listen socket create: %s\n", 
+                        strerror(errno));
                dat_status = DAT_INSUFFICIENT_RESOURCES;
                goto bail;
        }
@@ -501,9 +534,9 @@ dapli_socket_listen(DAPL_IA         *ia_ptr,
 
        if ((bind(cm_ptr->socket,(struct sockaddr*)&addr, sizeof(addr)) < 0) ||
            (listen(cm_ptr->socket, 128) < 0)) {
-               dapl_dbg_log( DAPL_DBG_TYPE_CM,
-                               " listen: ERROR %s on conn_qual 0x%x\n",
-                               strerror(errno),serviceID); 
+               dapl_dbg_log(DAPL_DBG_TYPE_CM,
+                            " listen: ERROR %s on conn_qual 0x%x\n",
+                            strerror(errno),serviceID); 
                if (errno == EADDRINUSE)
                        dat_status = DAT_CONN_QUAL_IN_USE;
                else
@@ -556,7 +589,7 @@ dapli_socket_accept(ib_cm_srvc_handle_t cm_ptr)
                                (struct sockaddr*)&acm_ptr->dst.ia_address, 
                                (socklen_t*)&len);
        if (acm_ptr->socket < 0) {
-               dapl_dbg_log(DAPL_DBG_TYPE_ERR, 
+               dapl_log(DAPL_DBG_TYPE_ERR, 
                        " accept: ERR %s on FD %d l_cr %p\n",
                        strerror(errno),cm_ptr->socket,cm_ptr); 
                goto bail;
@@ -589,7 +622,7 @@ dapli_socket_accept_data(ib_cm_srvc_handle_t acm_ptr)
        len = read(acm_ptr->socket, &acm_ptr->dst, sizeof(ib_qp_cm_t));
        if (len != sizeof(ib_qp_cm_t) || 
            ntohs(acm_ptr->dst.ver) != DSCM_VER) {
-               dapl_dbg_log(DAPL_DBG_TYPE_ERR, 
+               dapl_log(DAPL_DBG_TYPE_ERR, 
                             " accept read: ERR %s, rcnt=%d, ver=%d\n",
                             strerror(errno), len, acm_ptr->dst.ver); 
                goto bail;
@@ -622,7 +655,7 @@ dapli_socket_accept_data(ib_cm_srvc_handle_t acm_ptr)
                len = read( acm_ptr->socket, 
                            acm_ptr->p_data, acm_ptr->dst.p_size);
                if (len != acm_ptr->dst.p_size) {
-                       dapl_dbg_log(DAPL_DBG_TYPE_ERR, 
+                       dapl_log(DAPL_DBG_TYPE_ERR, 
                                     " accept read pdata: ERR %s, rcnt=%d\n",
                                     strerror(errno), len); 
                        goto bail;
@@ -669,20 +702,30 @@ dapli_socket_accept_usr(DAPL_EP           *ep_ptr,
                return DAT_INTERNAL_ERROR;
        
        dapl_dbg_log(DAPL_DBG_TYPE_EP, 
-                    " accept_usr: remote port=0x%x lid=0x%x"
+                    " ACCEPT_USR: remote port=0x%x lid=0x%x"
                     " qpn=0x%x psize=%d\n",
                     cm_ptr->dst.port, cm_ptr->dst.lid,
                     cm_ptr->dst.qpn, cm_ptr->dst.p_size); 
 
        /* modify QP to RTR and then to RTS with remote info already read */
        if (dapls_modify_qp_state(ep_ptr->qp_handle, 
-                                 IBV_QPS_RTR, &cm_ptr->dst) != DAT_SUCCESS)
+                                 IBV_QPS_RTR, &cm_ptr->dst) != DAT_SUCCESS) {
+               dapl_log(DAPL_DBG_TYPE_ERR, 
+                        " ACCEPT_USR: QPS_RTR ERR %s -> %s\n",
+                        strerror(errno), 
+                        inet_ntoa(((struct sockaddr_in *)
+                               &cm_ptr->dst.ia_address)->sin_addr)); 
                goto bail;
-
+       }
        if (dapls_modify_qp_state(ep_ptr->qp_handle, 
-                                 IBV_QPS_RTS, &cm_ptr->dst) != DAT_SUCCESS)
+                                 IBV_QPS_RTS, &cm_ptr->dst) != DAT_SUCCESS) {
+               dapl_log(DAPL_DBG_TYPE_ERR, 
+                        " ACCEPT_USR: QPS_RTS ERR %s -> %s\n",
+                        strerror(errno), 
+                        inet_ntoa(((struct sockaddr_in *)
+                               &cm_ptr->dst.ia_address)->sin_addr)); 
                goto bail;
-
+       }
        ep_ptr->qp_state = IB_QP_STATE_RTS;
        
        /* save remote address information */
@@ -695,15 +738,26 @@ dapli_socket_accept_usr(DAPL_EP           *ep_ptr,
        cm_ptr->dst.port = htons(ia_ptr->hca_ptr->port_num);
        cm_ptr->dst.lid = htons(dapli_get_lid(ia_ptr->hca_ptr->ib_hca_handle, 
                                        (uint8_t)ia_ptr->hca_ptr->port_num));
-       if (cm_ptr->dst.lid == 0xffff)
+       if (cm_ptr->dst.lid == 0xffff) {
+               dapl_log(DAPL_DBG_TYPE_ERR, 
+                        " ACCEPT_USR: query LID ERR %s -> %s\n",
+                        strerror(errno), 
+                        inet_ntoa(((struct sockaddr_in *)
+                               &cm_ptr->dst.ia_address)->sin_addr)); 
                goto bail;
+       }
 
         /* in network order */
        if (ibv_query_gid(ia_ptr->hca_ptr->ib_hca_handle,
                          (uint8_t)ia_ptr->hca_ptr->port_num,
-                         0,
-                         &cm_ptr->dst.gid))
+                         0, &cm_ptr->dst.gid)) {
+               dapl_log(DAPL_DBG_TYPE_ERR, 
+                        " ACCEPT_USR: query GID ERR %s -> %s\n",
+                        strerror(errno), 
+                        inet_ntoa(((struct sockaddr_in *)
+                               &cm_ptr->dst.ia_address)->sin_addr)); 
                goto bail;
+       }
 
        cm_ptr->dst.ia_address = ia_ptr->hca_ptr->hca_address;
        cm_ptr->dst.p_size = htonl(p_size);
@@ -715,18 +769,20 @@ dapli_socket_accept_usr(DAPL_EP           *ep_ptr,
        }
        len = writev(cm_ptr->socket, iovec, (p_size ? 2:1));
        if (len != (p_size + sizeof(ib_qp_cm_t))) {
-               dapl_dbg_log(DAPL_DBG_TYPE_ERR, 
-                            " accept_rtu: ERR %s, wcnt=%d\n",
-                            strerror(errno), len); 
+               dapl_log(DAPL_DBG_TYPE_ERR, 
+                        " ACCEPT_USR: ERR %s, wcnt=%d -> %s\n",
+                        strerror(errno), len,
+                        inet_ntoa(((struct sockaddr_in *)
+                            &cm_ptr->dst.ia_address)->sin_addr)); 
                goto bail;
        }
        dapl_dbg_log(DAPL_DBG_TYPE_CM, 
-                    " accept_usr: local port=0x%x lid=0x%x"
+                    " ACCEPT_USR: local port=0x%x lid=0x%x"
                     " qpn=0x%x psize=%d\n",
                     ntohs(cm_ptr->dst.port), ntohs(cm_ptr->dst.lid), 
                     ntohl(cm_ptr->dst.qpn), ntohl(cm_ptr->dst.p_size)); 
         dapl_dbg_log(DAPL_DBG_TYPE_CM,
-                     " accept_usr SRC GID subnet %016llx id %016llx\n",
+                     " ACCEPT_USR SRC GID subnet %016llx id %016llx\n",
                      (unsigned long long) 
                        cpu_to_be64(cm_ptr->dst.gid.global.subnet_prefix),
                      (unsigned long long) 
@@ -745,7 +801,6 @@ dapli_socket_accept_usr(DAPL_EP             *ep_ptr,
        dapl_dbg_log( DAPL_DBG_TYPE_EP," PASSIVE: accepted!\n" ); 
        return DAT_SUCCESS;
 bail:
-       dapl_dbg_log(DAPL_DBG_TYPE_ERR," accept_rtu: ERR !QP_RTR_RTS \n"); 
        dapli_cm_destroy(cm_ptr);
        dapls_ib_reinit_ep(ep_ptr); /* reset QP state */
        return DAT_INTERNAL_ERROR;
@@ -763,9 +818,11 @@ dapli_socket_accept_rtu(ib_cm_handle_t     cm_ptr)
        /* complete handshake after final QP state change */
        len = read(cm_ptr->socket, &rtu_data, sizeof(rtu_data));
        if (len != sizeof(rtu_data) || ntohs(rtu_data) != 0x0e0f) {
-               dapl_dbg_log(DAPL_DBG_TYPE_ERR, 
-                            " accept_rtu: ERR %s, rcnt=%d rdata=%x\n",
-                            strerror(errno), len, ntohs(rtu_data)); 
+               dapl_log(DAPL_DBG_TYPE_ERR, 
+                        " ACCEPT_RTU: ERR %s, rcnt=%d rdata=%x\n",
+                        strerror(errno), len, ntohs(rtu_data),
+                        inet_ntoa(((struct sockaddr_in *)
+                               &cm_ptr->dst.ia_address)->sin_addr)); 
                goto bail;
        }
 
-- 
1.5.2.5


_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to