Home | History | Annotate | Download | only in rdma
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef MLX5_USER_IOCTL_CMDS_H
     20 #define MLX5_USER_IOCTL_CMDS_H
     21 #include <linux/types.h>
     22 #include <rdma/ib_user_ioctl_cmds.h>
     23 enum mlx5_ib_create_flow_action_attrs {
     24   MLX5_IB_ATTR_CREATE_FLOW_ACTION_FLAGS = (1U << UVERBS_ID_NS_SHIFT),
     25 };
     26 enum mlx5_ib_alloc_dm_attrs {
     27   MLX5_IB_ATTR_ALLOC_DM_RESP_START_OFFSET = (1U << UVERBS_ID_NS_SHIFT),
     28   MLX5_IB_ATTR_ALLOC_DM_RESP_PAGE_INDEX,
     29 };
     30 enum mlx5_ib_devx_methods {
     31   MLX5_IB_METHOD_DEVX_OTHER = (1U << UVERBS_ID_NS_SHIFT),
     32   MLX5_IB_METHOD_DEVX_QUERY_UAR,
     33   MLX5_IB_METHOD_DEVX_QUERY_EQN,
     34 };
     35 enum mlx5_ib_devx_other_attrs {
     36   MLX5_IB_ATTR_DEVX_OTHER_CMD_IN = (1U << UVERBS_ID_NS_SHIFT),
     37   MLX5_IB_ATTR_DEVX_OTHER_CMD_OUT,
     38 };
     39 enum mlx5_ib_devx_obj_create_attrs {
     40   MLX5_IB_ATTR_DEVX_OBJ_CREATE_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
     41   MLX5_IB_ATTR_DEVX_OBJ_CREATE_CMD_IN,
     42   MLX5_IB_ATTR_DEVX_OBJ_CREATE_CMD_OUT,
     43 };
     44 enum mlx5_ib_devx_query_uar_attrs {
     45   MLX5_IB_ATTR_DEVX_QUERY_UAR_USER_IDX = (1U << UVERBS_ID_NS_SHIFT),
     46   MLX5_IB_ATTR_DEVX_QUERY_UAR_DEV_IDX,
     47 };
     48 enum mlx5_ib_devx_obj_destroy_attrs {
     49   MLX5_IB_ATTR_DEVX_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
     50 };
     51 enum mlx5_ib_devx_obj_modify_attrs {
     52   MLX5_IB_ATTR_DEVX_OBJ_MODIFY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
     53   MLX5_IB_ATTR_DEVX_OBJ_MODIFY_CMD_IN,
     54   MLX5_IB_ATTR_DEVX_OBJ_MODIFY_CMD_OUT,
     55 };
     56 enum mlx5_ib_devx_obj_query_attrs {
     57   MLX5_IB_ATTR_DEVX_OBJ_QUERY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
     58   MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_IN,
     59   MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_OUT,
     60 };
     61 enum mlx5_ib_devx_query_eqn_attrs {
     62   MLX5_IB_ATTR_DEVX_QUERY_EQN_USER_VEC = (1U << UVERBS_ID_NS_SHIFT),
     63   MLX5_IB_ATTR_DEVX_QUERY_EQN_DEV_EQN,
     64 };
     65 enum mlx5_ib_devx_obj_methods {
     66   MLX5_IB_METHOD_DEVX_OBJ_CREATE = (1U << UVERBS_ID_NS_SHIFT),
     67   MLX5_IB_METHOD_DEVX_OBJ_DESTROY,
     68   MLX5_IB_METHOD_DEVX_OBJ_MODIFY,
     69   MLX5_IB_METHOD_DEVX_OBJ_QUERY,
     70 };
     71 enum mlx5_ib_devx_umem_reg_attrs {
     72   MLX5_IB_ATTR_DEVX_UMEM_REG_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
     73   MLX5_IB_ATTR_DEVX_UMEM_REG_ADDR,
     74   MLX5_IB_ATTR_DEVX_UMEM_REG_LEN,
     75   MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS,
     76   MLX5_IB_ATTR_DEVX_UMEM_REG_OUT_ID,
     77 };
     78 enum mlx5_ib_devx_umem_dereg_attrs {
     79   MLX5_IB_ATTR_DEVX_UMEM_DEREG_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
     80 };
     81 enum mlx5_ib_devx_umem_methods {
     82   MLX5_IB_METHOD_DEVX_UMEM_REG = (1U << UVERBS_ID_NS_SHIFT),
     83   MLX5_IB_METHOD_DEVX_UMEM_DEREG,
     84 };
     85 enum mlx5_ib_objects {
     86   MLX5_IB_OBJECT_DEVX = (1U << UVERBS_ID_NS_SHIFT),
     87   MLX5_IB_OBJECT_DEVX_OBJ,
     88   MLX5_IB_OBJECT_DEVX_UMEM,
     89   MLX5_IB_OBJECT_FLOW_MATCHER,
     90 };
     91 enum mlx5_ib_flow_matcher_create_attrs {
     92   MLX5_IB_ATTR_FLOW_MATCHER_CREATE_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
     93   MLX5_IB_ATTR_FLOW_MATCHER_MATCH_MASK,
     94   MLX5_IB_ATTR_FLOW_MATCHER_FLOW_TYPE,
     95   MLX5_IB_ATTR_FLOW_MATCHER_MATCH_CRITERIA,
     96   MLX5_IB_ATTR_FLOW_MATCHER_FLOW_FLAGS,
     97 };
     98 enum mlx5_ib_flow_matcher_destroy_attrs {
     99   MLX5_IB_ATTR_FLOW_MATCHER_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
    100 };
    101 enum mlx5_ib_flow_matcher_methods {
    102   MLX5_IB_METHOD_FLOW_MATCHER_CREATE = (1U << UVERBS_ID_NS_SHIFT),
    103   MLX5_IB_METHOD_FLOW_MATCHER_DESTROY,
    104 };
    105 #define MLX5_IB_DW_MATCH_PARAM 0x80
    106 struct mlx5_ib_match_params {
    107   __u32 match_params[MLX5_IB_DW_MATCH_PARAM];
    108 };
    109 enum mlx5_ib_flow_type {
    110   MLX5_IB_FLOW_TYPE_NORMAL,
    111   MLX5_IB_FLOW_TYPE_SNIFFER,
    112   MLX5_IB_FLOW_TYPE_ALL_DEFAULT,
    113   MLX5_IB_FLOW_TYPE_MC_DEFAULT,
    114 };
    115 enum mlx5_ib_create_flow_attrs {
    116   MLX5_IB_ATTR_CREATE_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
    117   MLX5_IB_ATTR_CREATE_FLOW_MATCH_VALUE,
    118   MLX5_IB_ATTR_CREATE_FLOW_DEST_QP,
    119   MLX5_IB_ATTR_CREATE_FLOW_DEST_DEVX,
    120   MLX5_IB_ATTR_CREATE_FLOW_MATCHER,
    121   MLX5_IB_ATTR_CREATE_FLOW_ARR_FLOW_ACTIONS,
    122   MLX5_IB_ATTR_CREATE_FLOW_TAG,
    123   MLX5_IB_ATTR_CREATE_FLOW_ARR_COUNTERS_DEVX,
    124 };
    125 enum mlx5_ib_destoy_flow_attrs {
    126   MLX5_IB_ATTR_DESTROY_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
    127 };
    128 enum mlx5_ib_flow_methods {
    129   MLX5_IB_METHOD_CREATE_FLOW = (1U << UVERBS_ID_NS_SHIFT),
    130   MLX5_IB_METHOD_DESTROY_FLOW,
    131 };
    132 enum mlx5_ib_flow_action_methods {
    133   MLX5_IB_METHOD_FLOW_ACTION_CREATE_MODIFY_HEADER = (1U << UVERBS_ID_NS_SHIFT),
    134   MLX5_IB_METHOD_FLOW_ACTION_CREATE_PACKET_REFORMAT,
    135 };
    136 enum mlx5_ib_create_flow_action_create_modify_header_attrs {
    137   MLX5_IB_ATTR_CREATE_MODIFY_HEADER_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
    138   MLX5_IB_ATTR_CREATE_MODIFY_HEADER_ACTIONS_PRM,
    139   MLX5_IB_ATTR_CREATE_MODIFY_HEADER_FT_TYPE,
    140 };
    141 enum mlx5_ib_create_flow_action_create_packet_reformat_attrs {
    142   MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
    143   MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_TYPE,
    144   MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_FT_TYPE,
    145   MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_DATA_BUF,
    146 };
    147 #endif
    148