xref: /OK3568_Linux_fs/kernel/include/uapi/rdma/mlx5_user_ioctl_cmds.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Copyright (c) 2018, Mellanox Technologies inc.  All rights reserved.
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * This software is available to you under a choice of one of two
5*4882a593Smuzhiyun  * licenses.  You may choose to be licensed under the terms of the GNU
6*4882a593Smuzhiyun  * General Public License (GPL) Version 2, available from the file
7*4882a593Smuzhiyun  * COPYING in the main directory of this source tree, or the
8*4882a593Smuzhiyun  * OpenIB.org BSD license below:
9*4882a593Smuzhiyun  *
10*4882a593Smuzhiyun  *     Redistribution and use in source and binary forms, with or
11*4882a593Smuzhiyun  *     without modification, are permitted provided that the following
12*4882a593Smuzhiyun  *     conditions are met:
13*4882a593Smuzhiyun  *
14*4882a593Smuzhiyun  *      - Redistributions of source code must retain the above
15*4882a593Smuzhiyun  *        copyright notice, this list of conditions and the following
16*4882a593Smuzhiyun  *        disclaimer.
17*4882a593Smuzhiyun  *
18*4882a593Smuzhiyun  *      - Redistributions in binary form must reproduce the above
19*4882a593Smuzhiyun  *        copyright notice, this list of conditions and the following
20*4882a593Smuzhiyun  *        disclaimer in the documentation and/or other materials
21*4882a593Smuzhiyun  *        provided with the distribution.
22*4882a593Smuzhiyun  *
23*4882a593Smuzhiyun  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24*4882a593Smuzhiyun  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25*4882a593Smuzhiyun  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26*4882a593Smuzhiyun  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
27*4882a593Smuzhiyun  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
28*4882a593Smuzhiyun  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
29*4882a593Smuzhiyun  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
30*4882a593Smuzhiyun  * SOFTWARE.
31*4882a593Smuzhiyun  */
32*4882a593Smuzhiyun 
33*4882a593Smuzhiyun #ifndef MLX5_USER_IOCTL_CMDS_H
34*4882a593Smuzhiyun #define MLX5_USER_IOCTL_CMDS_H
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun #include <linux/types.h>
37*4882a593Smuzhiyun #include <rdma/ib_user_ioctl_cmds.h>
38*4882a593Smuzhiyun 
39*4882a593Smuzhiyun enum mlx5_ib_create_flow_action_attrs {
40*4882a593Smuzhiyun 	/* This attribute belong to the driver namespace */
41*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_FLOW_ACTION_FLAGS = (1U << UVERBS_ID_NS_SHIFT),
42*4882a593Smuzhiyun };
43*4882a593Smuzhiyun 
44*4882a593Smuzhiyun enum mlx5_ib_alloc_dm_attrs {
45*4882a593Smuzhiyun 	MLX5_IB_ATTR_ALLOC_DM_RESP_START_OFFSET = (1U << UVERBS_ID_NS_SHIFT),
46*4882a593Smuzhiyun 	MLX5_IB_ATTR_ALLOC_DM_RESP_PAGE_INDEX,
47*4882a593Smuzhiyun 	MLX5_IB_ATTR_ALLOC_DM_REQ_TYPE,
48*4882a593Smuzhiyun };
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun enum mlx5_ib_devx_methods {
51*4882a593Smuzhiyun 	MLX5_IB_METHOD_DEVX_OTHER  = (1U << UVERBS_ID_NS_SHIFT),
52*4882a593Smuzhiyun 	MLX5_IB_METHOD_DEVX_QUERY_UAR,
53*4882a593Smuzhiyun 	MLX5_IB_METHOD_DEVX_QUERY_EQN,
54*4882a593Smuzhiyun 	MLX5_IB_METHOD_DEVX_SUBSCRIBE_EVENT,
55*4882a593Smuzhiyun };
56*4882a593Smuzhiyun 
57*4882a593Smuzhiyun enum  mlx5_ib_devx_other_attrs {
58*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OTHER_CMD_IN = (1U << UVERBS_ID_NS_SHIFT),
59*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OTHER_CMD_OUT,
60*4882a593Smuzhiyun };
61*4882a593Smuzhiyun 
62*4882a593Smuzhiyun enum mlx5_ib_devx_obj_create_attrs {
63*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_CREATE_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
64*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_CREATE_CMD_IN,
65*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_CREATE_CMD_OUT,
66*4882a593Smuzhiyun };
67*4882a593Smuzhiyun 
68*4882a593Smuzhiyun enum  mlx5_ib_devx_query_uar_attrs {
69*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_QUERY_UAR_USER_IDX = (1U << UVERBS_ID_NS_SHIFT),
70*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_QUERY_UAR_DEV_IDX,
71*4882a593Smuzhiyun };
72*4882a593Smuzhiyun 
73*4882a593Smuzhiyun enum mlx5_ib_devx_obj_destroy_attrs {
74*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
75*4882a593Smuzhiyun };
76*4882a593Smuzhiyun 
77*4882a593Smuzhiyun enum mlx5_ib_devx_obj_modify_attrs {
78*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_MODIFY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
79*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_MODIFY_CMD_IN,
80*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_MODIFY_CMD_OUT,
81*4882a593Smuzhiyun };
82*4882a593Smuzhiyun 
83*4882a593Smuzhiyun enum mlx5_ib_devx_obj_query_attrs {
84*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_QUERY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
85*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_IN,
86*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_OUT,
87*4882a593Smuzhiyun };
88*4882a593Smuzhiyun 
89*4882a593Smuzhiyun enum mlx5_ib_devx_obj_query_async_attrs {
90*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
91*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_CMD_IN,
92*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_FD,
93*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_WR_ID,
94*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_OUT_LEN,
95*4882a593Smuzhiyun };
96*4882a593Smuzhiyun 
97*4882a593Smuzhiyun enum mlx5_ib_devx_subscribe_event_attrs {
98*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_FD_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
99*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_OBJ_HANDLE,
100*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_TYPE_NUM_LIST,
101*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_FD_NUM,
102*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_COOKIE,
103*4882a593Smuzhiyun };
104*4882a593Smuzhiyun 
105*4882a593Smuzhiyun enum  mlx5_ib_devx_query_eqn_attrs {
106*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_QUERY_EQN_USER_VEC = (1U << UVERBS_ID_NS_SHIFT),
107*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_QUERY_EQN_DEV_EQN,
108*4882a593Smuzhiyun };
109*4882a593Smuzhiyun 
110*4882a593Smuzhiyun enum mlx5_ib_devx_obj_methods {
111*4882a593Smuzhiyun 	MLX5_IB_METHOD_DEVX_OBJ_CREATE = (1U << UVERBS_ID_NS_SHIFT),
112*4882a593Smuzhiyun 	MLX5_IB_METHOD_DEVX_OBJ_DESTROY,
113*4882a593Smuzhiyun 	MLX5_IB_METHOD_DEVX_OBJ_MODIFY,
114*4882a593Smuzhiyun 	MLX5_IB_METHOD_DEVX_OBJ_QUERY,
115*4882a593Smuzhiyun 	MLX5_IB_METHOD_DEVX_OBJ_ASYNC_QUERY,
116*4882a593Smuzhiyun };
117*4882a593Smuzhiyun 
118*4882a593Smuzhiyun enum mlx5_ib_var_alloc_attrs {
119*4882a593Smuzhiyun 	MLX5_IB_ATTR_VAR_OBJ_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
120*4882a593Smuzhiyun 	MLX5_IB_ATTR_VAR_OBJ_ALLOC_MMAP_OFFSET,
121*4882a593Smuzhiyun 	MLX5_IB_ATTR_VAR_OBJ_ALLOC_MMAP_LENGTH,
122*4882a593Smuzhiyun 	MLX5_IB_ATTR_VAR_OBJ_ALLOC_PAGE_ID,
123*4882a593Smuzhiyun };
124*4882a593Smuzhiyun 
125*4882a593Smuzhiyun enum mlx5_ib_var_obj_destroy_attrs {
126*4882a593Smuzhiyun 	MLX5_IB_ATTR_VAR_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
127*4882a593Smuzhiyun };
128*4882a593Smuzhiyun 
129*4882a593Smuzhiyun enum mlx5_ib_var_obj_methods {
130*4882a593Smuzhiyun 	MLX5_IB_METHOD_VAR_OBJ_ALLOC = (1U << UVERBS_ID_NS_SHIFT),
131*4882a593Smuzhiyun 	MLX5_IB_METHOD_VAR_OBJ_DESTROY,
132*4882a593Smuzhiyun };
133*4882a593Smuzhiyun 
134*4882a593Smuzhiyun enum mlx5_ib_uar_alloc_attrs {
135*4882a593Smuzhiyun 	MLX5_IB_ATTR_UAR_OBJ_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
136*4882a593Smuzhiyun 	MLX5_IB_ATTR_UAR_OBJ_ALLOC_TYPE,
137*4882a593Smuzhiyun 	MLX5_IB_ATTR_UAR_OBJ_ALLOC_MMAP_OFFSET,
138*4882a593Smuzhiyun 	MLX5_IB_ATTR_UAR_OBJ_ALLOC_MMAP_LENGTH,
139*4882a593Smuzhiyun 	MLX5_IB_ATTR_UAR_OBJ_ALLOC_PAGE_ID,
140*4882a593Smuzhiyun };
141*4882a593Smuzhiyun 
142*4882a593Smuzhiyun enum mlx5_ib_uar_obj_destroy_attrs {
143*4882a593Smuzhiyun 	MLX5_IB_ATTR_UAR_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
144*4882a593Smuzhiyun };
145*4882a593Smuzhiyun 
146*4882a593Smuzhiyun enum mlx5_ib_uar_obj_methods {
147*4882a593Smuzhiyun 	MLX5_IB_METHOD_UAR_OBJ_ALLOC = (1U << UVERBS_ID_NS_SHIFT),
148*4882a593Smuzhiyun 	MLX5_IB_METHOD_UAR_OBJ_DESTROY,
149*4882a593Smuzhiyun };
150*4882a593Smuzhiyun 
151*4882a593Smuzhiyun enum mlx5_ib_devx_umem_reg_attrs {
152*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_UMEM_REG_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
153*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_UMEM_REG_ADDR,
154*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_UMEM_REG_LEN,
155*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS,
156*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_UMEM_REG_OUT_ID,
157*4882a593Smuzhiyun };
158*4882a593Smuzhiyun 
159*4882a593Smuzhiyun enum mlx5_ib_devx_umem_dereg_attrs {
160*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_UMEM_DEREG_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
161*4882a593Smuzhiyun };
162*4882a593Smuzhiyun 
163*4882a593Smuzhiyun enum mlx5_ib_pp_obj_methods {
164*4882a593Smuzhiyun 	MLX5_IB_METHOD_PP_OBJ_ALLOC = (1U << UVERBS_ID_NS_SHIFT),
165*4882a593Smuzhiyun 	MLX5_IB_METHOD_PP_OBJ_DESTROY,
166*4882a593Smuzhiyun };
167*4882a593Smuzhiyun 
168*4882a593Smuzhiyun enum mlx5_ib_pp_alloc_attrs {
169*4882a593Smuzhiyun 	MLX5_IB_ATTR_PP_OBJ_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
170*4882a593Smuzhiyun 	MLX5_IB_ATTR_PP_OBJ_ALLOC_CTX,
171*4882a593Smuzhiyun 	MLX5_IB_ATTR_PP_OBJ_ALLOC_FLAGS,
172*4882a593Smuzhiyun 	MLX5_IB_ATTR_PP_OBJ_ALLOC_INDEX,
173*4882a593Smuzhiyun };
174*4882a593Smuzhiyun 
175*4882a593Smuzhiyun enum mlx5_ib_pp_obj_destroy_attrs {
176*4882a593Smuzhiyun 	MLX5_IB_ATTR_PP_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
177*4882a593Smuzhiyun };
178*4882a593Smuzhiyun 
179*4882a593Smuzhiyun enum mlx5_ib_devx_umem_methods {
180*4882a593Smuzhiyun 	MLX5_IB_METHOD_DEVX_UMEM_REG = (1U << UVERBS_ID_NS_SHIFT),
181*4882a593Smuzhiyun 	MLX5_IB_METHOD_DEVX_UMEM_DEREG,
182*4882a593Smuzhiyun };
183*4882a593Smuzhiyun 
184*4882a593Smuzhiyun enum mlx5_ib_devx_async_cmd_fd_alloc_attrs {
185*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_ASYNC_CMD_FD_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
186*4882a593Smuzhiyun };
187*4882a593Smuzhiyun 
188*4882a593Smuzhiyun enum mlx5_ib_devx_async_event_fd_alloc_attrs {
189*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_ASYNC_EVENT_FD_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
190*4882a593Smuzhiyun 	MLX5_IB_ATTR_DEVX_ASYNC_EVENT_FD_ALLOC_FLAGS,
191*4882a593Smuzhiyun };
192*4882a593Smuzhiyun 
193*4882a593Smuzhiyun enum mlx5_ib_devx_async_cmd_fd_methods {
194*4882a593Smuzhiyun 	MLX5_IB_METHOD_DEVX_ASYNC_CMD_FD_ALLOC = (1U << UVERBS_ID_NS_SHIFT),
195*4882a593Smuzhiyun };
196*4882a593Smuzhiyun 
197*4882a593Smuzhiyun enum mlx5_ib_devx_async_event_fd_methods {
198*4882a593Smuzhiyun 	MLX5_IB_METHOD_DEVX_ASYNC_EVENT_FD_ALLOC = (1U << UVERBS_ID_NS_SHIFT),
199*4882a593Smuzhiyun };
200*4882a593Smuzhiyun 
201*4882a593Smuzhiyun enum mlx5_ib_objects {
202*4882a593Smuzhiyun 	MLX5_IB_OBJECT_DEVX = (1U << UVERBS_ID_NS_SHIFT),
203*4882a593Smuzhiyun 	MLX5_IB_OBJECT_DEVX_OBJ,
204*4882a593Smuzhiyun 	MLX5_IB_OBJECT_DEVX_UMEM,
205*4882a593Smuzhiyun 	MLX5_IB_OBJECT_FLOW_MATCHER,
206*4882a593Smuzhiyun 	MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD,
207*4882a593Smuzhiyun 	MLX5_IB_OBJECT_DEVX_ASYNC_EVENT_FD,
208*4882a593Smuzhiyun 	MLX5_IB_OBJECT_VAR,
209*4882a593Smuzhiyun 	MLX5_IB_OBJECT_PP,
210*4882a593Smuzhiyun 	MLX5_IB_OBJECT_UAR,
211*4882a593Smuzhiyun };
212*4882a593Smuzhiyun 
213*4882a593Smuzhiyun enum mlx5_ib_flow_matcher_create_attrs {
214*4882a593Smuzhiyun 	MLX5_IB_ATTR_FLOW_MATCHER_CREATE_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
215*4882a593Smuzhiyun 	MLX5_IB_ATTR_FLOW_MATCHER_MATCH_MASK,
216*4882a593Smuzhiyun 	MLX5_IB_ATTR_FLOW_MATCHER_FLOW_TYPE,
217*4882a593Smuzhiyun 	MLX5_IB_ATTR_FLOW_MATCHER_MATCH_CRITERIA,
218*4882a593Smuzhiyun 	MLX5_IB_ATTR_FLOW_MATCHER_FLOW_FLAGS,
219*4882a593Smuzhiyun 	MLX5_IB_ATTR_FLOW_MATCHER_FT_TYPE,
220*4882a593Smuzhiyun };
221*4882a593Smuzhiyun 
222*4882a593Smuzhiyun enum mlx5_ib_flow_matcher_destroy_attrs {
223*4882a593Smuzhiyun 	MLX5_IB_ATTR_FLOW_MATCHER_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
224*4882a593Smuzhiyun };
225*4882a593Smuzhiyun 
226*4882a593Smuzhiyun enum mlx5_ib_flow_matcher_methods {
227*4882a593Smuzhiyun 	MLX5_IB_METHOD_FLOW_MATCHER_CREATE = (1U << UVERBS_ID_NS_SHIFT),
228*4882a593Smuzhiyun 	MLX5_IB_METHOD_FLOW_MATCHER_DESTROY,
229*4882a593Smuzhiyun };
230*4882a593Smuzhiyun 
231*4882a593Smuzhiyun enum mlx5_ib_device_query_context_attrs {
232*4882a593Smuzhiyun 	MLX5_IB_ATTR_QUERY_CONTEXT_RESP_UCTX = (1U << UVERBS_ID_NS_SHIFT),
233*4882a593Smuzhiyun };
234*4882a593Smuzhiyun 
235*4882a593Smuzhiyun #define MLX5_IB_DW_MATCH_PARAM 0x80
236*4882a593Smuzhiyun 
237*4882a593Smuzhiyun struct mlx5_ib_match_params {
238*4882a593Smuzhiyun 	__u32	match_params[MLX5_IB_DW_MATCH_PARAM];
239*4882a593Smuzhiyun };
240*4882a593Smuzhiyun 
241*4882a593Smuzhiyun enum mlx5_ib_flow_type {
242*4882a593Smuzhiyun 	MLX5_IB_FLOW_TYPE_NORMAL,
243*4882a593Smuzhiyun 	MLX5_IB_FLOW_TYPE_SNIFFER,
244*4882a593Smuzhiyun 	MLX5_IB_FLOW_TYPE_ALL_DEFAULT,
245*4882a593Smuzhiyun 	MLX5_IB_FLOW_TYPE_MC_DEFAULT,
246*4882a593Smuzhiyun };
247*4882a593Smuzhiyun 
248*4882a593Smuzhiyun enum mlx5_ib_create_flow_flags {
249*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_FLOW_FLAGS_DEFAULT_MISS = 1 << 0,
250*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_FLOW_FLAGS_DROP = 1 << 1,
251*4882a593Smuzhiyun };
252*4882a593Smuzhiyun 
253*4882a593Smuzhiyun enum mlx5_ib_create_flow_attrs {
254*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
255*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_FLOW_MATCH_VALUE,
256*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_FLOW_DEST_QP,
257*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_FLOW_DEST_DEVX,
258*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_FLOW_MATCHER,
259*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_FLOW_ARR_FLOW_ACTIONS,
260*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_FLOW_TAG,
261*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_FLOW_ARR_COUNTERS_DEVX,
262*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_FLOW_ARR_COUNTERS_DEVX_OFFSET,
263*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_FLOW_FLAGS,
264*4882a593Smuzhiyun };
265*4882a593Smuzhiyun 
266*4882a593Smuzhiyun enum mlx5_ib_destroy_flow_attrs {
267*4882a593Smuzhiyun 	MLX5_IB_ATTR_DESTROY_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
268*4882a593Smuzhiyun };
269*4882a593Smuzhiyun 
270*4882a593Smuzhiyun enum mlx5_ib_flow_methods {
271*4882a593Smuzhiyun 	MLX5_IB_METHOD_CREATE_FLOW = (1U << UVERBS_ID_NS_SHIFT),
272*4882a593Smuzhiyun 	MLX5_IB_METHOD_DESTROY_FLOW,
273*4882a593Smuzhiyun };
274*4882a593Smuzhiyun 
275*4882a593Smuzhiyun enum mlx5_ib_flow_action_methods {
276*4882a593Smuzhiyun 	MLX5_IB_METHOD_FLOW_ACTION_CREATE_MODIFY_HEADER = (1U << UVERBS_ID_NS_SHIFT),
277*4882a593Smuzhiyun 	MLX5_IB_METHOD_FLOW_ACTION_CREATE_PACKET_REFORMAT,
278*4882a593Smuzhiyun };
279*4882a593Smuzhiyun 
280*4882a593Smuzhiyun enum mlx5_ib_create_flow_action_create_modify_header_attrs {
281*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_MODIFY_HEADER_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
282*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_MODIFY_HEADER_ACTIONS_PRM,
283*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_MODIFY_HEADER_FT_TYPE,
284*4882a593Smuzhiyun };
285*4882a593Smuzhiyun 
286*4882a593Smuzhiyun enum mlx5_ib_create_flow_action_create_packet_reformat_attrs {
287*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
288*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_TYPE,
289*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_FT_TYPE,
290*4882a593Smuzhiyun 	MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_DATA_BUF,
291*4882a593Smuzhiyun };
292*4882a593Smuzhiyun 
293*4882a593Smuzhiyun enum mlx5_ib_query_pd_attrs {
294*4882a593Smuzhiyun 	MLX5_IB_ATTR_QUERY_PD_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
295*4882a593Smuzhiyun 	MLX5_IB_ATTR_QUERY_PD_RESP_PDN,
296*4882a593Smuzhiyun };
297*4882a593Smuzhiyun 
298*4882a593Smuzhiyun enum mlx5_ib_pd_methods {
299*4882a593Smuzhiyun 	MLX5_IB_METHOD_PD_QUERY = (1U << UVERBS_ID_NS_SHIFT),
300*4882a593Smuzhiyun 
301*4882a593Smuzhiyun };
302*4882a593Smuzhiyun 
303*4882a593Smuzhiyun #endif
304