1RDMA_CREATE_ID(3) Librdmacm Programmer's Manual RDMA_CREATE_ID(3)
2
3
4
6 rdma_create_id - Allocate a communication identifier.
7
9 #include <rdma/rdma_cma.h>
10
11 int rdma_create_id (struct rdma_event_channel *channel, struct
12 rdma_cm_id **id, void *context, enum rdma_port_space ps);
13
15 channel The communication channel that events associated with the
16 allocated rdma_cm_id will be reported on.
17
18 id A reference where the allocated communication identifier
19 will be returned.
20
21 context User specified context associated with the rdma_cm_id.
22
23 ps RDMA port space.
24
26 Creates an identifier that is used to track communication information.
27
29 Rdma_cm_id's are conceptually equivalent to a socket for RDMA communi‐
30 cation. The difference is that RDMA communication requires explicitly
31 binding to a specified RDMA device before communication can occur, and
32 most operations are asynchronous in nature. Communication events on an
33 rdma_cm_id are reported through the associated event channel. Users
34 must release the rdma_cm_id by calling rdma_destroy_id.
35
37 Details of the services provided by the different port spaces are out‐
38 lined below.
39
40 RDMA_PS_TCP
41 Provides reliable, connection-oriented QP communication. Unlike
42 TCP, the RDMA port space provides message, not stream, based
43 communication.
44
45 RDMA_PS_UDP
46 Provides unreliable, connectionless QP communication. Supports
47 both datagram and multicast communication.
48
50 rdma_cm(7), rdma_create_event_channel(3), rdma_destroy_id(3),
51 rdma_get_devices(3), rdma_bind_addr(3), rdma_resolve_addr(3), rdma_con‐
52 nect(3), rdma_listen(3), rdma_set_option(3)
53
54
55
56librdmacm 2007-08-06 RDMA_CREATE_ID(3)