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.
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.
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. Communication
events on an rdma_cm_id are reported through the associated event
channel. 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
communication.
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_connect(3), rdma_listen(3), rdma_set_option(3)