162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * Copyright (c) 2018, Mellanox Technologies inc. All rights reserved. 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * This software is available to you under a choice of one of two 562306a36Sopenharmony_ci * licenses. You may choose to be licensed under the terms of the GNU 662306a36Sopenharmony_ci * General Public License (GPL) Version 2, available from the file 762306a36Sopenharmony_ci * COPYING in the main directory of this source tree, or the 862306a36Sopenharmony_ci * OpenIB.org BSD license below: 962306a36Sopenharmony_ci * 1062306a36Sopenharmony_ci * Redistribution and use in source and binary forms, with or 1162306a36Sopenharmony_ci * without modification, are permitted provided that the following 1262306a36Sopenharmony_ci * conditions are met: 1362306a36Sopenharmony_ci * 1462306a36Sopenharmony_ci * - Redistributions of source code must retain the above 1562306a36Sopenharmony_ci * copyright notice, this list of conditions and the following 1662306a36Sopenharmony_ci * disclaimer. 1762306a36Sopenharmony_ci * 1862306a36Sopenharmony_ci * - Redistributions in binary form must reproduce the above 1962306a36Sopenharmony_ci * copyright notice, this list of conditions and the following 2062306a36Sopenharmony_ci * disclaimer in the documentation and/or other materials 2162306a36Sopenharmony_ci * provided with the distribution. 2262306a36Sopenharmony_ci * 2362306a36Sopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 2462306a36Sopenharmony_ci * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 2562306a36Sopenharmony_ci * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 2662306a36Sopenharmony_ci * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 2762306a36Sopenharmony_ci * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 2862306a36Sopenharmony_ci * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 2962306a36Sopenharmony_ci * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 3062306a36Sopenharmony_ci * SOFTWARE. 3162306a36Sopenharmony_ci */ 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci#ifndef MLX5_USER_IOCTL_CMDS_H 3462306a36Sopenharmony_ci#define MLX5_USER_IOCTL_CMDS_H 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci#include <linux/types.h> 3762306a36Sopenharmony_ci#include <rdma/ib_user_ioctl_cmds.h> 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_cienum mlx5_ib_create_flow_action_attrs { 4062306a36Sopenharmony_ci /* This attribute belong to the driver namespace */ 4162306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_FLOW_ACTION_FLAGS = (1U << UVERBS_ID_NS_SHIFT), 4262306a36Sopenharmony_ci}; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_cienum mlx5_ib_dm_methods { 4562306a36Sopenharmony_ci MLX5_IB_METHOD_DM_MAP_OP_ADDR = (1U << UVERBS_ID_NS_SHIFT), 4662306a36Sopenharmony_ci MLX5_IB_METHOD_DM_QUERY, 4762306a36Sopenharmony_ci}; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_cienum mlx5_ib_dm_map_op_addr_attrs { 5062306a36Sopenharmony_ci MLX5_IB_ATTR_DM_MAP_OP_ADDR_REQ_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 5162306a36Sopenharmony_ci MLX5_IB_ATTR_DM_MAP_OP_ADDR_REQ_OP, 5262306a36Sopenharmony_ci MLX5_IB_ATTR_DM_MAP_OP_ADDR_RESP_START_OFFSET, 5362306a36Sopenharmony_ci MLX5_IB_ATTR_DM_MAP_OP_ADDR_RESP_PAGE_INDEX, 5462306a36Sopenharmony_ci}; 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_cienum mlx5_ib_query_dm_attrs { 5762306a36Sopenharmony_ci MLX5_IB_ATTR_QUERY_DM_REQ_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 5862306a36Sopenharmony_ci MLX5_IB_ATTR_QUERY_DM_RESP_START_OFFSET, 5962306a36Sopenharmony_ci MLX5_IB_ATTR_QUERY_DM_RESP_PAGE_INDEX, 6062306a36Sopenharmony_ci MLX5_IB_ATTR_QUERY_DM_RESP_LENGTH, 6162306a36Sopenharmony_ci}; 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_cienum mlx5_ib_alloc_dm_attrs { 6462306a36Sopenharmony_ci MLX5_IB_ATTR_ALLOC_DM_RESP_START_OFFSET = (1U << UVERBS_ID_NS_SHIFT), 6562306a36Sopenharmony_ci MLX5_IB_ATTR_ALLOC_DM_RESP_PAGE_INDEX, 6662306a36Sopenharmony_ci MLX5_IB_ATTR_ALLOC_DM_REQ_TYPE, 6762306a36Sopenharmony_ci}; 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_cienum mlx5_ib_devx_methods { 7062306a36Sopenharmony_ci MLX5_IB_METHOD_DEVX_OTHER = (1U << UVERBS_ID_NS_SHIFT), 7162306a36Sopenharmony_ci MLX5_IB_METHOD_DEVX_QUERY_UAR, 7262306a36Sopenharmony_ci MLX5_IB_METHOD_DEVX_QUERY_EQN, 7362306a36Sopenharmony_ci MLX5_IB_METHOD_DEVX_SUBSCRIBE_EVENT, 7462306a36Sopenharmony_ci}; 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_cienum mlx5_ib_devx_other_attrs { 7762306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OTHER_CMD_IN = (1U << UVERBS_ID_NS_SHIFT), 7862306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OTHER_CMD_OUT, 7962306a36Sopenharmony_ci}; 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_cienum mlx5_ib_devx_obj_create_attrs { 8262306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_CREATE_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 8362306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_CREATE_CMD_IN, 8462306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_CREATE_CMD_OUT, 8562306a36Sopenharmony_ci}; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_cienum mlx5_ib_devx_query_uar_attrs { 8862306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_QUERY_UAR_USER_IDX = (1U << UVERBS_ID_NS_SHIFT), 8962306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_QUERY_UAR_DEV_IDX, 9062306a36Sopenharmony_ci}; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_cienum mlx5_ib_devx_obj_destroy_attrs { 9362306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 9462306a36Sopenharmony_ci}; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_cienum mlx5_ib_devx_obj_modify_attrs { 9762306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_MODIFY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 9862306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_MODIFY_CMD_IN, 9962306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_MODIFY_CMD_OUT, 10062306a36Sopenharmony_ci}; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_cienum mlx5_ib_devx_obj_query_attrs { 10362306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_QUERY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 10462306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_IN, 10562306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_OUT, 10662306a36Sopenharmony_ci}; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_cienum mlx5_ib_devx_obj_query_async_attrs { 10962306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 11062306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_CMD_IN, 11162306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_FD, 11262306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_WR_ID, 11362306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_OBJ_QUERY_ASYNC_OUT_LEN, 11462306a36Sopenharmony_ci}; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_cienum mlx5_ib_devx_subscribe_event_attrs { 11762306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_FD_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 11862306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_OBJ_HANDLE, 11962306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_TYPE_NUM_LIST, 12062306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_FD_NUM, 12162306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_SUBSCRIBE_EVENT_COOKIE, 12262306a36Sopenharmony_ci}; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_cienum mlx5_ib_devx_query_eqn_attrs { 12562306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_QUERY_EQN_USER_VEC = (1U << UVERBS_ID_NS_SHIFT), 12662306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_QUERY_EQN_DEV_EQN, 12762306a36Sopenharmony_ci}; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_cienum mlx5_ib_devx_obj_methods { 13062306a36Sopenharmony_ci MLX5_IB_METHOD_DEVX_OBJ_CREATE = (1U << UVERBS_ID_NS_SHIFT), 13162306a36Sopenharmony_ci MLX5_IB_METHOD_DEVX_OBJ_DESTROY, 13262306a36Sopenharmony_ci MLX5_IB_METHOD_DEVX_OBJ_MODIFY, 13362306a36Sopenharmony_ci MLX5_IB_METHOD_DEVX_OBJ_QUERY, 13462306a36Sopenharmony_ci MLX5_IB_METHOD_DEVX_OBJ_ASYNC_QUERY, 13562306a36Sopenharmony_ci}; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_cienum mlx5_ib_var_alloc_attrs { 13862306a36Sopenharmony_ci MLX5_IB_ATTR_VAR_OBJ_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 13962306a36Sopenharmony_ci MLX5_IB_ATTR_VAR_OBJ_ALLOC_MMAP_OFFSET, 14062306a36Sopenharmony_ci MLX5_IB_ATTR_VAR_OBJ_ALLOC_MMAP_LENGTH, 14162306a36Sopenharmony_ci MLX5_IB_ATTR_VAR_OBJ_ALLOC_PAGE_ID, 14262306a36Sopenharmony_ci}; 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_cienum mlx5_ib_var_obj_destroy_attrs { 14562306a36Sopenharmony_ci MLX5_IB_ATTR_VAR_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 14662306a36Sopenharmony_ci}; 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_cienum mlx5_ib_var_obj_methods { 14962306a36Sopenharmony_ci MLX5_IB_METHOD_VAR_OBJ_ALLOC = (1U << UVERBS_ID_NS_SHIFT), 15062306a36Sopenharmony_ci MLX5_IB_METHOD_VAR_OBJ_DESTROY, 15162306a36Sopenharmony_ci}; 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_cienum mlx5_ib_uar_alloc_attrs { 15462306a36Sopenharmony_ci MLX5_IB_ATTR_UAR_OBJ_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 15562306a36Sopenharmony_ci MLX5_IB_ATTR_UAR_OBJ_ALLOC_TYPE, 15662306a36Sopenharmony_ci MLX5_IB_ATTR_UAR_OBJ_ALLOC_MMAP_OFFSET, 15762306a36Sopenharmony_ci MLX5_IB_ATTR_UAR_OBJ_ALLOC_MMAP_LENGTH, 15862306a36Sopenharmony_ci MLX5_IB_ATTR_UAR_OBJ_ALLOC_PAGE_ID, 15962306a36Sopenharmony_ci}; 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_cienum mlx5_ib_uar_obj_destroy_attrs { 16262306a36Sopenharmony_ci MLX5_IB_ATTR_UAR_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 16362306a36Sopenharmony_ci}; 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_cienum mlx5_ib_uar_obj_methods { 16662306a36Sopenharmony_ci MLX5_IB_METHOD_UAR_OBJ_ALLOC = (1U << UVERBS_ID_NS_SHIFT), 16762306a36Sopenharmony_ci MLX5_IB_METHOD_UAR_OBJ_DESTROY, 16862306a36Sopenharmony_ci}; 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_cienum mlx5_ib_devx_umem_reg_attrs { 17162306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_UMEM_REG_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 17262306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_UMEM_REG_ADDR, 17362306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_UMEM_REG_LEN, 17462306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS, 17562306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_UMEM_REG_OUT_ID, 17662306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_UMEM_REG_PGSZ_BITMAP, 17762306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_UMEM_REG_DMABUF_FD, 17862306a36Sopenharmony_ci}; 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_cienum mlx5_ib_devx_umem_dereg_attrs { 18162306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_UMEM_DEREG_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 18262306a36Sopenharmony_ci}; 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_cienum mlx5_ib_pp_obj_methods { 18562306a36Sopenharmony_ci MLX5_IB_METHOD_PP_OBJ_ALLOC = (1U << UVERBS_ID_NS_SHIFT), 18662306a36Sopenharmony_ci MLX5_IB_METHOD_PP_OBJ_DESTROY, 18762306a36Sopenharmony_ci}; 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_cienum mlx5_ib_pp_alloc_attrs { 19062306a36Sopenharmony_ci MLX5_IB_ATTR_PP_OBJ_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 19162306a36Sopenharmony_ci MLX5_IB_ATTR_PP_OBJ_ALLOC_CTX, 19262306a36Sopenharmony_ci MLX5_IB_ATTR_PP_OBJ_ALLOC_FLAGS, 19362306a36Sopenharmony_ci MLX5_IB_ATTR_PP_OBJ_ALLOC_INDEX, 19462306a36Sopenharmony_ci}; 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_cienum mlx5_ib_pp_obj_destroy_attrs { 19762306a36Sopenharmony_ci MLX5_IB_ATTR_PP_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 19862306a36Sopenharmony_ci}; 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_cienum mlx5_ib_devx_umem_methods { 20162306a36Sopenharmony_ci MLX5_IB_METHOD_DEVX_UMEM_REG = (1U << UVERBS_ID_NS_SHIFT), 20262306a36Sopenharmony_ci MLX5_IB_METHOD_DEVX_UMEM_DEREG, 20362306a36Sopenharmony_ci}; 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_cienum mlx5_ib_devx_async_cmd_fd_alloc_attrs { 20662306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_ASYNC_CMD_FD_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 20762306a36Sopenharmony_ci}; 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_cienum mlx5_ib_devx_async_event_fd_alloc_attrs { 21062306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_ASYNC_EVENT_FD_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 21162306a36Sopenharmony_ci MLX5_IB_ATTR_DEVX_ASYNC_EVENT_FD_ALLOC_FLAGS, 21262306a36Sopenharmony_ci}; 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_cienum mlx5_ib_devx_async_cmd_fd_methods { 21562306a36Sopenharmony_ci MLX5_IB_METHOD_DEVX_ASYNC_CMD_FD_ALLOC = (1U << UVERBS_ID_NS_SHIFT), 21662306a36Sopenharmony_ci}; 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_cienum mlx5_ib_devx_async_event_fd_methods { 21962306a36Sopenharmony_ci MLX5_IB_METHOD_DEVX_ASYNC_EVENT_FD_ALLOC = (1U << UVERBS_ID_NS_SHIFT), 22062306a36Sopenharmony_ci}; 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_cienum mlx5_ib_objects { 22362306a36Sopenharmony_ci MLX5_IB_OBJECT_DEVX = (1U << UVERBS_ID_NS_SHIFT), 22462306a36Sopenharmony_ci MLX5_IB_OBJECT_DEVX_OBJ, 22562306a36Sopenharmony_ci MLX5_IB_OBJECT_DEVX_UMEM, 22662306a36Sopenharmony_ci MLX5_IB_OBJECT_FLOW_MATCHER, 22762306a36Sopenharmony_ci MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD, 22862306a36Sopenharmony_ci MLX5_IB_OBJECT_DEVX_ASYNC_EVENT_FD, 22962306a36Sopenharmony_ci MLX5_IB_OBJECT_VAR, 23062306a36Sopenharmony_ci MLX5_IB_OBJECT_PP, 23162306a36Sopenharmony_ci MLX5_IB_OBJECT_UAR, 23262306a36Sopenharmony_ci MLX5_IB_OBJECT_STEERING_ANCHOR, 23362306a36Sopenharmony_ci}; 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_cienum mlx5_ib_flow_matcher_create_attrs { 23662306a36Sopenharmony_ci MLX5_IB_ATTR_FLOW_MATCHER_CREATE_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 23762306a36Sopenharmony_ci MLX5_IB_ATTR_FLOW_MATCHER_MATCH_MASK, 23862306a36Sopenharmony_ci MLX5_IB_ATTR_FLOW_MATCHER_FLOW_TYPE, 23962306a36Sopenharmony_ci MLX5_IB_ATTR_FLOW_MATCHER_MATCH_CRITERIA, 24062306a36Sopenharmony_ci MLX5_IB_ATTR_FLOW_MATCHER_FLOW_FLAGS, 24162306a36Sopenharmony_ci MLX5_IB_ATTR_FLOW_MATCHER_FT_TYPE, 24262306a36Sopenharmony_ci}; 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_cienum mlx5_ib_flow_matcher_destroy_attrs { 24562306a36Sopenharmony_ci MLX5_IB_ATTR_FLOW_MATCHER_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 24662306a36Sopenharmony_ci}; 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_cienum mlx5_ib_flow_matcher_methods { 24962306a36Sopenharmony_ci MLX5_IB_METHOD_FLOW_MATCHER_CREATE = (1U << UVERBS_ID_NS_SHIFT), 25062306a36Sopenharmony_ci MLX5_IB_METHOD_FLOW_MATCHER_DESTROY, 25162306a36Sopenharmony_ci}; 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_cienum mlx5_ib_flow_steering_anchor_create_attrs { 25462306a36Sopenharmony_ci MLX5_IB_ATTR_STEERING_ANCHOR_CREATE_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 25562306a36Sopenharmony_ci MLX5_IB_ATTR_STEERING_ANCHOR_FT_TYPE, 25662306a36Sopenharmony_ci MLX5_IB_ATTR_STEERING_ANCHOR_PRIORITY, 25762306a36Sopenharmony_ci MLX5_IB_ATTR_STEERING_ANCHOR_FT_ID, 25862306a36Sopenharmony_ci}; 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_cienum mlx5_ib_flow_steering_anchor_destroy_attrs { 26162306a36Sopenharmony_ci MLX5_IB_ATTR_STEERING_ANCHOR_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 26262306a36Sopenharmony_ci}; 26362306a36Sopenharmony_ci 26462306a36Sopenharmony_cienum mlx5_ib_steering_anchor_methods { 26562306a36Sopenharmony_ci MLX5_IB_METHOD_STEERING_ANCHOR_CREATE = (1U << UVERBS_ID_NS_SHIFT), 26662306a36Sopenharmony_ci MLX5_IB_METHOD_STEERING_ANCHOR_DESTROY, 26762306a36Sopenharmony_ci}; 26862306a36Sopenharmony_ci 26962306a36Sopenharmony_cienum mlx5_ib_device_query_context_attrs { 27062306a36Sopenharmony_ci MLX5_IB_ATTR_QUERY_CONTEXT_RESP_UCTX = (1U << UVERBS_ID_NS_SHIFT), 27162306a36Sopenharmony_ci}; 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ci#define MLX5_IB_DW_MATCH_PARAM 0xA0 27462306a36Sopenharmony_ci 27562306a36Sopenharmony_cistruct mlx5_ib_match_params { 27662306a36Sopenharmony_ci __u32 match_params[MLX5_IB_DW_MATCH_PARAM]; 27762306a36Sopenharmony_ci}; 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_cienum mlx5_ib_flow_type { 28062306a36Sopenharmony_ci MLX5_IB_FLOW_TYPE_NORMAL, 28162306a36Sopenharmony_ci MLX5_IB_FLOW_TYPE_SNIFFER, 28262306a36Sopenharmony_ci MLX5_IB_FLOW_TYPE_ALL_DEFAULT, 28362306a36Sopenharmony_ci MLX5_IB_FLOW_TYPE_MC_DEFAULT, 28462306a36Sopenharmony_ci}; 28562306a36Sopenharmony_ci 28662306a36Sopenharmony_cienum mlx5_ib_create_flow_flags { 28762306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_FLOW_FLAGS_DEFAULT_MISS = 1 << 0, 28862306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_FLOW_FLAGS_DROP = 1 << 1, 28962306a36Sopenharmony_ci}; 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_cienum mlx5_ib_create_flow_attrs { 29262306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 29362306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_FLOW_MATCH_VALUE, 29462306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_FLOW_DEST_QP, 29562306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_FLOW_DEST_DEVX, 29662306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_FLOW_MATCHER, 29762306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_FLOW_ARR_FLOW_ACTIONS, 29862306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_FLOW_TAG, 29962306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_FLOW_ARR_COUNTERS_DEVX, 30062306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_FLOW_ARR_COUNTERS_DEVX_OFFSET, 30162306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_FLOW_FLAGS, 30262306a36Sopenharmony_ci}; 30362306a36Sopenharmony_ci 30462306a36Sopenharmony_cienum mlx5_ib_destroy_flow_attrs { 30562306a36Sopenharmony_ci MLX5_IB_ATTR_DESTROY_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 30662306a36Sopenharmony_ci}; 30762306a36Sopenharmony_ci 30862306a36Sopenharmony_cienum mlx5_ib_flow_methods { 30962306a36Sopenharmony_ci MLX5_IB_METHOD_CREATE_FLOW = (1U << UVERBS_ID_NS_SHIFT), 31062306a36Sopenharmony_ci MLX5_IB_METHOD_DESTROY_FLOW, 31162306a36Sopenharmony_ci}; 31262306a36Sopenharmony_ci 31362306a36Sopenharmony_cienum mlx5_ib_flow_action_methods { 31462306a36Sopenharmony_ci MLX5_IB_METHOD_FLOW_ACTION_CREATE_MODIFY_HEADER = (1U << UVERBS_ID_NS_SHIFT), 31562306a36Sopenharmony_ci MLX5_IB_METHOD_FLOW_ACTION_CREATE_PACKET_REFORMAT, 31662306a36Sopenharmony_ci}; 31762306a36Sopenharmony_ci 31862306a36Sopenharmony_cienum mlx5_ib_create_flow_action_create_modify_header_attrs { 31962306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_MODIFY_HEADER_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 32062306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_MODIFY_HEADER_ACTIONS_PRM, 32162306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_MODIFY_HEADER_FT_TYPE, 32262306a36Sopenharmony_ci}; 32362306a36Sopenharmony_ci 32462306a36Sopenharmony_cienum mlx5_ib_create_flow_action_create_packet_reformat_attrs { 32562306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 32662306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_TYPE, 32762306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_FT_TYPE, 32862306a36Sopenharmony_ci MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_DATA_BUF, 32962306a36Sopenharmony_ci}; 33062306a36Sopenharmony_ci 33162306a36Sopenharmony_cienum mlx5_ib_query_pd_attrs { 33262306a36Sopenharmony_ci MLX5_IB_ATTR_QUERY_PD_HANDLE = (1U << UVERBS_ID_NS_SHIFT), 33362306a36Sopenharmony_ci MLX5_IB_ATTR_QUERY_PD_RESP_PDN, 33462306a36Sopenharmony_ci}; 33562306a36Sopenharmony_ci 33662306a36Sopenharmony_cienum mlx5_ib_pd_methods { 33762306a36Sopenharmony_ci MLX5_IB_METHOD_PD_QUERY = (1U << UVERBS_ID_NS_SHIFT), 33862306a36Sopenharmony_ci 33962306a36Sopenharmony_ci}; 34062306a36Sopenharmony_ci 34162306a36Sopenharmony_cienum mlx5_ib_device_methods { 34262306a36Sopenharmony_ci MLX5_IB_METHOD_QUERY_PORT = (1U << UVERBS_ID_NS_SHIFT), 34362306a36Sopenharmony_ci}; 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_cienum mlx5_ib_query_port_attrs { 34662306a36Sopenharmony_ci MLX5_IB_ATTR_QUERY_PORT_PORT_NUM = (1U << UVERBS_ID_NS_SHIFT), 34762306a36Sopenharmony_ci MLX5_IB_ATTR_QUERY_PORT, 34862306a36Sopenharmony_ci}; 34962306a36Sopenharmony_ci 35062306a36Sopenharmony_ci#endif 351