#include "dapl_cookie.h"
#include "dapl.h"
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
STATIC _INLINE_ void dapli_evd_eh_print_cqe (
IN ib_work_completion_t *cqe);
return dat_status;
}
+STATIC _INLINE_ char * DAPL_GET_DTO_OP_STR(int op)
+{
+ static char *dto_ops[] =
+ {
+ "OP_SEND",
+ "OP_RECEIVE",
+ "OP_RDMA_WRITE",
+ "OP_RDMA_READ",
+ 0
+ };
+ return ((op < 0 || op > 3) ? "Invalid DTO OP?" : dto_ops[op]);
+}
+
#if !defined(DAPL_GET_CQE_OP_STR)
#define DAPL_GET_CQE_OP_STR(e) "Unknown CEQ OP String?"
#endif
}
dapl_log(DAPL_DBG_TYPE_ERR,
- "DTO completion ERR: status %d, opcode %s, vendor_err 0x%x\n",
+ "DTO completion ERR: status %d, op %s, vendor_err 0x%x - %s\n",
DAPL_GET_CQE_STATUS(cqe_ptr),
- DAPL_GET_CQE_OP_STR(cqe_ptr),
- DAPL_GET_CQE_VENDOR_ERR(cqe_ptr));
+ DAPL_GET_DTO_OP_STR(cookie->val.dto.type),
+ DAPL_GET_CQE_VENDOR_ERR(cqe_ptr),
+ inet_ntoa(((struct sockaddr_in *)&ep_ptr->remote_ia_address)->sin_addr));
}
}