| .\" -*- nroff -*- |
| .\" |
| .TH IBV_CREATE_SRQ_EX 3 2013-06-26 libibverbs "Libibverbs Programmer's Manual" |
| .SH "NAME" |
| ibv_create_srq_ex, ibv_destroy_srq \- create or destroy a shared receive queue (SRQ) |
| .SH "SYNOPSIS" |
| .nf |
| .B #include <infiniband/verbs.h> |
| .sp |
| .BI "struct ibv_srq *ibv_create_srq_ex(struct ibv_context " "*context" ", struct " |
| .BI " ibv_srq_init_attr_ex " "*srq_init_attr_ex" ); |
| .sp |
| .BI "int ibv_destroy_srq(struct ibv_srq " "*srq" ); |
| .fi |
| .SH "DESCRIPTION" |
| .B ibv_create_srq_ex() |
| creates a shared receive queue (SRQ) supporting both basic and xrc modes. |
| The argument |
| .I srq_init_attr_ex |
| is an ibv_srq_init_attr_ex struct, as defined in <infiniband/verbs.h>. |
| .PP |
| .nf |
| struct ibv_srq_init_attr_ex { |
| .in +8 |
| void *srq_context; /* Associated context of the SRQ */ |
| struct ibv_srq_attr attr; /* SRQ attributes */ |
| uint32_t comp_mask; /* Identifies valid fields */ |
| enum ibv_srq_type srq_type; /* Basic / XRC */ |
| struct ibv_pd *pd; /* PD associated with the SRQ */ |
| struct ibv_xrcd *xrcd; /* XRC domain to associate with the SRQ */ |
| struct ibv_cq *cq; /* CQ to associate with the SRQ for XRC mode */ |
| .in -8 |
| }; |
| .sp |
| .nf |
| struct ibv_srq_attr { |
| .in +8 |
| uint32_t max_wr; /* Requested max number of outstanding work requests (WRs) in the SRQ */ |
| uint32_t max_sge; /* Requested max number of scatter elements per WR */ |
| uint32_t srq_limit; /* The limit value of the SRQ */ |
| .in -8 |
| }; |
| .fi |
| .PP |
| The function |
| .B ibv_create_srq_ex() |
| will update the |
| .I srq_init_attr_ex |
| struct with the original values of the SRQ that was created; the |
| values of max_wr and max_sge will be greater than or equal to the |
| values requested. |
| .PP |
| .B ibv_destroy_srq() |
| destroys the SRQ |
| .I srq\fR. |
| .SH "RETURN VALUE" |
| .B ibv_create_srq_ex() |
| returns a pointer to the created SRQ, or NULL if the request fails. |
| .PP |
| .B ibv_destroy_srq() |
| returns 0 on success, or the value of errno on failure (which indicates the failure reason). |
| .SH "NOTES" |
| .B ibv_destroy_srq() |
| fails if any queue pair is still associated with this SRQ. |
| .SH "SEE ALSO" |
| .BR ibv_alloc_pd (3), |
| .BR ibv_modify_srq (3), |
| .BR ibv_query_srq (3) |
| .SH "AUTHORS" |
| .TP |
| Yishai Hadas <yishaih@mellanox.com> |