ibv_unimport_mr(3) — Linux manual page

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

ibv_imp...mport_mr(3) Libibverbs Programmer’s Manualibv_imp...mport_mr(3)

NAME         top

       ibv_import_mr - import an MR from a given ibv_pd

       ibv_unimport_mr - unimport an MR

SYNOPSIS         top

              #include <infiniband/verbs.h>

              struct ibv_mr *ibv_import_mr(struct ibv_pd *pd, uint32_t mr_handle);
              void ibv_unimport_mr(struct ibv_mr *mr)

DESCRIPTION         top

       ibv_import_mr() returns a Memory region (MR) that is associated
       with the given mr_handle in the RDMA context that assosicated with
       the given pd.

       The input mr_handle value must be a valid kernel handle for an MR
       object in the assosicated RDMA context.  It can be achieved from
       the original MR by getting its ibv_mr->handle member value.

       ibv_unimport_mr() un import the MR.  Once the MR usage has been
       ended ibv_dereg_mr() or ibv_unimport_mr() should be called.  The
       first one will go to the kernel to destroy the object once the
       second one way cleanup what ever is needed/opposite of the import
       without calling the kernel.

       This is the responsibility of the application to coordinate
       between all ibv_context(s) that use this MR.  Once destroy is done
       no other process can touch the object except for unimport.  All
       users of the context must collaborate to ensure this.

RETURN VALUE         top

       ibv_import_mr() returns a pointer to the allocated MR, or NULL if
       the request fails.

NOTES         top

       The addr field in the imported MR is not applicable, NULL value is
       expected.

SEE ALSO         top

       ibv_reg_mr(3), ibv_reg_dm_mr(3), ibv_reg_mr_iova(3),
       ibv_reg_mr_iova2(3), ibv_dereg_mr(3),

AUTHOR         top

       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

libibverbs                       2020-5-3           ibv_imp...mport_mr(3)