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,
13                                 enum ibv_access_flags access);
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       If IBV_ACCESS_REMOTE_WRITE or  IBV_ACCESS_REMOTE_ATOMIC  is  set,  then
35       IBV_ACCESS_LOCAL_WRITE must be set too.
36
37       Local read access is always enabled for the MR.
38
39       ibv_dereg_mr() deregisters the MR mr.
40

RETURN VALUE

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

NOTES

54       ibv_dereg_mr() fails if any memory window is still bound to this MR.
55

SEE ALSO

57       ibv_alloc_pd(3),          ibv_post_send(3),           ibv_post_recv(3),
58       ibv_post_srq_recv(3)
59

AUTHORS

61       Dotan Barak <dotanb@mellanox.co.il>
62
63
64
65libibverbs                        2006-10-31                     IBV_REG_MR(3)
Impressum