mlx5dv_devx_create_cmd_comp(3) — Linux manual page

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

mlx5dv_devx_cre...comp, get_async(3) mlx5dv_devx_cre...comp, get_async(3)

NAME         top

       mlx5dv_devx_create_cmd_comp - Create a command completion to be
       used for DEVX asynchronous commands.

       mlx5dv_devx_destroy_cmd_comp - Destroy a devx command completion.

       mlx5dv_devx_get_async_cmd_comp - Get an asynchronous command
       completion.  # SYNOPSIS

              #include <infiniband/mlx5dv.h>

              struct mlx5dv_devx_cmd_comp {
                  int fd;
              };

              struct mlx5dv_devx_cmd_comp *
              mlx5dv_devx_create_cmd_comp(struct ibv_context *context)

              void mlx5dv_devx_destroy_cmd_comp(struct mlx5dv_devx_cmd_comp *cmd_comp)

              struct mlx5dv_devx_async_cmd_hdr {
                  uint64_t    wr_id;
                  uint8_t     out_data[];
              };

              int mlx5dv_devx_get_async_cmd_comp(struct mlx5dv_devx_cmd_comp *cmd_comp,
                                 struct mlx5dv_devx_async_cmd_hdr *cmd_resp,
                                 size_t cmd_resp_len)

DESCRIPTION         top

       Create or destroy a command completion to be used for DEVX
       asynchronous commands.

       The create verb exposes an mlx5dv_devx_cmd_comp object that can be
       used as part of asynchronous DEVX commands.  This lets an
       application run asynchronously without blocking and once the
       response is ready read it from this object.

       The response can be read by the mlx5dv_devx_get_async_cmd_comp()
       API, upon response the wr_id that was supplied upon the
       asynchronous command is returned and the out_data includes the
       data itself.  The application must supply a large enough buffer to
       match any command that was issued on the cmd_comp, its size is
       given by the input cmd_resp_len parameter.

ARGUMENTS         top

       context

              RDMA device context to create the action on.

       cmd_comp
              The command completion object.

       cmd_resp
              The output data from the asynchronous command.

       cmd_resp_len
              The output buffer size to hold the response.

RETURN VALUE         top

       Upon success mlx5dv_devx_create_cmd_comp will return a new struct
       mlx5dv_devx_cmd_comp object, on error NULL will be returned and
       errno will be set.

       Upon success mlx5dv_devx_get_async_cmd_comp will return 0,
       otherwise errno will be returned.

SEE ALSO         top

       mlx5dv_open_device(3), mlx5dv_devx_obj_create(3)

       #AUTHOR

       Yishai Hadas ⟨yishaih@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

                                     mlx5dv_devx_cre...comp, get_async(3)