1 .TH "RDMA_CREATE_ID" 3 "2007-08-06" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
3 rdma_create_id \- Allocate a communication identifier.
5 .B "#include <rdma/rdma_cma.h>"
7 .B "int" rdma_create_id
8 .BI "(struct rdma_event_channel *" channel ","
9 .BI "struct rdma_cm_id **" id ","
10 .BI "void *" context ","
11 .BI "enum rdma_port_space " ps ");"
14 The communication channel that events associated with the
15 allocated rdma_cm_id will be reported on.
17 A reference where the allocated communication identifier will be
20 User specified context associated with the rdma_cm_id.
24 Creates an identifier that is used to track communication information.
26 Rdma_cm_id's are conceptually equivalent to a socket for RDMA
27 communication. The difference is that RDMA communication requires
28 explicitly binding to a specified RDMA device before communication
29 can occur, and most operations are asynchronous in nature. Communication
30 events on an rdma_cm_id are reported through the associated event
31 channel. Users must release the rdma_cm_id by calling rdma_destroy_id.
33 Details of the services provided by the different port spaces are outlined
36 Provides reliable, connection-oriented QP communication. Unlike TCP, the RDMA
37 port space provides message, not stream, based communication.
39 Provides unreliable, connectionless QP communication. Supports both datagram
40 and multicast communication.
42 rdma_cm(7), rdma_create_event_channel(3), rdma_destroy_id(3), rdma_get_devices(3),
43 rdma_bind_addr(3), rdma_resolve_addr(3), rdma_connect(3), rdma_listen(3),