mlx5dv_devx_obj_import(3) — Linux manual page

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

mlx5dv_de..._unimport(3) Library Functions Manualmlx5dv_de..._unimport(3)

NAME         top

       mlx5dv_devx_obj_export - Export DEVX object attributes for
       cross-process sharing

       mlx5dv_devx_obj_import - Import a DEVX object from exported
       attributes

       mlx5dv_devx_obj_unimport - Unimport a DEVX object

SYNOPSIS         top

              #include <infiniband/mlx5dv.h>

              int mlx5dv_devx_obj_export(struct mlx5dv_devx_obj *obj, void *data);

              struct mlx5dv_devx_obj *mlx5dv_devx_obj_import(struct ibv_context *context,
                                                             void *data);

              void mlx5dv_devx_obj_unimport(struct mlx5dv_devx_obj *obj);

DESCRIPTION         top

       These functions enable cross-process sharing of DEVX objects.

       mlx5dv_devx_obj_export() exports DEVX object attributes into a
       buffer.  The buffer must be allocated by the caller with at least
       the size returned by mlx5dv_get_export_sizes() in the
       devx_obj_attrs_size field.

       mlx5dv_devx_obj_import() returns a DEVX object that is associated
       with the exported attributes in the given context.  The data
       buffer must have been previously filled by
       mlx5dv_devx_obj_export().

       The context can be the original object creating context or any
       context sharing the same kernel resources (e.g., via
       ibv_import_device()).

       mlx5dv_devx_obj_unimport() unimports a DEVX object that was
       imported via mlx5dv_devx_obj_import().  Once the object usage has
       ended, either mlx5dv_devx_obj_destroy() or
       mlx5dv_devx_obj_unimport() should be called.
       mlx5dv_devx_obj_destroy() destroys the kernel object, while
       mlx5dv_devx_obj_unimport() only cleans up local resources without
       affecting the kernel object.

       It is the responsibility of the application to coordinate between
       all contexts that use this object.  Once destroy is done, no other
       process can use the object except for unimport.  All users must
       collaborate to ensure this.

ARGUMENTS         top

   mlx5dv_devx_obj_export
       obj    The DEVX object to export.

       data   Pointer to a buffer to be filled with the exported
              attributes.  The buffer must be at least
              devx_obj_attrs_size bytes as returned by
              mlx5dv_get_export_sizes().

   mlx5dv_devx_obj_import
       context
              RDMA device context to import the DEVX object into.

       data   Pointer to a buffer previously filled by
              mlx5dv_devx_obj_export().

RETURN VALUE         top

       mlx5dv_devx_obj_export() returns 0 on success, or the value of
       errno on error.

       mlx5dv_devx_obj_import() returns a pointer to a struct
       mlx5dv_devx_obj on success, or NULL on error with errno set.

SEE ALSO         top

       mlx5dv_devx_obj_create, mlx5dv_get_export_sizes,
       mlx5dv_open_device

AUTHOR         top

       Maher Sanalla ⟨msanalla@nvidia.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 2026-05-24.  (At
       that time, the date of the most recent commit that was found in
       the repository was 2026-05-20.)  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_de..._unimport(3)