Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

rdma_create_id(3) [centos 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)

Check Out this Related Man Page

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

NAME
rdma_create_qp - Allocate a QP. SYNOPSIS
#include <rdma/rdma_cma.h> int rdma_create_qp (struct rdma_cm_id *id, struct ibv_pd *pd, struct ibv_qp_init_attr *qp_init_attr); ARGUMENTS
id RDMA identifier. pd Optional protection domain for the QP. qp_init_attr Initial QP attributes. DESCRIPTION
Allocate a QP associated with the specified rdma_cm_id and transition it for sending and receiving. 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 must be for that same device. QPs allocated to an rdma_cm_id are automatically transitioned by the librdmacm through their states. After being allocated, the QP will be ready to handle posting of receives. If the QP is unconnected, it will be ready to post sends. 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 QP attributes are specified by the qp_init_attr parameter. The send_cq and recv_cq fields in the ibv_qp_init_attr are optional. If a send or receive completion queue is not specified, then a CQ will be allocated by the rdma_cm for the QP, along with corre- sponding completion channels. Completion channels and CQ data created by the rdma_cm are exposed to the user through the rdma_cm_id struc- ture. The actual capabilities and properties of the created QP will be returned to the user through the qp_init_attr parameter. An rdma_cm_id may only be associated with a single QP. SEE ALSO
rdma_bind_addr(3), rdma_resolve_addr(3), rdma_destroy_qp(3), ibv_create_qp(3), ibv_modify_qp(3) librdmacm 2007-05-15 RDMA_CREATE_QP(3)
Man Page