Provided by: libibverbs-dev_42.0-1_amd64 bug

NAME

       ibv_import_mr - import an MR from a given ibv_pd

       ibv_unimport_mr - unimport an MR

SYNOPSIS

              #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

       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

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

NOTES

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

SEE ALSO

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

AUTHOR

       Yishai Hadas <yishaih@mellanox.com>