Provided by: librpma-dev_1.2.0-1_amd64 bug

NAME

       rpma_utils_get_ibv_context - obtain an RDMA device context by IP address

SYNOPSIS

             #include <librpma.h>

             struct ibv_context;
             enum rpma_util_ibv_context_type {
                     RPMA_UTIL_IBV_CONTEXT_LOCAL,
                     RPMA_UTIL_IBV_CONTEXT_REMOTE
             };

             int rpma_utils_get_ibv_context(const char *addr, enum rpma_util_ibv_context_type type,
                     struct ibv_context **ibv_ctx_ptr);

DESCRIPTION

       rpma_utils_get_ibv_context() obtains an RDMA device context by the given IPv4/IPv6 address
       (either local or  remote)  using  the  TCP  RDMA  port  space  (RDMA_PS_TCP)  -  reliable,
       connection-oriented  and  message-based  QP  communication.  Possible values of the 'type'
       argument:

       •  RPMA_UTIL_IBV_CONTEXT_LOCAL - lookup for a device based on the given local address

       •  RPMA_UTIL_IBV_CONTEXT_REMOTE - lookup for a device based on the given remote address

RETURN VALUE

       The rpma_utils_get_ibv_context() function returns 0 on success or a negative error code on
       failure. rpma_utils_get_ibv_context() does not set *ibv_ctx_ptr value on failure.

ERRORS

       rpma_utils_get_ibv_context() can fail with the following errors:

       •  RPMA_E_INVAL - addr or ibv_ctx_ptr is NULL or type is unknown

       •  RPMA_E_NOMEM - out of memory

       •  RPMA_E_PROVIDER    -    rdma_getaddrinfo(),   rdma_create_id(),   rdma_bind_addr()   or
          rdma_resolve_addr() failed, the exact cause of the error can be read from the log

SEE ALSO

       rpma_peer_new(3),      rpma_utils_ibv_context_is_odp_capable(3),      librpma(7)       and
       https://pmem.io/rpma/