rdma_create_id(3) — Linux manual page


RDMA_CREATE_ID(3)     Librdmacm Programmer's Manual    RDMA_CREATE_ID(3)

NAME         top

       rdma_create_id - Allocate a communication identifier.

SYNOPSIS         top

       #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         top

       channel     The communication channel that events associated with
                   the allocated rdma_cm_id will be reported on.  This
                   may be NULL.

       id          A reference where the allocated communication
                   identifier will be returned.

       context     User specified context associated with the

       ps          RDMA port space.

DESCRIPTION         top

       Creates an identifier that is used to track communication

RETURN VALUE         top

       Returns 0 on success, or -1 on error.  If an error occurs, errno
       will be set to indicate the failure reason.

NOTES         top

       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.  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 SPACE         top

       Details of the services provided by the different port spaces are
       outlined below.

              Provides reliable, connection-oriented QP communication.
              Unlike TCP, the RDMA port space provides message, not
              stream, based communication.

              Provides unreliable, connectionless QP communication.
              Supports both datagram and multicast communication.

              Provides for any IB services (UD, UC, RC, XRC, etc.).

SEE ALSO         top

       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)

COLOPHON         top

       This page is part of the rdma-core (RDMA Core Userspace Libraries
       and Daemons) project.  Information about the project can be found
       at ⟨https://github.com/linux-rdma/rdma-core⟩.  If you have a bug
       report for this manual page, send it to
       linux-rdma@vger.kernel.org.  This page was obtained from the
       project's upstream Git repository
       ⟨https://github.com/linux-rdma/rdma-core.git⟩ on 2021-04-01.  (At
       that time, the date of the most recent commit that was found in
       the repository was 2021-03-24.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to

librdmacm                      2010-07-19              RDMA_CREATE_ID(3)

Pages that refer to this page: rdma_bind_addr(3)rdma_connect(3)rdma_dereg_mr(3)rdma_destroy_id(3)rdma_getaddrinfo(3)rdma_migrate_id(3)rdma_post_recv(3)rdma_post_recvv(3)rdma_reg_msgs(3)rdma_reg_read(3)rdma_reg_write(3)rdma_resolve_addr(3)rdma_set_option(3)rdma_cm(7)