ibv_open_device(3)

ibv_open_device3

Open and close an rdma device context

Usage

#include <infiniband/verbs.h>

struct ibv_context *ibv_open_device(struct ibv_device *device);

int ibv_close_device(struct ibv_context *context);

Overview

ibv_open_device() opens the device device and creates a context for further use.

ibv_close_device() closes the device context context.

Return value

ibv_open_device() returns a pointer to the allocated device context, or NULL if the request fails, and errno is set to indicate the reason.

ibv_close_device() returns 0 on success, -1 on failure.

Notes

ibv_close_device() does not release all the resources allocated using context context. To avoid resource leaks, the user should release all associated resources before closing a context.

Setting the environment variable **RDMAV_ALLOW_DISASSOC_DESTROY** tells the library to relate an EIO from destroy commands as a success as the kernel resources were already released. This comes to prevent memory leakage in the user space area upon device disassociation. Applications using this flag cannot call ibv_get_cq_event or ibv_get_async_event concurrently with any call to an object destruction function.

Releases

10 releases since Debian 5.0 (Lenny); the text changed 3 times.

  1. 5.0
  2. 6.0–9
  3. 10–13
  4. Arch

Authors

Dotan Barak <[email protected]>

From rdma-core 65.0-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.