Provided by: libibverbs-dev_28.0-1ubuntu1_amd64 bug

NAME

       mlx5dv_create_qp - creates a queue pair (QP)

SYNOPSIS

              #include <infiniband/mlx5dv.h>

              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)

DESCRIPTION

       mlx5dv_create_qp() creates a queue pair (QP) with specific driver properties.

ARGUMENTS

       Please see ibv_create_qp_ex(3) man page for context and qp_attr.

   mlx5_qp_attr
              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;
              };

       comp_mask
              Bitmask  specifying  what  fields  in  the  structure  are valid: MLX5DV_QP_INIT_ATTR_MASK_QP_CRE‐
              ATE_FLAGS: valid values in create_flags MLX5DV_QP_INIT_ATTR_MASK_DC: valid values in  dc_init_attr
              MLX5DV_QP_INIT_ATTR_MASK_SEND_OPS_FLAGS: valid values in send_ops_flags

       create_flags
              A bitwise OR of the various values described below.

              MLX5DV_QP_CREATE_TUNNEL_OFFLOADS:  Enable offloading such as checksum and LRO for incoming tunnel‐
              ing traffic.

              MLX5DV_QP_CREATE_TIR_ALLOW_SELF_LOOPBACK_UC: Allow receiving loopback unicast traffic.

              MLX5DV_QP_CREATE_TIR_ALLOW_SELF_LOOPBACK_MC: Allow receiving loopback multicast traffic.

              MLX5DV_QP_CREATE_DISABLE_SCATTER_TO_CQE: Disable scatter to CQE feature which is  enabled  by  de‐
              fault.

              MLX5DV_QP_CREATE_ALLOW_SCATTER_TO_CQE:  Allow  scatter to CQE for requester even if the qp was not
              configured to signal all WRs.

              MLX5DV_QP_CREATE_PACKET_BASED_CREDIT_MODE: Set QP to work in end-to-end packet-based  credit,  in‐
              stead of the default message-based credits (IB spec.  section 9.7.7.2).
              It is the applications responsibility to make sure that the peer QP is configured with same mode.

       dc_init_attr
              DC init attributes.

   dc_init_attr
              struct mlx5dv_dc_init_attr {
                  enum mlx5dv_dc_type dc_type;
                  uint64_t dct_access_key;
              };

       dc_type
              MLX5DV_DCTYPE_DCT QP type: Target DC.  MLX5DV_DCTYPE_DCI QP type: Initiator DC.

       dct_access_key
              used to create a DCT QP.

       send_ops_flags
              A bitwise OR of the various values described below.

              MLX5DV_QP_EX_WITH_MR_INTERLEAVED: Enables the mlx5dv_wr_mr_interleaved() work requset on this QP.

              MLX5DV_QP_EX_WITH_MR_LIST: Enables the mlx5dv_wr_mr_list() work requset on this QP.

NOTES

       mlx5dv_qp_ex_from_ibv_qp_ex()  is  used  to get struct mlx5dv_qp_ex for accessing the send ops interfaces
       when IBV_QP_INIT_ATTR_SEND_OPS_FLAGS is used.

RETURN VALUE

       mlx5dv_create_qp() returns a pointer to the created QP, on error NULL will be returned and errno will  be
       set.

SEE ALSO

       ibv_query_device_ex(3), ibv_create_qp_ex(3),

AUTHOR

       Yonatan Cohen <yonatanc@mellanox.com>

mlx5                                                2018-9-1                                 mlx5dv_create_qp(3)