/* cma requires 16 bit SID */
#define IB_PORT_MOD 32001
#define IB_PORT_BASE (65535 - IB_PORT_MOD)
-#define MAKE_PORT(SID) \
+#define SID_TO_PORT(SID) \
(SID > 0xffff ? \
- (unsigned short)((SID % IB_PORT_MOD) + IB_PORT_BASE) :\
- (unsigned short)SID)
+ htons((unsigned short)((SID % IB_PORT_MOD) + IB_PORT_BASE)) :\
+ htons((unsigned short)SID))
+
+#define PORT_TO_SID(p) ntohs(p)
static void dapli_addr_resolve(struct dapl_cm_id *conn)
{
ret = rdma_resolve_route(conn->cm_id, conn->route_timeout);
if (ret) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- " rdma_connect failed: %s\n",strerror(errno));
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " dapl_cma_connect: rdma_resolve_route ERR %d %s\n",
+ ret, strerror(errno));
dapl_evd_connection_callback(conn,
IB_CME_LOCAL_FAILURE,
ret = rdma_connect(conn->cm_id, &conn->params);
if (ret) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR, " rdma_connect failed: %s\n",
- strerror(errno));
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " dapl_cma_connect: rdma_connect ERR %d %s\n",
+ ret, strerror(errno));
goto bail;
}
return;
case RDMA_CM_EVENT_UNREACHABLE:
case RDMA_CM_EVENT_CONNECT_ERROR:
{
- dapl_dbg_log(
- DAPL_DBG_TYPE_WARN,
- " dapli_cm_active_handler: CONN_ERR "
- " event=0x%x status=%d %s\n",
- event->event, event->status,
- (event->status == -ETIMEDOUT)?"TIMEOUT":"" );
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapl_cma_active: CONN_ERR event=0x%x"
+ " status=%d %s DST %s, %d\n",
+ event->event, event->status,
+ (event->status == -ETIMEDOUT)?"TIMEOUT":"",
+ inet_ntoa(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_port));
/* per DAT SPEC provider always returns UNREACHABLE */
dapl_evd_connection_callback(conn,
/* no device type specified so assume IB for now */
if (event->status == 28) /* IB_CM_REJ_CONSUMER_DEFINED */
cm_event = IB_CME_DESTINATION_REJECT_PRIVATE_DATA;
- else
+ else {
cm_event = IB_CME_DESTINATION_REJECT;
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " dapli_cm_active: REJECTED reason=%d"
- " SRC 0x%x,%d DST 0x%x,%d\n",
- event->status,
- ntohl(((struct sockaddr_in *)
- &conn->cm_id->route.addr.src_addr)->sin_addr.s_addr),
- ntohs(((struct sockaddr_in *)
- &conn->cm_id->route.addr.src_addr)->sin_port),
- ntohl(((struct sockaddr_in *)
- &conn->cm_id->route.addr.dst_addr)->sin_addr.s_addr),
- ntohs(((struct sockaddr_in *)
- &conn->cm_id->route.addr.dst_addr)->sin_port));
-
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapl_cma_active: non-consumer REJ,"
+ " reason=%d, DST %s, %d\n",
+ event->status,
+ inet_ntoa(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_port));
+ }
dapl_evd_connection_callback(conn, cm_event, NULL, conn->ep);
break;
}
case RDMA_CM_EVENT_ESTABLISHED:
-
- dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " active_cb: cm_id %d PORT %d CONNECTED to 0x%x!\n",
- conn->cm_id,
- ntohs(((struct sockaddr_in *)
- &conn->cm_id->route.addr.dst_addr)->sin_port),
- ntohl(((struct sockaddr_in *)
- &conn->cm_id->route.addr.dst_addr)->sin_addr.s_addr));
+ dapl_dbg_log(DAPL_DBG_TYPE_CM,
+ " active_cb: cm_id %d PORT %d CONNECTED to %s!\n",
+ conn->cm_id,
+ ntohs(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_port),
+ inet_ntoa(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_addr));
/* setup local and remote ports for ep query */
conn->ep->param.remote_port_qual =
- ntohs(rdma_get_dst_port(conn->cm_id));
+ PORT_TO_SID(rdma_get_dst_port(conn->cm_id));
conn->ep->param.local_port_qual =
- ntohs(rdma_get_src_port(conn->cm_id));
+ PORT_TO_SID(rdma_get_src_port(conn->cm_id));
dapl_evd_connection_callback(conn, IB_CME_CONNECTED,
event->param.conn.private_data, conn->ep);
break;
case RDMA_CM_EVENT_UNREACHABLE:
case RDMA_CM_EVENT_CONNECT_ERROR:
-
- dapl_dbg_log(
- DAPL_DBG_TYPE_WARN,
- " dapli_cm_passive: CONN_ERR "
- " event=0x%x status=%d %s"
- " on SRC 0x%x,%d DST 0x%x,%d\n",
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapl_cm_passive: CONN_ERR event=0x%x status=%d %s,"
+ " DST %s,%d\n",
event->event, event->status,
- (event->status == -110)?"TIMEOUT":"",
- ntohl(((struct sockaddr_in *)
- &ipaddr->src_addr)->sin_addr.s_addr),
+ (event->status == -ETIMEDOUT)?"TIMEOUT":"",
+ inet_ntoa(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_addr),
ntohs(((struct sockaddr_in *)
- &ipaddr->src_addr)->sin_port),
- ntohl(((struct sockaddr_in *)
- &ipaddr->dst_addr)->sin_addr.s_addr),
- ntohs(((struct sockaddr_in *)
- &ipaddr->dst_addr)->sin_port));
+ &conn->cm_id->route.addr.dst_addr)->sin_port));
dapls_cr_callback(conn, IB_CME_DESTINATION_UNREACHABLE,
NULL, conn->sp);
case RDMA_CM_EVENT_REJECTED:
{
- ib_cm_events_t cm_event;
-
- /* no device type specified so assume IB for now */
- if (event->status == 28) /* IB_CM_REJ_CONSUMER_DEFINED */
- cm_event = IB_CME_DESTINATION_REJECT_PRIVATE_DATA;
- else
- cm_event = IB_CME_DESTINATION_REJECT;
+ /* will alwasys be abnormal NON-consumer from active side */
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapl_cm_passive: non-consumer REJ, reason=%d,"
+ " DST %s, %d\n",
+ event->status,
+ inet_ntoa(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_port));
- dapl_dbg_log(
- DAPL_DBG_TYPE_CM,
- " dapli_cm_passive: REJECTED reason=%d"
- " on SRC 0x%x,0x%x DST 0x%x,0x%x\n",
- event->status,
- ntohl(((struct sockaddr_in *)
- &ipaddr->src_addr)->sin_addr.s_addr),
- ntohs(((struct sockaddr_in *)
- &ipaddr->src_addr)->sin_port),
- ntohl(((struct sockaddr_in *)
- &ipaddr->dst_addr)->sin_addr.s_addr),
- ntohs(((struct sockaddr_in *)
- &ipaddr->dst_addr)->sin_port));
-
- dapls_cr_callback(conn, cm_event, NULL, conn->sp);
-
+ dapls_cr_callback(conn, IB_CME_DESTINATION_REJECT,
+ NULL, conn->sp);
break;
}
case RDMA_CM_EVENT_ESTABLISHED:
-
dapl_dbg_log(DAPL_DBG_TYPE_CM,
- " passive_cb: cm_id %p PORT %d CONNECTED from 0x%x!\n",
+ " passive_cb: cm_id %p PORT %d CONNECTED from %s!\n",
conn->cm_id,
ntohs(((struct sockaddr_in *)
&conn->cm_id->route.addr.src_addr)->sin_port),
- ntohl(((struct sockaddr_in *)
- &conn->cm_id->route.addr.dst_addr)->sin_addr.s_addr));
+ inet_ntoa(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_addr));
dapls_cr_callback(conn, IB_CME_CONNECTED,
NULL, conn->sp);
return DAT_SUCCESS;
dapl_dbg_log(DAPL_DBG_TYPE_CM, " connect: rSID %d, pdata %p, ln %d\n",
- r_qual,p_data,p_size);
+ SID_TO_PORT(r_qual),p_data,p_size);
/* rdma conn and cm_id pre-bound; reference via qp_handle */
conn = ep_ptr->cm_handle = ep_ptr->qp_handle;
dapl_os_memcpy(&conn->r_addr, r_addr, sizeof(*r_addr));
/* Resolve remote address, src already bound during QP create */
- ((struct sockaddr_in*)&conn->r_addr)->sin_port = htons(MAKE_PORT(r_qual));
+ ((struct sockaddr_in*)&conn->r_addr)->sin_port = SID_TO_PORT(r_qual);
((struct sockaddr_in*)&conn->r_addr)->sin_family = AF_INET;
if (rdma_resolve_addr(conn->cm_id, NULL,
(struct sockaddr *)&conn->r_addr,
- conn->arp_timeout))
+ conn->arp_timeout)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " dapl_cma_connect: rdma_resolve_addr ERR %s\n",
+ strerror(errno));
return dapl_convert_errno(errno,"ib_connect");
+ }
dapl_dbg_log(DAPL_DBG_TYPE_CM,
" connect: resolve_addr: cm_id %p -> %s port %d\n",
conn->cm_id,
inet_ntoa(((struct sockaddr_in *)&conn->r_addr)->sin_addr),
- ((struct sockaddr_in*)&conn->r_addr)->sin_port );
+ ntohs(((struct sockaddr_in*)&conn->r_addr)->sin_port));
return DAT_SUCCESS;
}
/* open identifies the local device; per DAT specification */
/* Get family and address then set port to consumer's ServiceID */
dapl_os_memcpy(&addr, &ia_ptr->hca_ptr->hca_address, sizeof(addr));
- ((struct sockaddr_in *)&addr)->sin_port = htons(MAKE_PORT(ServiceID));
+ ((struct sockaddr_in *)&addr)->sin_port = SID_TO_PORT(ServiceID);
if (rdma_bind_addr(conn->cm_id,(struct sockaddr *)&addr)) {
dapl_dbg_log(DAPL_DBG_TYPE_CM,
" listen(ia_ptr %p SID %d sp %p conn %p id %d)\n",
- ia_ptr, MAKE_PORT(ServiceID),
+ ia_ptr, SID_TO_PORT(ServiceID),
sp_ptr, conn, conn->cm_id);
sp_ptr->cm_srvc_handle = conn;
*/
dat_status = dapls_ib_qp_alloc(ia_ptr, ep_ptr, NULL);
if (dat_status != DAT_SUCCESS) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- " accept: ib_qp_alloc failed: %d\n",
- dat_status);
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ "dapl_cm_accept: ib_qp_alloc failed: 0x%x\n",
+ dat_status);
goto bail;
}
}
ep_ptr->qp_handle->cm_id->qp = NULL;
dapli_destroy_conn(ep_ptr->qp_handle);
} else {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR,
- " accept: ERR dev(%p!=%p) or port mismatch(%d!=%d)\n",
- ep_ptr->qp_handle->cm_id->verbs,cr_conn->cm_id->verbs,
- ep_ptr->qp_handle->cm_id->port_num,
- cr_conn->cm_id->port_num );
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " dapl_cma_accept: ERR dev(%p!=%p) or"
+ " port mismatch(%d!=%d)\n",
+ ep_ptr->qp_handle->cm_id->verbs,cr_conn->cm_id->verbs,
+ ntohs(ep_ptr->qp_handle->cm_id->port_num),
+ ntohs(cr_conn->cm_id->port_num));
dat_status = DAT_INTERNAL_ERROR;
goto bail;
}
ret = rdma_accept(cr_conn->cm_id, &cr_conn->params);
if (ret) {
- dapl_dbg_log(DAPL_DBG_TYPE_ERR," accept: ERROR %d\n", ret);
+ dapl_log(DAPL_DBG_TYPE_ERR," dapl_cma_accept: ERR %d %s\n",
+ ret, strerror(errno));
dat_status = dapl_convert_errno(ret, "accept");
goto bail;
}
cr_conn->ep = ep_ptr;
/* setup local and remote ports for ep query */
- ep_ptr->param.remote_port_qual = rdma_get_dst_port(cr_conn->cm_id);
- ep_ptr->param.local_port_qual = rdma_get_src_port(cr_conn->cm_id);
+ ep_ptr->param.remote_port_qual =
+ PORT_TO_SID(rdma_get_dst_port(cr_conn->cm_id));
+ ep_ptr->param.local_port_qual =
+ PORT_TO_SID(rdma_get_src_port(cr_conn->cm_id));
return DAT_SUCCESS;
bail:
break;
case RDMA_CM_EVENT_ADDR_ERROR:
- dapl_dbg_log(DAPL_DBG_TYPE_WARN,
- " CM ADDR ERROR: -> %s retry (%d)..\n",
- inet_ntoa(((struct sockaddr_in *)
- &conn->r_addr)->sin_addr),
- conn->arp_retries);
-
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapl_cma_active: CM ADDR ERROR: ->"
+ " DST %s retry (%d)..\n",
+ inet_ntoa(((struct sockaddr_in *)
+ &conn->r_addr)->sin_addr),
+ conn->arp_retries);
+
/* retry address resolution */
if ((--conn->arp_retries) &&
(event->status == -ETIMEDOUT)) {
}
}
/* retries exhausted or resolve_addr failed */
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ "dapl_cma_active: ARP_ERR, retries(%d)"
+ " exhausted -> DST %s,%d\n",
+ IB_ARP_RETRY_COUNT,
+ inet_ntoa(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_port));
+
dapl_evd_connection_callback(
conn, IB_CME_DESTINATION_UNREACHABLE,
NULL, conn->ep);
case RDMA_CM_EVENT_ROUTE_ERROR:
- dapl_dbg_log(DAPL_DBG_TYPE_WARN,
- " CM ROUTE ERROR: -> %s retry (%d)..\n",
- inet_ntoa(((struct sockaddr_in *)
- &conn->r_addr)->sin_addr),
- conn->route_retries );
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapl_cma_active: CM ROUTE ERROR: ->"
+ " DST %s retry (%d)..\n",
+ inet_ntoa(((struct sockaddr_in *)
+ &conn->r_addr)->sin_addr),
+ conn->route_retries );
/* retry route resolution */
if ((--conn->route_retries) &&
(event->status == -ETIMEDOUT))
dapli_addr_resolve(conn);
- else
+ else {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ "dapl_cma_active: PATH_RECORD_ERR,"
+ " retries(%d) exhausted, DST %s,%d\n",
+ IB_ROUTE_RETRY_COUNT,
+ inet_ntoa(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_addr),
+ ntohs(((struct sockaddr_in *)
+ &conn->cm_id->route.addr.dst_addr)->sin_port));
+
dapl_evd_connection_callback( conn,
IB_CME_DESTINATION_UNREACHABLE,
NULL, conn->ep);
+ }
break;
case RDMA_CM_EVENT_DEVICE_REMOVAL:
/* retry using network device name */
ret = getipaddr_netdev(name,addr,len);
if (ret) {
- dapl_dbg_log(DAPL_DBG_TYPE_WARN,
- " getipaddr: invalid name, addr, or netdev(%s)\n",
- name);
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: getaddr_netdev ERROR:"
+ " %s. Is %s configured?\n",
+ strerror(errno), name);
return ret;
}
} else {
return DAT_INVALID_ADDRESS;
/* cm_id will bind local device/GID based on IP address */
- if (rdma_create_id(g_cm_events, &cm_id, (void*)hca_ptr, RDMA_PS_TCP))
+ if (rdma_create_id(g_cm_events, &cm_id, (void*)hca_ptr, RDMA_PS_TCP)) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: rdma_create_id ERR %s\n",
+ strerror(errno));
return DAT_INTERNAL_ERROR;
+ }
ret = rdma_bind_addr(cm_id,
(struct sockaddr *)&hca_ptr->hca_address);
if ((ret) || (cm_id->verbs == NULL)) {
rdma_destroy_id(cm_id);
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " open_hca: ERR bind (%d) %s \n",
- ret, strerror(-ret));
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: rdma_bind ERR %s."
+ " Is %s configured?\n",
+ strerror(errno),hca_name);
return DAT_INVALID_ADDRESS;
}
/* EVD events without direct CQ channels, non-blocking */
hca_ptr->ib_trans.ib_cq =
ibv_create_comp_channel(hca_ptr->ib_hca_handle);
+ if (hca_ptr->ib_trans.ib_cq == NULL) {
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: ibv_create_comp_channel ERR %s\n",
+ strerror(errno));
+ goto bail;
+ }
+
+ dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
+ " open_hca: CQ channel created(fd=%d)\n",
+ hca_ptr->ib_trans.ib_cq->fd);
+
opts = fcntl(hca_ptr->ib_trans.ib_cq->fd, F_GETFL); /* uCQ */
if (opts < 0 || fcntl(hca_ptr->ib_trans.ib_cq->fd,
F_SETFL, opts | O_NONBLOCK) < 0) {
- dapl_dbg_log (DAPL_DBG_TYPE_ERR,
- " open_hca: ERR with CQ FD\n" );
+ dapl_log(DAPL_DBG_TYPE_ERR,
+ " open_hca: fcntl on ib_cq->fd %d ERR %d %s\n",
+ hca_ptr->ib_trans.ib_cq->fd, opts,
+ strerror(errno));
goto bail;
}
ia_attr->ia_address_ptr =
(DAT_IA_ADDRESS_PTR)&hca_ptr->hca_address;
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " query_hca: %s %s %d.%d.%d.%d\n", hca_ptr->name,
- ((struct sockaddr_in *)
- ia_attr->ia_address_ptr)->sin_family == AF_INET ?
- "AF_INET":"AF_INET6",
- ((struct sockaddr_in *)
- ia_attr->ia_address_ptr)->sin_addr.s_addr >> 0 & 0xff,
- ((struct sockaddr_in *)
- ia_attr->ia_address_ptr)->sin_addr.s_addr >> 8 & 0xff,
- ((struct sockaddr_in *)
- ia_attr->ia_address_ptr)->sin_addr.s_addr >> 16 & 0xff,
- ((struct sockaddr_in *)
- ia_attr->ia_address_ptr)->sin_addr.s_addr >> 24 & 0xff);
-
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ "dapl_query_hca: %s %s %s\n", hca_ptr->name,
+ ((struct sockaddr_in *)
+ ia_attr->ia_address_ptr)->sin_family == AF_INET ?
+ "AF_INET":"AF_INET6",
+ inet_ntoa(((struct sockaddr_in *)
+ ia_attr->ia_address_ptr)->sin_addr));
+
ia_attr->hardware_version_major = dev_attr.hw_ver;
ia_attr->max_eps = dev_attr.max_qp;
ia_attr->max_dto_per_ep = dev_attr.max_qp_wr;
ia_attr->num_vendor_attr = 0;
ia_attr->vendor_attr = NULL;
ia_attr->max_iov_segments_per_rdma_read = dev_attr.max_sge;
+ ia_attr->max_iov_segments_per_rdma_write = dev_attr.max_sge;
/* save rd_atom for peer validation during connect requests */
hca_ptr->ib_trans.max_rdma_rd_in = dev_attr.max_qp_rd_atom;
hca_ptr->ib_trans.max_rdma_rd_out = dev_attr.max_qp_rd_atom;
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " query_hca: (ver=%x) ep %d ep_q %d evd %d evd_q %d\n",
- ia_attr->hardware_version_major,
- ia_attr->max_eps, ia_attr->max_dto_per_ep,
- ia_attr->max_evds, ia_attr->max_evd_qlen );
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " query_hca: msg %llu rdma %llu iov %d lmr %d rmr %d"
- " rd_io %d inline=%d\n",
- ia_attr->max_mtu_size, ia_attr->max_rdma_size,
- ia_attr->max_iov_segments_per_dto, ia_attr->max_lmrs,
- ia_attr->max_rmrs, ia_attr->max_rdma_read_per_ep_in,
- hca_ptr->ib_trans.max_inline_send);
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ "dapl_query_hca: (ver=%x) ep's %d ep_q %d"
+ " evd's %d evd_q %d\n",
+ ia_attr->hardware_version_major,
+ ia_attr->max_eps, ia_attr->max_dto_per_ep,
+ ia_attr->max_evds, ia_attr->max_evd_qlen );
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ "dapl_query_hca: msg %llu rdma %llu iov's %d"
+ " lmr %d rmr %d rd_io %d inline=%d\n",
+ ia_attr->max_mtu_size, ia_attr->max_rdma_size,
+ ia_attr->max_iov_segments_per_dto, ia_attr->max_lmrs,
+ ia_attr->max_rmrs, ia_attr->max_rdma_read_per_ep_in,
+ hca_ptr->ib_trans.max_inline_send);
}
if (ep_attr != NULL) {
ep_attr->max_rdma_read_out= dev_attr.max_qp_rd_atom;
ep_attr->max_rdma_read_iov= dev_attr.max_sge;
ep_attr->max_rdma_write_iov= dev_attr.max_sge;
- dapl_dbg_log(DAPL_DBG_TYPE_UTIL,
- " query_hca: MAX msg %llu dto %d iov %d rdma i%d,o%d\n",
- ep_attr->max_mtu_size,
- ep_attr->max_recv_dtos, ep_attr->max_recv_iov,
- ep_attr->max_rdma_read_in, ep_attr->max_rdma_read_out);
+ dapl_log(DAPL_DBG_TYPE_UTIL,
+ "dapl_query_hca: MAX msg %llu dto %d iov %d"
+ " rdma i%d,o%d\n",
+ ep_attr->max_mtu_size,
+ ep_attr->max_recv_dtos, ep_attr->max_recv_iov,
+ ep_attr->max_rdma_read_in, ep_attr->max_rdma_read_out);
}
return DAT_SUCCESS;
}
struct dapl_ep *evd_ptr =
event.element.cq->cq_context;
- dapl_dbg_log(
- DAPL_DBG_TYPE_WARN,
- " async_event CQ (%p) ERR %d\n",
+ dapl_log(
+ DAPL_DBG_TYPE_ERR,
+ "dapl async_event CQ (%p) ERR %d\n",
evd_ptr, event.event_type);
/* report up if async callback still setup */
case IBV_EVENT_COMM_EST:
{
/* Received msgs on connected QP before RTU */
- dapl_dbg_log(
+ dapl_log(
DAPL_DBG_TYPE_UTIL,
- " async_event COMM_EST(%p) rdata beat RTU\n",
+ "dapl async_event COMM_EST(%p) "
+ "rdata beat RTU\n",
event.element.qp);
break;
struct dapl_ep *ep_ptr =
event.element.qp->qp_context;
- dapl_dbg_log(
- DAPL_DBG_TYPE_WARN,
- " async_event QP (%p) ERR %d\n",
+ dapl_log(
+ DAPL_DBG_TYPE_ERR,
+ "dapl async_event QP (%p) ERR %d\n",
ep_ptr, event.event_type);
/* report up if async callback still setup */
case IBV_EVENT_PKEY_CHANGE:
case IBV_EVENT_SM_CHANGE:
{
- dapl_dbg_log(DAPL_DBG_TYPE_WARN,
- " async_event: DEV ERR %d\n",
+ dapl_log(DAPL_DBG_TYPE_WARN,
+ "dapl async_event: DEV ERR %d\n",
event.event_type);
/* report up if async callback still setup */
}
case IBV_EVENT_CLIENT_REREGISTER:
/* no need to report this event this time */
- dapl_dbg_log (DAPL_DBG_TYPE_WARN,
- " async_event: IBV_EVENT_CLIENT_REREGISTER\n");
+ dapl_log (DAPL_DBG_TYPE_UTIL,
+ "dapl async_event: "
+ "IBV_EVENT_CLIENT_REREGISTER\n");
break;
default:
- dapl_dbg_log (DAPL_DBG_TYPE_WARN,
- " async_event: %d UNKNOWN\n",
+ dapl_log (DAPL_DBG_TYPE_WARN,
+ "dapl async_event: %d UNKNOWN\n",
event.event_type);
break;