Provided by: librdmacm-dev_184.108.40.206-2_i386
rdma_create_id - Allocate a communication identifier.
int rdma_create_id (struct rdma_event_channel *channel, struct
rdma_cm_id **id, void *context, enum rdma_port_space ps);
channel The communication channel that events associated with the
allocated rdma_cm_id will be reported on. This may be
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.
Creates an identifier that is used to track communication information.
Returns 0 on success, or -1 on error. If an error occurs, errno will
be set to indicate the failure reason.
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
communication 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.
Details of the services provided by the different port spaces are
Provides reliable, connection-oriented QP communication. Unlike
TCP, the RDMA port space provides message, not stream, based
Provides unreliable, connectionless QP communication. Supports
both datagram and multicast communication.
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_connect(3), rdma_listen(3), rdma_set_option(3)