---
name: "mlx5dv_devx_create_eq"
section: "3"
platform: "linux"
package: "rdma-core"
version: "65.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/mlx5dv_devx_create_eq"
---

# mlx5dv\_devx\_create\_eq(3)

Create an EQ object mlx5dv\_devx\_destroy\_eq - Destroy an EQ object

## NAME

mlx5dv\_devx\_create\_eq - Create an EQ object

mlx5dv\_devx\_destroy\_eq - Destroy an EQ object

## SYNOPSIS

-

  ```
  #include <infiniband/mlx5dv.h>
  struct mlx5dv_devx_eq *
  mlx5dv_devx_create_eq(struct ibv_context *ibctx, const void *in, size_t inlen,
                void *out, size_t outlen);
  int mlx5dv_devx_destroy_eq(struct mlx5dv_devx_eq *eq);
  ```

## DESCRIPTION

Create / Destroy an EQ object. Upon creation, the caller prepares the in/out mail boxes based on the device specification format; For the input mailbox, caller needs to prepare all fields except “eqc.log\_page\_size” and the pas list, which will be set by the driver. The “eqc.intr” field should be used from the output of mlx5dv\_devx\_alloc\_msi\_vector().

## ARGUMENTS

- *ibctx*

  RDMA device context to create the action on.

- *in*

  A buffer which contains the command’s input data provided in a device specification format.

- *inlen*

  The size of *in* buffer in bytes.

- *out*

  A buffer which contains the command’s output data according to the device specification format.

- *outlen*

  The size of *out* buffer in bytes.

- *eq*

  The EQ object to work on.

-

  ```
  struct mlx5dv_devx_eq {
      void *vaddr;
  };
  ```

- *vaddr*

  EQ VA that was allocated in the driver for.

## NOTES

mlx5dv\_devx\_query\_eqn() will not support vectors which are used by mlx5dv\_devx\_create\_eq().

## RETURN VALUE

Upon success *mlx5dv\_devx\_create\_eq* will return a new *struct mlx5dv\_devx\_eq*; On error NULL will be returned and errno will be set.

Upon success *mlx5dv\_devx\_destroy\_eq* will return 0, on error errno will be returned.

If the error value is EREMOTEIO, outbox.status and outbox.syndrome will contain the command failure details.

## SEE ALSO

*[mlx5dv\_devx\_alloc\_msi\_vector(3)](/mlx5dv_devx_alloc_msi_vector/3.md)*, *[mlx5dv\_devx\_query\_eqn(3)](/mlx5dv_devx_query_eqn/3.md)*

## AUTHOR

Mark Zhang ⟨markzhang@nvidia.com⟩\\c
