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