.\" Automatically generated by Pandoc 2.9.2.1
.\"
.TH "HNSDV_CREATE_QP" "3" "2024-02-06" "hns" "HNS Programmer\[cq]s Manual"
.hy
.SH NAME
.PP
hnsdv_create_qp - creates a HNS specific queue pair (QP)
.SH SYNOPSIS
.IP
.nf
\f[C]
#include <infiniband/hnsdv.h>

struct ibv_qp *hnsdv_create_qp(struct ibv_context *context,
                               struct ibv_qp_init_attr_ex *qp_attr,
                               struct hnsdv_qp_init_attr *hns_attr);
\f[R]
.fi
.SH DESCRIPTION
.PP
\f[B]hnsdv_create_qp()\f[R] creates a HNS specific queue pair (QP) with
specific driver properties.
.SH ARGUMENTS
.PP
Please see \f[I]ibv_create_qp_ex(3)\f[R] man page for \f[I]context\f[R]
and \f[I]qp_attr\f[R].
.SS hns_attr
.IP
.nf
\f[C]
struct hnsdv_qp_init_attr {
        uint64_t comp_mask;
        uint32_t create_flags;
        uint8_t congest_type;
        uint8_t reserved[3];
};
\f[R]
.fi
.TP
\f[I]comp_mask\f[R]
Bitmask specifying what fields in the structure are valid:
.IP
.nf
\f[C]
HNSDV_QP_INIT_ATTR_MASK_QP_CONGEST_TYPE:
    Valid values in congest_type. Allow setting a congestion control algorithm for QP.
\f[R]
.fi
.TP
\f[I]create_flags\f[R]
Enable the QP of a feature.
.TP
\f[I]congest_type\f[R]
Type of congestion control algorithm:
.RS
.PP
HNSDV_QP_CREATE_ENABLE_DCQCN: Data Center Quantized Congestion
Notification HNSDV_QP_CREATE_ENABLE_LDCP: Low Delay Control Protocol
HNSDV_QP_CREATE_ENABLE_HC3: Huawei Converged Congestion Control
HNSDV_QP_CREATE_ENABLE_DIP: Destination IP based Quantized Congestion
Notification
.RE
.SH RETURN VALUE
.PP
\f[B]hnsdv_create_qp()\f[R] 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_create_qp_ex\f[R](3)
.SH AUTHOR
.PP
Junxian Huang <huangjunxian6@hisilicon.com>
