1IBV_REG_MR(3)           Libibverbs Programmer's Manual           IBV_REG_MR(3)
2
3
4

NAME

6       ibv_reg_mr, ibv_dereg_mr - register or deregister a memory region (MR)
7

SYNOPSIS

9       #include <infiniband/verbs.h>
10
11       struct ibv_mr *ibv_reg_mr(struct ibv_pd *pd, void *addr,
12                                 size_t length, int access);
13
14       int ibv_dereg_mr(struct ibv_mr *mr);
15

DESCRIPTION

17       ibv_reg_mr() registers a memory region (MR) associated with the protec‐
18       tion domain pd.  The MR's starting address is  addr  and  its  size  is
19       length.   The  argument  access describes the desired memory protection
20       attributes; it is either 0 or the bitwise OR of one or more of the fol‐
21       lowing flags:
22
23       IBV_ACCESS_LOCAL_WRITE  Enable Local Write Access
24
25       IBV_ACCESS_REMOTE_WRITE  Enable Remote Write Access
26
27       IBV_ACCESS_REMOTE_READ Enable Remote Read Access
28
29       IBV_ACCESS_REMOTE_ATOMIC Enable Remote Atomic Operation Access (if sup‐
30       ported)
31
32       IBV_ACCESS_MW_BIND Enable Memory Window Binding
33
34       IBV_ACCESS_ON_DEMAND Create an on-demand paging MR
35
36       If IBV_ACCESS_REMOTE_WRITE or  IBV_ACCESS_REMOTE_ATOMIC  is  set,  then
37       IBV_ACCESS_LOCAL_WRITE must be set too.
38
39       Local read access is always enabled for the MR.
40
41       ibv_dereg_mr() deregisters the MR mr.
42

RETURN VALUE

44       ibv_reg_mr()  returns  a  pointer  to the registered MR, or NULL if the
45       request fails.  The local key (L_Key) field lkey is used  as  the  lkey
46       field of struct ibv_sge when posting buffers with ibv_post_* verbs, and
47       the the remote key (R_Key) field rkey is used by  remote  processes  to
48       perform  Atomic  and  RDMA  operations.  The remote process places this
49       rkey  as  the  rkey  field  of  struct  ibv_send_wr   passed   to   the
50       ibv_post_send function.
51
52       ibv_dereg_mr()  returns  0 on success, or the value of errno on failure
53       (which indicates the failure reason).
54

NOTES

56       ibv_dereg_mr() fails if any memory window is still bound to this MR.
57

SEE ALSO

59       ibv_alloc_pd(3),          ibv_post_send(3),           ibv_post_recv(3),
60       ibv_post_srq_recv(3)
61

AUTHORS

63       Dotan Barak <dotanba@gmail.com>
64
65
66
67libibverbs                        2006-10-31                     IBV_REG_MR(3)
Impressum