1mlx5dv_create_mkey / mlx5dv_destroy_mmlkxe5yd(v3_)create_mkey / mlx5dv_destroy_mkey(3)
2
3
4
6 mlx5dv_create_mkey - Creates an indirect mkey
7
8 mlx5dv_create_mkey - Destroys an indirect mkey
9
11 #include <infiniband/mlx5dv.h>
12
13 struct mlx5dv_mkey_init_attr {
14 struct ibv_pd *pd;
15 uint32_t create_flags;
16 uint16_t max_entries;
17 };
18
19 struct mlx5dv_mkey {
20 uint32_t lkey;
21 uint32_t rkey;
22 };
23
24 struct mlx5dv_mkey *
25 mlx5dv_create_mkey(struct mlx5dv_mkey_init_attr *mkey_init_attr);
26
27 int mlx5dv_destroy_mkey(struct mlx5dv_mkey *mkey);
28
30 Create / destroy an indirect mkey.
31
32 Create an indirect mkey to enable application uses its specific device
33 functionality.
34
36 ##mkey_init_attr##
37
38 pd ibv protection domain.
39
40 create_flags
41 MLX5DV_MKEY_INIT_ATTR_FLAGS_INDIRECT: Indirect mkey is being
42 created.
43
44 max_entries
45 Requested max number of pointed entries by this indirect mkey.
46 The function will update the mkey_init_attr->max_entries with
47 the actual mkey value that was created; it will be greater than
48 or equal to the value requested.
49
51 Upon success mlx5dv_create_mkey will return a new struct mlx5dv_mkey on
52 error NULL will be returned and errno will be set.
53
54 Upon success destroy 0 is returned or the value of errno on a failure.
55
57 To let this functionality works a DEVX context should be opened by us‐
58 ing mlx5dv_open_device.
59
60 The created indirect mkey can`t work with scatter to CQE feature, con‐
61 sider mlx5dv_create_qp() with MLX5DV_QP_CREATE_DISABLE_SCATTER_TO_CQE
62 for small messages.
63
65 mlx5dv_open_device(3), mlx5dv_create_qp(3)
66
67 #AUTHOR
68
69 Yishai Hadas <yishaih@mellanox.com>
70
71
72
73 mlx5dv_create_mkey / mlx5dv_destroy_mkey(3)