1c6475a0bSAviad Yehezkel /* 2c6475a0bSAviad Yehezkel * Copyright (c) 2018, Mellanox Technologies inc. All rights reserved. 3c6475a0bSAviad Yehezkel * 4c6475a0bSAviad Yehezkel * This software is available to you under a choice of one of two 5c6475a0bSAviad Yehezkel * licenses. You may choose to be licensed under the terms of the GNU 6c6475a0bSAviad Yehezkel * General Public License (GPL) Version 2, available from the file 7c6475a0bSAviad Yehezkel * COPYING in the main directory of this source tree, or the 8c6475a0bSAviad Yehezkel * OpenIB.org BSD license below: 9c6475a0bSAviad Yehezkel * 10c6475a0bSAviad Yehezkel * Redistribution and use in source and binary forms, with or 11c6475a0bSAviad Yehezkel * without modification, are permitted provided that the following 12c6475a0bSAviad Yehezkel * conditions are met: 13c6475a0bSAviad Yehezkel * 14c6475a0bSAviad Yehezkel * - Redistributions of source code must retain the above 15c6475a0bSAviad Yehezkel * copyright notice, this list of conditions and the following 16c6475a0bSAviad Yehezkel * disclaimer. 17c6475a0bSAviad Yehezkel * 18c6475a0bSAviad Yehezkel * - Redistributions in binary form must reproduce the above 19c6475a0bSAviad Yehezkel * copyright notice, this list of conditions and the following 20c6475a0bSAviad Yehezkel * disclaimer in the documentation and/or other materials 21c6475a0bSAviad Yehezkel * provided with the distribution. 22c6475a0bSAviad Yehezkel * 23c6475a0bSAviad Yehezkel * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24c6475a0bSAviad Yehezkel * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25c6475a0bSAviad Yehezkel * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26c6475a0bSAviad Yehezkel * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 27c6475a0bSAviad Yehezkel * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 28c6475a0bSAviad Yehezkel * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 29c6475a0bSAviad Yehezkel * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 30c6475a0bSAviad Yehezkel * SOFTWARE. 31c6475a0bSAviad Yehezkel */ 32c6475a0bSAviad Yehezkel 33c6475a0bSAviad Yehezkel #ifndef MLX5_USER_IOCTL_CMDS_H 34c6475a0bSAviad Yehezkel #define MLX5_USER_IOCTL_CMDS_H 35c6475a0bSAviad Yehezkel 36fd44e385SYishai Hadas #include <linux/types.h> 37c6475a0bSAviad Yehezkel #include <rdma/ib_user_ioctl_cmds.h> 38c6475a0bSAviad Yehezkel 39c6475a0bSAviad Yehezkel enum mlx5_ib_create_flow_action_attrs { 40c6475a0bSAviad Yehezkel /* This attribute belong to the driver namespace */ 41c6475a0bSAviad Yehezkel MLX5_IB_ATTR_CREATE_FLOW_ACTION_FLAGS = (1U << UVERBS_ID_NS_SHIFT), 42c6475a0bSAviad Yehezkel }; 43c6475a0bSAviad Yehezkel 4424da0016SAriel Levkovich enum mlx5_ib_alloc_dm_attrs { 4524da0016SAriel Levkovich MLX5_IB_ATTR_ALLOC_DM_RESP_START_OFFSET = (1U << UVERBS_ID_NS_SHIFT), 4624da0016SAriel Levkovich MLX5_IB_ATTR_ALLOC_DM_RESP_PAGE_INDEX, 473b113a1eSAriel Levkovich MLX5_IB_ATTR_ALLOC_DM_REQ_TYPE, 4824da0016SAriel Levkovich }; 49c6475a0bSAviad Yehezkel 508aa8c95cSYishai Hadas enum mlx5_ib_devx_methods { 518aa8c95cSYishai Hadas MLX5_IB_METHOD_DEVX_OTHER = (1U << UVERBS_ID_NS_SHIFT), 527c043e90SYishai Hadas MLX5_IB_METHOD_DEVX_QUERY_UAR, 53f6fe01b7SYishai Hadas MLX5_IB_METHOD_DEVX_QUERY_EQN, 5475973853SYishai Hadas MLX5_IB_METHOD_DEVX_SUBSCRIBE_EVENT, 558aa8c95cSYishai Hadas }; 568aa8c95cSYishai Hadas 578aa8c95cSYishai Hadas enum mlx5_ib_devx_other_attrs { 588aa8c95cSYishai Hadas MLX5_IB_ATTR_DEVX_OTHER_CMD_IN = (1U << UVERBS_ID_NS_SHIFT), 598aa8c95cSYishai Hadas MLX5_IB_ATTR_DEVX_OTHER_CMD_OUT, 608aa8c95cSYishai Hadas }; 618aa8c95cSYishai Hadas 627efce369SYishai Hadas enum mlx5_ib_devx_obj_create_attrs { 637efce369SYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_CREATE_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 647efce369SYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_CREATE_CMD_IN, 657efce369SYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_CREATE_CMD_OUT, 667efce369SYishai Hadas }; 677efce369SYishai Hadas 687c043e90SYishai Hadas enum mlx5_ib_devx_query_uar_attrs { 697c043e90SYishai Hadas MLX5_IB_ATTR_DEVX_QUERY_UAR_USER_IDX = (1U << UVERBS_ID_NS_SHIFT), 707c043e90SYishai Hadas MLX5_IB_ATTR_DEVX_QUERY_UAR_DEV_IDX, 717c043e90SYishai Hadas }; 727c043e90SYishai Hadas 737efce369SYishai Hadas enum mlx5_ib_devx_obj_destroy_attrs { 747efce369SYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 757efce369SYishai Hadas }; 767efce369SYishai Hadas 77e662e14dSYishai Hadas enum mlx5_ib_devx_obj_modify_attrs { 78e662e14dSYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_MODIFY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 79e662e14dSYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_MODIFY_CMD_IN, 80e662e14dSYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_MODIFY_CMD_OUT, 81e662e14dSYishai Hadas }; 82e662e14dSYishai Hadas 83e662e14dSYishai Hadas enum mlx5_ib_devx_obj_query_attrs { 84e662e14dSYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_QUERY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 85e662e14dSYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_IN, 86e662e14dSYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_OUT, 87e662e14dSYishai Hadas }; 88e662e14dSYishai Hadas 89a124edbaSYishai Hadas enum mlx5_ib_devx_obj_query_async_attrs { 90a124edbaSYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 91a124edbaSYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_CMD_IN, 92a124edbaSYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_FD, 93a124edbaSYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_WR_ID, 94a124edbaSYishai Hadas MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_OUT_LEN, 95a124edbaSYishai Hadas }; 96a124edbaSYishai Hadas 9775973853SYishai Hadas enum mlx5_ib_devx_subscribe_event_attrs { 9875973853SYishai Hadas MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_FD_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 9975973853SYishai Hadas MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_OBJ_HANDLE, 10075973853SYishai Hadas MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_TYPE_NUM_LIST, 10175973853SYishai Hadas MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_FD_NUM, 10275973853SYishai Hadas MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_COOKIE, 10375973853SYishai Hadas }; 10475973853SYishai Hadas 105f6fe01b7SYishai Hadas enum mlx5_ib_devx_query_eqn_attrs { 106f6fe01b7SYishai Hadas MLX5_IB_ATTR_DEVX_QUERY_EQN_USER_VEC = (1U << UVERBS_ID_NS_SHIFT), 107f6fe01b7SYishai Hadas MLX5_IB_ATTR_DEVX_QUERY_EQN_DEV_EQN, 108f6fe01b7SYishai Hadas }; 109f6fe01b7SYishai Hadas 1107efce369SYishai Hadas enum mlx5_ib_devx_obj_methods { 1117efce369SYishai Hadas MLX5_IB_METHOD_DEVX_OBJ_CREATE = (1U << UVERBS_ID_NS_SHIFT), 1127efce369SYishai Hadas MLX5_IB_METHOD_DEVX_OBJ_DESTROY, 113e662e14dSYishai Hadas MLX5_IB_METHOD_DEVX_OBJ_MODIFY, 114e662e14dSYishai Hadas MLX5_IB_METHOD_DEVX_OBJ_QUERY, 115a124edbaSYishai Hadas MLX5_IB_METHOD_DEVX_OBJ_ASYNC_QUERY, 1167efce369SYishai Hadas }; 1177efce369SYishai Hadas 1187be76befSYishai Hadas enum mlx5_ib_var_alloc_attrs { 1197be76befSYishai Hadas MLX5_IB_ATTR_VAR_OBJ_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 1207be76befSYishai Hadas MLX5_IB_ATTR_VAR_OBJ_ALLOC_MMAP_OFFSET, 1217be76befSYishai Hadas MLX5_IB_ATTR_VAR_OBJ_ALLOC_MMAP_LENGTH, 1227be76befSYishai Hadas MLX5_IB_ATTR_VAR_OBJ_ALLOC_PAGE_ID, 1237be76befSYishai Hadas }; 1247be76befSYishai Hadas 1257be76befSYishai Hadas enum mlx5_ib_var_obj_destroy_attrs { 1267be76befSYishai Hadas MLX5_IB_ATTR_VAR_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 1277be76befSYishai Hadas }; 1287be76befSYishai Hadas 1297be76befSYishai Hadas enum mlx5_ib_var_obj_methods { 1307be76befSYishai Hadas MLX5_IB_METHOD_VAR_OBJ_ALLOC = (1U << UVERBS_ID_NS_SHIFT), 1317be76befSYishai Hadas MLX5_IB_METHOD_VAR_OBJ_DESTROY, 1327be76befSYishai Hadas }; 1337be76befSYishai Hadas 134342ee59dSYishai Hadas enum mlx5_ib_uar_alloc_attrs { 135342ee59dSYishai Hadas MLX5_IB_ATTR_UAR_OBJ_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 136342ee59dSYishai Hadas MLX5_IB_ATTR_UAR_OBJ_ALLOC_TYPE, 137342ee59dSYishai Hadas MLX5_IB_ATTR_UAR_OBJ_ALLOC_MMAP_OFFSET, 138342ee59dSYishai Hadas MLX5_IB_ATTR_UAR_OBJ_ALLOC_MMAP_LENGTH, 139342ee59dSYishai Hadas MLX5_IB_ATTR_UAR_OBJ_ALLOC_PAGE_ID, 140342ee59dSYishai Hadas }; 141342ee59dSYishai Hadas 142342ee59dSYishai Hadas enum mlx5_ib_uar_obj_destroy_attrs { 143342ee59dSYishai Hadas MLX5_IB_ATTR_UAR_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 144342ee59dSYishai Hadas }; 145342ee59dSYishai Hadas 146342ee59dSYishai Hadas enum mlx5_ib_uar_obj_methods { 147342ee59dSYishai Hadas MLX5_IB_METHOD_UAR_OBJ_ALLOC = (1U << UVERBS_ID_NS_SHIFT), 148342ee59dSYishai Hadas MLX5_IB_METHOD_UAR_OBJ_DESTROY, 149342ee59dSYishai Hadas }; 150342ee59dSYishai Hadas 151aeae9457SYishai Hadas enum mlx5_ib_devx_umem_reg_attrs { 152aeae9457SYishai Hadas MLX5_IB_ATTR_DEVX_UMEM_REG_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 153aeae9457SYishai Hadas MLX5_IB_ATTR_DEVX_UMEM_REG_ADDR, 154aeae9457SYishai Hadas MLX5_IB_ATTR_DEVX_UMEM_REG_LEN, 155aeae9457SYishai Hadas MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS, 156aeae9457SYishai Hadas MLX5_IB_ATTR_DEVX_UMEM_REG_OUT_ID, 157aeae9457SYishai Hadas }; 158aeae9457SYishai Hadas 159aeae9457SYishai Hadas enum mlx5_ib_devx_umem_dereg_attrs { 160aeae9457SYishai Hadas MLX5_IB_ATTR_DEVX_UMEM_DEREG_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 161aeae9457SYishai Hadas }; 162aeae9457SYishai Hadas 16330f2fe40SYishai Hadas enum mlx5_ib_pp_obj_methods { 16430f2fe40SYishai Hadas MLX5_IB_METHOD_PP_OBJ_ALLOC = (1U << UVERBS_ID_NS_SHIFT), 16530f2fe40SYishai Hadas MLX5_IB_METHOD_PP_OBJ_DESTROY, 16630f2fe40SYishai Hadas }; 16730f2fe40SYishai Hadas 16830f2fe40SYishai Hadas enum mlx5_ib_pp_alloc_attrs { 16930f2fe40SYishai Hadas MLX5_IB_ATTR_PP_OBJ_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 17030f2fe40SYishai Hadas MLX5_IB_ATTR_PP_OBJ_ALLOC_CTX, 17130f2fe40SYishai Hadas MLX5_IB_ATTR_PP_OBJ_ALLOC_FLAGS, 17230f2fe40SYishai Hadas MLX5_IB_ATTR_PP_OBJ_ALLOC_INDEX, 17330f2fe40SYishai Hadas }; 17430f2fe40SYishai Hadas 17530f2fe40SYishai Hadas enum mlx5_ib_pp_obj_destroy_attrs { 17630f2fe40SYishai Hadas MLX5_IB_ATTR_PP_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 17730f2fe40SYishai Hadas }; 17830f2fe40SYishai Hadas 179aeae9457SYishai Hadas enum mlx5_ib_devx_umem_methods { 180aeae9457SYishai Hadas MLX5_IB_METHOD_DEVX_UMEM_REG = (1U << UVERBS_ID_NS_SHIFT), 181aeae9457SYishai Hadas MLX5_IB_METHOD_DEVX_UMEM_DEREG, 182aeae9457SYishai Hadas }; 183aeae9457SYishai Hadas 1846bf8f22aSYishai Hadas enum mlx5_ib_devx_async_cmd_fd_alloc_attrs { 1856bf8f22aSYishai Hadas MLX5_IB_ATTR_DEVX_ASYNC_CMD_FD_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 1866bf8f22aSYishai Hadas }; 1876bf8f22aSYishai Hadas 1882afc5e1bSYishai Hadas enum mlx5_ib_devx_async_event_fd_alloc_attrs { 1892afc5e1bSYishai Hadas MLX5_IB_ATTR_DEVX_ASYNC_EVENT_FD_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 1902afc5e1bSYishai Hadas MLX5_IB_ATTR_DEVX_ASYNC_EVENT_FD_ALLOC_FLAGS, 1912afc5e1bSYishai Hadas }; 1922afc5e1bSYishai Hadas 1936bf8f22aSYishai Hadas enum mlx5_ib_devx_async_cmd_fd_methods { 1946bf8f22aSYishai Hadas MLX5_IB_METHOD_DEVX_ASYNC_CMD_FD_ALLOC = (1U << UVERBS_ID_NS_SHIFT), 1956bf8f22aSYishai Hadas }; 1966bf8f22aSYishai Hadas 1972afc5e1bSYishai Hadas enum mlx5_ib_devx_async_event_fd_methods { 1982afc5e1bSYishai Hadas MLX5_IB_METHOD_DEVX_ASYNC_EVENT_FD_ALLOC = (1U << UVERBS_ID_NS_SHIFT), 1992afc5e1bSYishai Hadas }; 2002afc5e1bSYishai Hadas 201fd44e385SYishai Hadas enum mlx5_ib_objects { 2028aa8c95cSYishai Hadas MLX5_IB_OBJECT_DEVX = (1U << UVERBS_ID_NS_SHIFT), 2037efce369SYishai Hadas MLX5_IB_OBJECT_DEVX_OBJ, 204aeae9457SYishai Hadas MLX5_IB_OBJECT_DEVX_UMEM, 205fd44e385SYishai Hadas MLX5_IB_OBJECT_FLOW_MATCHER, 2066bf8f22aSYishai Hadas MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD, 2072afc5e1bSYishai Hadas MLX5_IB_OBJECT_DEVX_ASYNC_EVENT_FD, 2087be76befSYishai Hadas MLX5_IB_OBJECT_VAR, 20930f2fe40SYishai Hadas MLX5_IB_OBJECT_PP, 210342ee59dSYishai Hadas MLX5_IB_OBJECT_UAR, 211fd44e385SYishai Hadas }; 212fd44e385SYishai Hadas 213fd44e385SYishai Hadas enum mlx5_ib_flow_matcher_create_attrs { 214fd44e385SYishai Hadas MLX5_IB_ATTR_FLOW_MATCHER_CREATE_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 215fd44e385SYishai Hadas MLX5_IB_ATTR_FLOW_MATCHER_MATCH_MASK, 216fd44e385SYishai Hadas MLX5_IB_ATTR_FLOW_MATCHER_FLOW_TYPE, 217fd44e385SYishai Hadas MLX5_IB_ATTR_FLOW_MATCHER_MATCH_CRITERIA, 218a7ee18bdSMark Bloch MLX5_IB_ATTR_FLOW_MATCHER_FLOW_FLAGS, 21952438be4SMark Bloch MLX5_IB_ATTR_FLOW_MATCHER_FT_TYPE, 220fd44e385SYishai Hadas }; 221fd44e385SYishai Hadas 222fd44e385SYishai Hadas enum mlx5_ib_flow_matcher_destroy_attrs { 223fd44e385SYishai Hadas MLX5_IB_ATTR_FLOW_MATCHER_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 224fd44e385SYishai Hadas }; 225fd44e385SYishai Hadas 226fd44e385SYishai Hadas enum mlx5_ib_flow_matcher_methods { 227fd44e385SYishai Hadas MLX5_IB_METHOD_FLOW_MATCHER_CREATE = (1U << UVERBS_ID_NS_SHIFT), 228fd44e385SYishai Hadas MLX5_IB_METHOD_FLOW_MATCHER_DESTROY, 229fd44e385SYishai Hadas }; 230fd44e385SYishai Hadas 2310fb556b2SYishai Hadas enum mlx5_ib_device_query_context_attrs { 2320fb556b2SYishai Hadas MLX5_IB_ATTR_QUERY_CONTEXT_RESP_UCTX = (1U << UVERBS_ID_NS_SHIFT), 2330fb556b2SYishai Hadas }; 2340fb556b2SYishai Hadas 235fd44e385SYishai Hadas #define MLX5_IB_DW_MATCH_PARAM 0x80 236fd44e385SYishai Hadas 237fd44e385SYishai Hadas struct mlx5_ib_match_params { 238fd44e385SYishai Hadas __u32 match_params[MLX5_IB_DW_MATCH_PARAM]; 239fd44e385SYishai Hadas }; 240fd44e385SYishai Hadas 241fd44e385SYishai Hadas enum mlx5_ib_flow_type { 242fd44e385SYishai Hadas MLX5_IB_FLOW_TYPE_NORMAL, 243fd44e385SYishai Hadas MLX5_IB_FLOW_TYPE_SNIFFER, 244fd44e385SYishai Hadas MLX5_IB_FLOW_TYPE_ALL_DEFAULT, 245fd44e385SYishai Hadas MLX5_IB_FLOW_TYPE_MC_DEFAULT, 2468aa8c95cSYishai Hadas }; 2478aa8c95cSYishai Hadas 2488c112a5fSMaor Gottlieb enum mlx5_ib_create_flow_flags { 2498c112a5fSMaor Gottlieb MLX5_IB_ATTR_CREATE_FLOW_FLAGS_DEFAULT_MISS = 1 << 0, 250f29de9eeSDaria Velikovsky MLX5_IB_ATTR_CREATE_FLOW_FLAGS_DROP = 1 << 1, 2518c112a5fSMaor Gottlieb }; 2528c112a5fSMaor Gottlieb 25332269441SYishai Hadas enum mlx5_ib_create_flow_attrs { 25432269441SYishai Hadas MLX5_IB_ATTR_CREATE_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 25532269441SYishai Hadas MLX5_IB_ATTR_CREATE_FLOW_MATCH_VALUE, 25632269441SYishai Hadas MLX5_IB_ATTR_CREATE_FLOW_DEST_QP, 25732269441SYishai Hadas MLX5_IB_ATTR_CREATE_FLOW_DEST_DEVX, 25832269441SYishai Hadas MLX5_IB_ATTR_CREATE_FLOW_MATCHER, 259fa76d24eSMark Bloch MLX5_IB_ATTR_CREATE_FLOW_ARR_FLOW_ACTIONS, 260ba4a4119SMark Bloch MLX5_IB_ATTR_CREATE_FLOW_TAG, 261bfc5d839SMark Bloch MLX5_IB_ATTR_CREATE_FLOW_ARR_COUNTERS_DEVX, 262208d70f5SYevgeny Kliteynik MLX5_IB_ATTR_CREATE_FLOW_ARR_COUNTERS_DEVX_OFFSET, 2638c112a5fSMaor Gottlieb MLX5_IB_ATTR_CREATE_FLOW_FLAGS, 26432269441SYishai Hadas }; 26532269441SYishai Hadas 266*8b603d07SPavel Machek enum mlx5_ib_destroy_flow_attrs { 26732269441SYishai Hadas MLX5_IB_ATTR_DESTROY_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 26832269441SYishai Hadas }; 26932269441SYishai Hadas 27032269441SYishai Hadas enum mlx5_ib_flow_methods { 27132269441SYishai Hadas MLX5_IB_METHOD_CREATE_FLOW = (1U << UVERBS_ID_NS_SHIFT), 27232269441SYishai Hadas MLX5_IB_METHOD_DESTROY_FLOW, 27332269441SYishai Hadas }; 27432269441SYishai Hadas 275b4749bf2SMark Bloch enum mlx5_ib_flow_action_methods { 276b4749bf2SMark Bloch MLX5_IB_METHOD_FLOW_ACTION_CREATE_MODIFY_HEADER = (1U << UVERBS_ID_NS_SHIFT), 27708aeb97cSMark Bloch MLX5_IB_METHOD_FLOW_ACTION_CREATE_PACKET_REFORMAT, 278b4749bf2SMark Bloch }; 279b4749bf2SMark Bloch 280b4749bf2SMark Bloch enum mlx5_ib_create_flow_action_create_modify_header_attrs { 281b4749bf2SMark Bloch MLX5_IB_ATTR_CREATE_MODIFY_HEADER_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 282b4749bf2SMark Bloch MLX5_IB_ATTR_CREATE_MODIFY_HEADER_ACTIONS_PRM, 283b4749bf2SMark Bloch MLX5_IB_ATTR_CREATE_MODIFY_HEADER_FT_TYPE, 284b4749bf2SMark Bloch }; 285b4749bf2SMark Bloch 28608aeb97cSMark Bloch enum mlx5_ib_create_flow_action_create_packet_reformat_attrs { 28708aeb97cSMark Bloch MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 28808aeb97cSMark Bloch MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_TYPE, 28908aeb97cSMark Bloch MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_FT_TYPE, 290a090d0d8SMark Bloch MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_DATA_BUF, 29108aeb97cSMark Bloch }; 29208aeb97cSMark Bloch 29305f71ef9SYishai Hadas enum mlx5_ib_query_pd_attrs { 29405f71ef9SYishai Hadas MLX5_IB_ATTR_QUERY_PD_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 29505f71ef9SYishai Hadas MLX5_IB_ATTR_QUERY_PD_RESP_PDN, 29605f71ef9SYishai Hadas }; 29705f71ef9SYishai Hadas 29805f71ef9SYishai Hadas enum mlx5_ib_pd_methods { 29905f71ef9SYishai Hadas MLX5_IB_METHOD_PD_QUERY = (1U << UVERBS_ID_NS_SHIFT), 30005f71ef9SYishai Hadas 30105f71ef9SYishai Hadas }; 30205f71ef9SYishai Hadas 30324da0016SAriel Levkovich #endif 304