![]() |
![]()
| ![]() |
![]()
NAMErdma_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); ARGUMENTSDESCRIPTIONCreates an identifier that is used to track communication information. RETURN VALUEReturns 0 on success, or -1 on error. If an error occurs, errno will be set to indicate the failure reason. NOTESRdma_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. PORT SPACEDetails of the services provided by the different port spaces are outlined below.
SEE ALSOrdma_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)
|