#define DEST_QP 1\r
\r
\r
+#pragma warning(disable:4324)\r
typedef struct _alts_cm_ca_obj\r
{\r
ib_api_status_t status;\r
\r
ib_qp_attr_t qp_attr[MAX_QPS];\r
\r
-\r
ib_send_wr_t *p_send_wr;\r
ib_recv_wr_t *p_recv_wr;\r
size_t wr_send_size;\r
mem_region_t mem_region[10];\r
\r
} alts_cm_ca_obj_t;\r
+#pragma warning(default:4324)\r
\r
#define MAX_SERVER 500\r
\r
p_done_cl->wr_id,\r
ib_get_wc_status_str(p_done_cl->status) ));\r
\r
-\r
- if (p_done_cl->wc_type == IB_WC_RECV)\r
+ if( p_done_cl->status == IB_WCS_SUCCESS )\r
{\r
- ALTS_PRINT(ALTS_DBG_VERBOSE,\r
- ("message length..:%d bytes\n",\r
- p_done_cl->length ));\r
+ if (p_done_cl->wc_type == IB_WC_RECV)\r
+ {\r
+ ALTS_PRINT(ALTS_DBG_VERBOSE,\r
+ ("message length..:%d bytes\n",\r
+ p_done_cl->length ));\r
\r
- id = (uint32_t)p_done_cl->wr_id;\r
+ id = (uint32_t)p_done_cl->wr_id;\r
\r
- ALTS_PRINT(ALTS_DBG_VERBOSE,\r
- ("RecvRC info:\n"\r
- "\trecv_opt...:x%x\n"\r
- "\timm_data...:x%x\n",\r
- p_done_cl->recv.conn.recv_opt,\r
- p_done_cl->recv.ud.immediate_data ));\r
+ ALTS_PRINT(ALTS_DBG_VERBOSE,\r
+ ("RecvRC info:\n"\r
+ "\trecv_opt...:x%x\n"\r
+ "\timm_data...:x%x\n",\r
+ p_done_cl->recv.conn.recv_opt,\r
+ p_done_cl->recv.ud.immediate_data ));\r
\r
- if( p_ca_obj->rdma_enabled == TRUE )\r
+ if( p_ca_obj->rdma_enabled == TRUE )\r
+ {\r
+ process_response( p_ca_obj,\r
+ (alts_rdma_t*)p_ca_obj->mem_region[p_done_cl->wr_id].buffer,\r
+ (uint32_t)p_done_cl->wr_id );\r
+ }\r
+ }\r
+ else\r
+ if (p_done_cl->wc_type == IB_WC_RDMA_WRITE)\r
{\r
+ // convert request to read now\r
+ p_data =\r
+ (alts_rdma_t*)p_ca_obj->mem_region[p_done_cl->wr_id].buffer;\r
+ p_data->msg_type = 'R';\r
process_response( p_ca_obj,\r
- (alts_rdma_t*)p_ca_obj->mem_region[p_done_cl->wr_id].buffer,\r
- (uint32_t)p_done_cl->wr_id );\r
+ p_data,\r
+ (uint32_t)p_done_cl->wr_id );\r
+ }\r
+ else\r
+ if (p_done_cl->wc_type == IB_WC_RDMA_READ)\r
+ {\r
+ id = (uint32_t)p_done_cl->wr_id;\r
+ process_response( p_ca_obj,\r
+ (alts_rdma_t*)p_ca_obj->mem_region[p_done_cl->wr_id].buffer,\r
+ (uint32_t)p_done_cl->wr_id );\r
}\r
- }\r
- else\r
- if (p_done_cl->wc_type == IB_WC_RDMA_WRITE)\r
- {\r
- // convert request to read now\r
- p_data =\r
- (alts_rdma_t*)p_ca_obj->mem_region[p_done_cl->wr_id].buffer;\r
- p_data->msg_type = 'R';\r
- process_response( p_ca_obj,\r
- p_data,\r
- (uint32_t)p_done_cl->wr_id );\r
- }\r
- else\r
- if (p_done_cl->wc_type == IB_WC_RDMA_READ)\r
- {\r
- id = (uint32_t)p_done_cl->wr_id;\r
- process_response( p_ca_obj,\r
- (alts_rdma_t*)p_ca_obj->mem_region[p_done_cl->wr_id].buffer,\r
- (uint32_t)p_done_cl->wr_id );\r
}\r
\r
p_free_wcl = p_done_cl;\r
p_cm_rtu->access_ctrl |= IB_AC_RDMA_READ + IB_AC_RDMA_WRITE;\r
}\r
\r
- p_cm_rtu->sq_depth = 16;\r
- p_cm_rtu->rq_depth = 16;\r
+ if( p_ca_obj->p_ca_attr->modify_wr_depth )\r
+ {\r
+ p_cm_rtu->sq_depth = 16;\r
+ p_cm_rtu->rq_depth = 16;\r
+ }\r
p_cm_rtu->pfn_cm_apr_cb = alts_cm_apr_cb;\r
p_cm_rtu->pfn_cm_dreq_cb = alts_cm_dreq_cb;\r
\r
ib_status = ib_cm_rtu( p_cm_rep_rec->h_cm_rep, p_cm_rtu );\r
+\r
+ ALTS_PRINT( ALTS_DBG_VERBOSE,\r
+ ("ib_cm_rtu returned %s\n", ib_get_err_str( ib_status )) );\r
}\r
else\r
if ( p_cm_rep_rec->qp_type == IB_QPT_UNRELIABLE_DGRM )\r
cm_mra.svc_timeout = 21; // equals 8.5 sec wait + packet lifetime\r
\r
ib_status = ib_cm_mra( p_cm_req_rec->h_cm_req, &cm_mra );\r
+ ALTS_PRINT( ALTS_DBG_VERBOSE,\r
+ ("ib_cm_mra returned %s\n", ib_get_err_str( ib_status )) );\r
}\r
else\r
{\r
ib_status = ib_cm_rep( p_cm_req_rec->h_cm_req, p_cm_rep );\r
+ ALTS_PRINT( ALTS_DBG_VERBOSE,\r
+ ("ib_cm_rep returned %s\n", ib_get_err_str( ib_status )) );\r
}\r
}\r
else\r
p_req_client->pfn_cm_rej_cb = alts_cm_rej_cb;\r
p_req_client->pfn_cm_mra_cb = alts_cm_mra_cb;\r
p_req_client->h_qp = p_ca_obj->h_qp[SRC_QP];\r
+ p_req_client->local_resp_timeout = 12;\r
}\r
\r
ib_status = ib_cm_req(p_req_client);\r
if(ib_status != IB_SUCCESS)\r
{\r
ALTS_PRINT( ALTS_DBG_ERROR,\r
- ("alts_open_al failed status = %s\n", ib_get_err_str(ib_status)) );\r
+ ("alts_open_al failed status = %s\n",\r
+ ib_get_err_str(ib_status)) );\r
break;\r
}\r
\r
if(ib_status != IB_SUCCESS)\r
{\r
ALTS_PRINT( ALTS_DBG_ERROR,\r
- ("alts_open_ca failed status = %s\n", ib_get_err_str(ib_status)) );\r
+ ("alts_open_ca failed status = %s\n",\r
+ ib_get_err_str(ib_status)) );\r
break;\r
}\r
\r
if(ib_status != IB_INSUFFICIENT_MEMORY)\r
{\r
ALTS_PRINT(ALTS_DBG_ERROR,\r
- ("ib_query_ca failed with status = %s\n", ib_get_err_str(ib_status)) );\r
+ ("ib_query_ca failed with status = %s\n",\r
+ ib_get_err_str(ib_status)) );\r
ib_status = IB_ERROR;\r
break;\r
}\r
if(ib_status != IB_SUCCESS)\r
{\r
ALTS_PRINT( ALTS_DBG_ERROR,\r
- ("ib_query_ca failed with status = %s\n", ib_get_err_str(ib_status)) );\r
+ ("ib_query_ca failed with status = %s\n",\r
+ ib_get_err_str(ib_status)) );\r
break;\r
}\r
\r
if(ib_status != IB_SUCCESS)\r
{\r
ALTS_PRINT( ALTS_DBG_ERROR,\r
- ("ib_query api failed with status %s\n",ib_get_err_str(ib_status)) );\r
+ ("ib_query api failed with status %s\n",\r
+ ib_get_err_str(ib_status)) );\r
break;\r
}\r
\r
if(ib_status != IB_SUCCESS)\r
{\r
ALTS_PRINT( ALTS_DBG_ERROR,\r
- ("ib_query api failed with status %s\n",ib_get_err_str(ib_status)) );\r
+ ("ib_query api failed with status %s\n",\r
+ ib_get_err_str(ib_status)) );\r
break;\r
}\r
\r
if(ib_status != IB_SUCCESS)\r
{\r
ALTS_PRINT( ALTS_DBG_ERROR,\r
- ("ib_query api failed with status %s\n",ib_get_err_str(ib_status)) );\r
+ ("ib_query api failed with status %s\n",\r
+ ib_get_err_str(ib_status)) );\r
break;\r
}\r
\r
if(ib_status != IB_SUCCESS)\r
{\r
ALTS_PRINT( ALTS_DBG_ERROR,\r
- ("ib_query api failed with status %s\n",ib_get_err_str(ib_status)) );\r
+ ("ib_query api failed with status %s\n",\r
+ ib_get_err_str(ib_status)) );\r
break;\r
}\r
\r
if(ib_status != IB_SUCCESS)\r
{\r
ALTS_PRINT( ALTS_DBG_ERROR,\r
- ("ib_query api failed with status %s\n",ib_get_err_str(ib_status)) );\r
+ ("ib_query api failed with status %s\n",\r
+ ib_get_err_str(ib_status)) );\r
break;\r
}\r
\r
if(ib_status != IB_SUCCESS)\r
{\r
ALTS_PRINT( ALTS_DBG_ERROR, \r
- ("ib_reg_svc api failed with status %s\n",ib_get_err_str(ib_status)) );\r
+ ("ib_reg_svc api failed with status %s\n",\r
+ ib_get_err_str(ib_status)) );\r
break;\r
}\r
\r
if(ib_status != IB_SUCCESS)\r
{\r
ALTS_PRINT( ALTS_DBG_ERROR, \r
- ("ib_reg_svc api failed with status %s\n",ib_get_err_str(ib_status)) );\r
+ ("ib_reg_svc api failed with status %s\n",\r
+ ib_get_err_str(ib_status)) );\r
break;\r
}\r
\r
if( ib_status != IB_SUCCESS )\r
{\r
ALTS_PRINT( ALTS_DBG_ERROR, \r
- ("ib_dereg_svc api failed with status %s\n",ib_get_err_str(ib_status)) );\r
+ ("ib_dereg_svc api failed with status %s\n",\r
+ ib_get_err_str(ib_status)) );\r
break;\r
}\r
#endif\r