rdma_set_local_ece(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | ARGUMENTS | RETURN VALUE | SEE ALSO | AUTHOR | COLOPHON

RDMA_SET_LOCAL_ECE(3) Librdmacm Programmer’s Manual RDMA_SET_LOCAL_ECE(3)

NAME         top

       rdma_set_local_ece - Set local ECE paraemters to be used for
       REQ/REP communication.

SYNOPSIS         top

              #include <rdma/rdma_cma.h>

              int rdma_set_local_ece(struct rdma_cm_id *id, struct ibv_ece *ece);

DESCRIPTION         top

       rdma_set_local_ece() set local ECE parameters.

       This function is suppose to be used by the users of external QPs.
       The call needs to be performed before replying to the peer and
       needed to configure RDMA_CM with desired ECE options.

       Being used by external QP and RDMA_CM doesn’t manage that QP, the
       peer needs to call to libibverbs API by itself.

       Usual flow for the passive side will be:

       • ibv_create_qp() <- create data QP.

       • ece = ibv_query_ece() <- get ECE from libibvers provider.

       • rdma_set_local_ece(ece) <- set desired ECE options.

       • rdma_connect() <- send connection request

       • ece = rdma_get_remote_ece() <- get ECE options from remote peer

       • ibv_set_ece(ece) <- set local ECE options with data received
         from the peer.

       • ibv_modify_qp() <- enable data QP.

       • rdma_accept()/rdma_establish()/rdma_reject_ece()

ARGUMENTS         top

       id     RDMA communication identifier.

       *ece   ECE parameters.

RETURN VALUE         top

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

SEE ALSO         top

       rdma_cm(7), rdma_get_remote_ece(3)

AUTHOR         top

       Leon Romanovsky ⟨leonro@mellanox.com⟩

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 2025-08-11.  (At
       that time, the date of the most recent commit that was found in
       the repository was 2025-08-04.)  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
       man-pages@man7.org

librdmacm                       2020-02-02          RDMA_SET_LOCAL_ECE(3)