1IBV_ALLOC_PARENT_DOMAIN(3L)ibibverbs Programmer's ManuaIlBV_ALLOC_PARENT_DOMAIN(3)
2
3
4
6 ibv_alloc_parent_domain(), ibv_dealloc_pd() - allocate and deallocate
7 the parent domain object
8
10 #include <infiniband/verbs.h>
11
12 struct ibv_pd *ibv_alloc_parent_domain(struct ibv_context *context", struct ibv_domain_init_attr *attr);
13
14
16 ibv_alloc_parent_domain() allocates a parent domain object for the RDMA
17 device context context.
18
19 The parent domain object extends the normal protection domain with
20 additional objects, such as a thread domain.
21
22 A parent domain is completely interchangable with the struct ibv_pd
23 used to create it, and can be used as an input argument to any function
24 accepting a struct ibv_pd.
25
26 The behavior of each verb may be different if the verb is passed a par‐
27 ent domain struct ibv_pd that contains a struct ibv_td pointer. For
28 instance the verb my choose to share resources between objects using
29 the same thread domain. The exact behavior is provider dependent.
30
31 The attr argument specifies the following:
32
33 struct ibv_parent_domain_init_attr {
34 struct ibv_pd *pd; /* referance to a protection domain, can't be NULL */
35 struct ibv_td *td; /* referance to a thread domain, or NULL */
36 uint32_t comp_mask;
37 };
38
39 ibv_dealloc_pd() will deallocate the parent domain as its exposed as an
40 ibv_pd pd. All resources created with the parent domain should be
41 destroyed prior to deallocating the parent domain.
42
44 ibv_alloc_parent_domain() returns a pointer to the allocated struct
45 ibv_pd object, or NULL if the request fails (and sets errno to indicate
46 the failure reason).
47
48
50 ibv_alloc_parent_domain(3), ibv_dealloc_pd(3), ibv_alloc_pd(3),
51 ibv_alloc_td(3)
52
54 Alex Rosenbaum <alexr@mellanox.com>
55
56 Yishai Hadas <yishaih@mellanox.com>
57
58
59
60libibverbs 2017-11-06 IBV_ALLOC_PARENT_DOMAIN(3)