MLX5_SET(create_dct_in, qp->dct.in, uid, to_mpd(pd)->uid);
dctc = MLX5_ADDR_OF(create_dct_in, qp->dct.in, dct_context_entry);
- qp->qp_sub_type = MLX5_IB_QPT_DCT;
MLX5_SET(dctc, dctc, pd, to_mpd(pd)->pdn);
MLX5_SET(dctc, dctc, srqn_xrqn, to_msrq(attr->srq)->msrq.srqn);
MLX5_SET(dctc, dctc, cqn, to_mcq(attr->recv_cq)->mcq.cqn);
err = -EINVAL;
goto free_qp;
}
+ qp->qp_sub_type = MLX5_IB_QPT_DCI;
} else {
+ qp->qp_sub_type = MLX5_IB_QPT_DCT;
return mlx5_ib_create_dct(pd, qp, init_attr, &ucmd,
udata);
}
qp->trans_qp.xrcdn = xrcdn;
- if (verbs_init_attr->qp_type == IB_QPT_DRIVER)
- qp->qp_sub_type = init_attr->qp_type;
-
return &qp->ibqp;
free_qp: