1IBV_REG_MR(3) Libibverbs Programmer's Manual IBV_REG_MR(3)
2
3
4
6 ibv_reg_mr, ibv_dereg_mr - register or deregister a memory region (MR)
7
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
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
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
59 ibv_dereg_mr() fails if any memory window is still bound to this MR.
60
62 ibv_alloc_pd(3), ibv_post_send(3), ibv_post_recv(3),
63 ibv_post_srq_recv(3)
64
66 Dotan Barak <dotanba@gmail.com>
67
68
69
70libibverbs 2006-10-31 IBV_REG_MR(3)