.\" Automatically generated by Pandoc 2.2.1 .\" .TH "mlx5dv_create_qp" "3" "2018\-9\-1" "mlx5" "mlx5 Programmer's Manual" .hy .SH NAME .PP mlx5dv_create_qp \- creates a queue pair (QP) .SH SYNOPSIS .IP .nf \f[C] #include\ struct\ ibv_qp\ *mlx5dv_create_qp(struct\ ibv_context\ \ \ \ \ \ \ \ \ *context, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ ibv_qp_init_attr_ex\ *qp_attr, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ mlx5dv_qp_init_attr\ *mlx5_qp_attr) \f[] .fi .SH DESCRIPTION .PP \f[B]mlx5dv_create_qp()\f[] creates a queue pair (QP) with specific driver properties. .SH ARGUMENTS .PP Please see \f[I]ibv_create_qp_ex(3)\f[] man page for \f[I]context\f[] and \f[I]qp_attr\f[]. .SS mlx5_qp_attr .IP .nf \f[C] struct\ mlx5dv_qp_init_attr\ { \ \ \ \ uint64_t\ comp_mask; \ \ \ \ uint32_t\ create_flags; \ \ \ \ struct\ mlx5dv_dc_init_attr\ \ dc_init_attr; \ \ \ \ uint64_t\ send_ops_flags; }; \f[] .fi .TP .B \f[I]comp_mask\f[] Bitmask specifying what fields in the structure are valid: MLX5DV_QP_INIT_ATTR_MASK_QP_CREATE_FLAGS: valid values in \f[I]create_flags\f[] MLX5DV_QP_INIT_ATTR_MASK_DC: valid values in \f[I]dc_init_attr\f[] MLX5DV_QP_INIT_ATTR_MASK_SEND_OPS_FLAGS: valid values in \f[I]send_ops_flags\f[] .RS .RE .TP .B \f[I]create_flags\f[] A bitwise OR of the various values described below. .RS .PP MLX5DV_QP_CREATE_TUNNEL_OFFLOADS: Enable offloading such as checksum and LRO for incoming tunneling traffic. .PP MLX5DV_QP_CREATE_TIR_ALLOW_SELF_LOOPBACK_UC: Allow receiving loopback unicast traffic. .PP MLX5DV_QP_CREATE_TIR_ALLOW_SELF_LOOPBACK_MC: Allow receiving loopback multicast traffic. .PP MLX5DV_QP_CREATE_DISABLE_SCATTER_TO_CQE: Disable scatter to CQE feature which is enabled by default. .PP MLX5DV_QP_CREATE_ALLOW_SCATTER_TO_CQE: Allow scatter to CQE for requester even if the qp was not configured to signal all WRs. .PP MLX5DV_QP_CREATE_PACKET_BASED_CREDIT_MODE: Set QP to work in end\-to\-end packet\-based credit, instead of the default message\-based credits (IB spec. section 9.7.7.2). .PD 0 .P .PD It is the applications responsibility to make sure that the peer QP is configured with same mode. .RE .TP .B \f[I]dc_init_attr\f[] DC init attributes. .RS .RE .SS \f[I]dc_init_attr\f[] .IP .nf \f[C] struct\ mlx5dv_dc_init_attr\ { \ \ \ \ enum\ mlx5dv_dc_type\ dc_type; \ \ \ \ uint64_t\ dct_access_key; }; \f[] .fi .TP .B \f[I]dc_type\f[] MLX5DV_DCTYPE_DCT QP type: Target DC. MLX5DV_DCTYPE_DCI QP type: Initiator DC. .RS .RE .TP .B \f[I]dct_access_key\f[] used to create a DCT QP. .RS .RE .TP .B \f[I]send_ops_flags\f[] A bitwise OR of the various values described below. .RS .PP MLX5DV_QP_EX_WITH_MR_INTERLEAVED: Enables the mlx5dv_wr_mr_interleaved() work requset on this QP. .PP MLX5DV_QP_EX_WITH_MR_LIST: Enables the mlx5dv_wr_mr_list() work requset on this QP. .RE .SH NOTES .PP \f[B]mlx5dv_qp_ex_from_ibv_qp_ex()\f[] is used to get \f[I]struct mlx5dv_qp_ex\f[] for accessing the send ops interfaces when IBV_QP_INIT_ATTR_SEND_OPS_FLAGS is used. .SH RETURN VALUE .PP \f[B]mlx5dv_create_qp()\f[] returns a pointer to the created QP, on error NULL will be returned and errno will be set. .SH SEE ALSO .PP \f[B]ibv_query_device_ex\f[](3), \f[B]ibv_create_qp_ex\f[](3), .SH AUTHOR .PP Yonatan Cohen