RDMA_CREATE_ID(3)
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.