init.comp_mask = IBV_QP_INIT_ATTR_XRCD;
init.xrcd = ctx.xrcd;
- ctx.recv_qp[i] = ibv_create_qp_ex(ctx.pd, &init);
+ ctx.recv_qp[i] = ibv_create_qp_ex(ctx.context, &init);
if (!ctx.recv_qp[i]) {
fprintf(stderr, "Couldn't create recv QP[%d] errno %d\n",
i, errno);
memset(&init, 0, sizeof init);
init.qp_type = IBV_QPT_XRC_SEND;
+ init.pd = ctx.pd;
init.send_cq = ctx.send_cq;
init.cap.max_send_wr = ctx.num_clients * ctx.num_tests;
init.cap.max_send_sge = 1;
- ctx.send_qp[i] = ibv_create_qp_ex(ctx.pd, &init);
+ ctx.send_qp[i] = ibv_create_qp_ex(ctx, &init);
if (!ctx.send_qp[i]) {
fprintf(stderr, "Couldn't create send QP[%d] errno %d\n",
i, errno);
printf(ADDR_FORMAT, "local", ctx.lid, ctx.recv_qp[index]->qp_num,
ctx.send_qp[index]->qp_num, ctx.rem_dest[index].recv_psn,
- ctx.srq->srq_num);
+ ibv_get_srq_num(ctx.srq));
sprintf(msg, MSG_FORMAT, ctx.lid, ctx.recv_qp[index]->qp_num,
ctx.send_qp[index]->qp_num, ctx.rem_dest[index].recv_psn,
- ctx.srq->srq_num);
+ ibv_get_srq_num(ctx.srq));
if (write(sockfd, msg, MSG_SIZE) != MSG_SIZE) {
fprintf(stderr, "Couldn't send local address\n");