IBV_REREG_MR(3) Libibverbs Programmer's Manual IBV_REREG_MR(3)
NAME
ibv_rereg_mr - re-register a memory region (MR)
SYNOPSIS
#include <infiniband/verbs.h>
int ibv_rereg_mr(struct ibv_mr *mr, int flags,
struct ibv_pd * pd, void *addr,
size_t length, int access);
DESCRIPTION
ibv_rereg_mr() Modifies the attributes of an existing memory region
(MR) mr. Conceptually, this call performs the functions deregister
memory region followed by register memory region. Where possible, re-
sources are reused instead of deallocated and reallocated.
flags is a bit-mask used to indicate which of the following properties
of the memory region are being modified. Flags should be a combination
(bit field) of:
IBV_REREG_MR_CHANGE_TRANSLATION Change translation (location and
length)
IBV_REREG_MR_CHANGE_PD Change protection domain
IBV_REREG_MR_CHANGE_ACCESS Change access flags
When IBV_REREG_MR_CHANGE_PD is used, pd represents the new PD this MR
should be registered to.
When IBV_REREG_MR_CHANGE_TRANSLATION is used, addr. represents the
virtual address (user-space pointer) of the new MR, while length repre-
sents its length.
The access and other flags are represented in the field access. This
field describes the desired memory protection attributes; it is either
0 or the bitwise OR of one or more of ibv_access_flags.
RETURN VALUE
ibv_rereg_mr() returns 0 on success, otherwise an error has oc-
curred, enum ibv_rereg_mr_err_code represents the error as of
below.
IBV_REREG_MR_ERR_INPUT - Old MR is valid, an input error was de-
tected by libibverbs.
IBV_REREG_MR_ERR_DONT_FORK_NEW - Old MR is valid, failed via
don't fork on new address range.
IBV_REREG_MR_ERR_DO_FORK_OLD - New MR is valid, failed via do
fork on old address range.
IBV_REREG_MR_ERR_CMD - MR shouldn't be used, command error.
IBV_REREG_MR_ERR_CMD_AND_DO_FORK_NEW - MR shouldn't be used,
command error, invalid fork state on new address range.
NOTES
Even on a failure, the user still needs to call ibv_dereg_mr on this
MR.
SEE ALSO
ibv_reg_mr(3), ibv_dereg_mr(3),
AUTHORS
Matan Barak <
[email protected]>
Yishai Hadas <
[email protected]>
libibverbs 2016-03-13 IBV_REREG_MR(3)