xref: /freebsd/contrib/ofed/librdmacm/man/rdma_create_id.3 (revision 9a14aa017b21c292740c00ee098195cd46642730)
"RDMA_CREATE_ID" 3 "2007-08-06" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
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" 12
The communication channel that events associated with the allocated rdma_cm_id will be reported on.
"id" 12
A reference where the allocated communication identifier will be returned.
"context" 12
User specified context associated with the rdma_cm_id.
"ps" 12
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)