mlx5dv_get_vfio_device_list(3)

mlx5dv_get_vfio_device_list3

Get list of available devices to be used over vfio

Usage

#include <infiniband/mlx5dv.h>
struct ibv_device **
mlx5dv_get_vfio_device_list(struct mlx5dv_vfio_context_attr *attr);

Overview

Returns a NULL-terminated array of devices based on input attr.

Arguments

attr

Describe the VFIO devices to return in list.

attr argument

struct mlx5dv_vfio_context_attr {
    const char *pci_name;
    uint32_t flags;
    uint64_t comp_mask;
};
pci_name
 The PCI name of the required device.
flags
  A bitwise OR of the various values described below.
  *MLX5DV_VFIO_CTX_FLAGS_INIT_LINK_DOWN*:
  Upon device initialization link should stay down.
comp_mask
  Bitmask specifying what fields in the structure are valid.

Return value

Returns the array of the matching devices, or sets errno and returns NULL if the request fails.

Notes

Client code should open all the devices it intends to use with ibv_open_device() before calling ibv_free_device_list(). Once it frees the array with ibv_free_device_list(), it will be able to use only the open devices; pointers to unopened devices will no longer be valid.

Releases

3 releases since Debian 12 (Bookworm); the text changed 2 times.

  1. 12
  2. 13
  3. Arch

Author

Yishai Hadas ⟨[email protected]⟩\c

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