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_ZERO_BASED Use byte offset from beginning of  MR  to  access
35       this MR, instead of a pointer address
36
37       IBV_ACCESS_ON_DEMAND Create an on-demand paging MR
38
39       If  IBV_ACCESS_REMOTE_WRITE  or  IBV_ACCESS_REMOTE_ATOMIC  is set, then
40       IBV_ACCESS_LOCAL_WRITE must be set too.
41
42       Local read access is always enabled for the MR.
43
44       ibv_dereg_mr() deregisters the MR mr.
45

RETURN VALUE

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

NOTES

59       ibv_dereg_mr() fails if any memory window is still bound to this MR.
60

SEE ALSO

62       ibv_alloc_pd(3),           ibv_post_send(3),          ibv_post_recv(3),
63       ibv_post_srq_recv(3)
64

AUTHORS

66       Dotan Barak <dotanba@gmail.com>
67
68
69
70libibverbs                        2006-10-31                     IBV_REG_MR(3)
Impressum