Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

rdma_create_srq(3) [centos man page]

RDMA_CREATE_SRQ(3)					   Librdmacm Programmer's Manual					RDMA_CREATE_SRQ(3)

NAME
rdma_create_srq - Allocate a shared receive queue. SYNOPSIS
#include <rdma/rdma_verbs.h> int rdma_create_srq (struct rdma_cm_id *id, struct ibv_pd *pd, struct ibv_srq_init_attr *attr); ARGUMENTS
id RDMA identifier. pd Optional protection domain for the SRQ. attr Initial SRQ attributes. DESCRIPTION
Allocate a SRQ associated with the specified rdma_cm_id. RETURN VALUE
Returns 0 on success, or -1 on error. If an error occurs, errno will be set to indicate the failure reason. NOTES
The rdma_cm_id must be bound to a local RDMA device before calling this function, and the protection domain, if provided, must be for that same device. After being allocated, the SRQ will be ready to handle posting of receives. If a protection domain is not given - pd parameter is NULL - then the rdma_cm_id will be created using a default protection domain. One default protection domain is allocated per RDMA device. The initial SRQ attributes are specified by the attr parameter. The ext.xrc.cq fields in the ibv_srq_init_attr is optional. If a comple- tion queue is not specified for an XRC SRQ, then a CQ will be allocated by the rdma_cm for the SRQ, along with corresponding completion channels. Completion channels and CQ data created by the rdma_cm are exposed to the user through the rdma_cm_id structure. The actual capabilities and properties of the created SRQ will be returned to the user through the attr parameter. An rdma_cm_id may only be associated with a single SRQ. SEE ALSO
rdma_bind_addr(3), rdma_resolve_addr(3), rdma_create_ep(3), rdma_destroy_srq(3), ibv_create_srq(3), ibv_create_xsrq(3) librdmacm 2011-06-15 RDMA_CREATE_SRQ(3)

Check Out this Related Man Page

RDMA_CREATE_ID(3)					   Librdmacm Programmer's Manual					 RDMA_CREATE_ID(3)

NAME
rdma_create_id - Allocate a communication identifier. SYNOPSIS
#include <rdma/rdma_cma.h> int rdma_create_id (struct rdma_event_channel *channel, struct rdma_cm_id **id, void *context, enum rdma_port_space ps); ARGUMENTS
channel The communication channel that events associated with the allocated rdma_cm_id will be reported on. This may be NULL. id A reference where the allocated communication identifier will be returned. context User specified context associated with the rdma_cm_id. ps RDMA port space. DESCRIPTION
Creates an identifier that is used to track communication information. RETURN VALUE
Returns 0 on success, or -1 on error. If an error occurs, errno will be set to indicate the failure reason. NOTES
Rdma_cm_id's are conceptually equivalent to a socket for RDMA communication. The difference is that RDMA communication requires explicitly binding to a specified RDMA device before communication can occur, and most operations are asynchronous in nature. Asynchronous communica- tion events on an rdma_cm_id are reported through the associated event channel. If the channel parameter is NULL, the rdma_cm_id will be placed into synchronous operation. While operating synchronously, calls that result in an event will block until the operation completes. The event will be returned to the user through the rdma_cm_id structure, and be available for access until another rdma_cm call is made. Users must release the rdma_cm_id by calling rdma_destroy_id. PORT SPACE
Details of the services provided by the different port spaces are outlined below. RDMA_PS_TCP Provides reliable, connection-oriented QP communication. Unlike TCP, the RDMA port space provides message, not stream, based commu- nication. RDMA_PS_UDP Provides unreliable, connectionless QP communication. Supports both datagram and multicast communication. SEE ALSO
rdma_cm(7), rdma_create_event_channel(3), rdma_destroy_id(3), rdma_get_devices(3), rdma_bind_addr(3), rdma_resolve_addr(3), rdma_con- nect(3), rdma_listen(3), rdma_set_option(3) librdmacm 2010-07-19 RDMA_CREATE_ID(3)
Man Page