mlx5dv_var_import(3) — Linux manual page

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

mlx5dv_v..._unimport(3)  Library Functions Manual mlx5dv_v..._unimport(3)

NAME         top

       mlx5dv_var_export - Export VAR attributes for cross-process
       sharing

       mlx5dv_var_import - Import a VAR from exported attributes

       mlx5dv_var_unimport - Unimport a VAR

SYNOPSIS         top

              #include <infiniband/mlx5dv.h>

              int mlx5dv_var_export(struct mlx5dv_var *dv_var, void *data);

              struct mlx5dv_var *mlx5dv_var_import(struct ibv_context *context,
                                                   void *data);

              void mlx5dv_var_unimport(struct mlx5dv_var *dv_var);

DESCRIPTION         top

       These functions enable cross-process sharing of VAR objects.

       mlx5dv_var_export() exports a VAR attributes into a data buffer.
       The buffer must be allocated by the caller with at least the size
       returned by mlx5dv_get_export_sizes() in the var_attrs_size field.

       mlx5dv_var_import() returns a VAR that is associated with the
       exported attributes in the given context.

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

       mlx5dv_var_unimport() unimports a VAR that was imported via
       mlx5dv_var_import().  Once the VAR usage has ended, either
       mlx5dv_free_var() or mlx5dv_var_unimport() should be called.
       mlx5dv_free_var() destroys the kernel object, while
       mlx5dv_var_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 VAR.  Once destroy/free is done, no
       other process can use the object except for unimport.  All users
       must collaborate to ensure this.

ARGUMENTS         top

   mlx5dv_var_export
       dv_var The VAR object to export.

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

   mlx5dv_var_import
       context
              RDMA device context to import the VAR into.

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

RETURN VALUE         top

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

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

SEE ALSO         top

       mlx5dv_alloc_var, 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_v..._unimport(3)