dapl_log(DAPL_DBG_TYPE_CM,
" CONN_REQ: (%d) SRC lid=0x%x,"
- " qpn=0x%x, psize=%d GID %s\n",
+ " qpn=0x%x, psize=%d GID %s rd_in %d rtns %d mtu %d rsv %d\n",
exp, ntohs(cm_ptr->msg.saddr.ib.lid),
ntohl(cm_ptr->msg.saddr.ib.qpn),
ntohs(cm_ptr->msg.p_size),
inet_ntop(AF_INET6, &cm_ptr->hca->ib_trans.gid,
- gid_str, sizeof(gid_str)));
+ gid_str, sizeof(gid_str)),
+ cm_ptr->msg.rd_in, cm_ptr->msg.rtns,
+ cm_ptr->msg.mtu, cm_ptr->msg.resv[0]);
DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)), DCNT_IA_CM_REQ_TX);
return;
exp += SCM_BC_DIFF;
}
- dapl_log(DAPL_DBG_TYPE_CM, " CONN_REP_IN: ver %d cm_sz %d, p_sz %d\n",
- ntohs(cm_ptr->msg.ver), exp, ntohs(cm_ptr->msg.p_size));
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " CONN_REP_IN: ver %d cm_sz %d, p_sz %d rd_in %d mtu %d rsv %d\n",
+ ntohs(cm_ptr->msg.ver), exp, ntohs(cm_ptr->msg.p_size),
+ cm_ptr->msg.rd_in, cm_ptr->msg.mtu, cm_ptr->msg.resv[0]);
if (len != exp || ntohs(cm_ptr->msg.ver) < DCM_VER_MIN) {
int err = dapl_socket_errno();
}
/* rdma_out, initiator, cannot exceed remote rdma_in max */
- if (ntohs(cm_ptr->msg.ver) >= 7)
+ if (ntohs(cm_ptr->msg.ver) >= DCM_VER_RR)
ep_ptr->param.ep_attr.max_rdma_read_out =
DAPL_MIN(ep_ptr->param.ep_attr.max_rdma_read_out,
cm_ptr->msg.rd_in);
/* Set QP MTU, if negotiated. 2K for compatibility */
- ep_ptr->qp_handle->mtu = cm_ptr->msg.mtu ?
+ ep_ptr->qp_handle->mtu = (ntohs(cm_ptr->msg.ver) >= DCM_VER_MTU) ?
DAPL_MIN(cm_ptr->msg.mtu, cm_ptr->hca->ib_trans.ib_cm.mtu):
getenv("DAPL_IB_MTU") ? cm_ptr->hca->ib_trans.ib_cm.mtu : IBV_MTU_2048;
DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&acm_ptr->hca->ia_list_head)), DCNT_IA_CM_REQ_RX);
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " ACCEPT: DST %s %x lid=0x%x, qpn=0x%x, psz=%d\n",
- inet_ntoa(((struct sockaddr_in *)
- &acm_ptr->msg.daddr.so)->sin_addr),
- ntohs(((struct sockaddr_in *)
- &acm_ptr->msg.daddr.so)->sin_port),
- ntohs(acm_ptr->msg.saddr.ib.lid),
- ntohl(acm_ptr->msg.saddr.ib.qpn), exp);
+ dapl_log(DAPL_DBG_TYPE_CM,
+ " ACCEPT: DST %s %x lid=0x%x, qpn=0x%x, psz=%d"
+ " rd_in %d mtu %d rsv %d \n",
+ inet_ntoa(((struct sockaddr_in *)
+ &acm_ptr->msg.daddr.so)->sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &acm_ptr->msg.daddr.so)->sin_port),
+ ntohs(acm_ptr->msg.saddr.ib.lid),
+ ntohl(acm_ptr->msg.saddr.ib.qpn), exp,
+ acm_ptr->msg.rd_in, acm_ptr->msg.mtu,
+ acm_ptr->msg.resv[0]);
#ifdef DAT_EXTENSIONS
if (acm_ptr->msg.saddr.ib.qp_type == IBV_QPT_UD) {
}
#endif
/* rdma_out, initiator, cannot exceed remote rdma_in max */
- if (ntohs(cm_ptr->msg.ver) >= 7)
+ if (ntohs(cm_ptr->msg.ver) >= DCM_VER_RR)
ep_ptr->param.ep_attr.max_rdma_read_out =
DAPL_MIN(ep_ptr->param.ep_attr.max_rdma_read_out,
cm_ptr->msg.rd_in);
exp += SCM_BC_DIFF;
/* Set QP MTU, if negotiated. 2K for compatibility */
- ep_ptr->qp_handle->mtu = cm_ptr->msg.mtu ?
+ ep_ptr->qp_handle->mtu = (ntohs(cm_ptr->msg.ver) >= DCM_VER_MTU) ?
DAPL_MIN(cm_ptr->msg.mtu, cm_ptr->hca->ib_trans.ib_cm.mtu):
getenv("DAPL_IB_MTU") ? cm_ptr->hca->ib_trans.ib_cm.mtu : IBV_MTU_2048;
sizeof(union dcm_addr));
/* send our QP info, IA address, pdata. Don't overwrite dst data */
+ (void)dapl_os_memzero(&local, sizeof(ib_cm_msg_t));
local.ver = htons(DCM_VER);
local.op = htons(DCM_REP);
local.rd_in = ep_ptr->param.ep_attr.max_rdma_read_in;