Introduce packet pacing uobject and its alloc and destroy methods. This uobject holds mlx5 packet pacing context according to the device specification and enables managing packet pacing device entries that are needed by DEVX applications.
Showing the changes to include/uapi (2 of 6 files). Show all
Unified · Split
| @@ -143,6 +143,22 @@ enum mlx5_ib_devx_umem_dereg_attrs { · 142 unmodified lines | ||
| 143 | 143 | MLX5_IB_ATTR_DEVX_UMEM_DEREG_HANDLE = (1U << UVERBS_ID_NS_SHIFT), |
| 144 | 144 | }; |
| 145 | 145 | |
| 146 | +enum mlx5_ib_pp_obj_methods { | |
| 147 | + MLX5_IB_METHOD_PP_OBJ_ALLOC = (1U << UVERBS_ID_NS_SHIFT), | |
| 148 | + MLX5_IB_METHOD_PP_OBJ_DESTROY, | |
| 149 | +}; | |
| 150 | + | |
| 151 | +enum mlx5_ib_pp_alloc_attrs { | |
| 152 | + MLX5_IB_ATTR_PP_OBJ_ALLOC_HANDLE = (1U << UVERBS_ID_NS_SHIFT), | |
| 153 | + MLX5_IB_ATTR_PP_OBJ_ALLOC_CTX, | |
| 154 | + MLX5_IB_ATTR_PP_OBJ_ALLOC_FLAGS, | |
| 155 | + MLX5_IB_ATTR_PP_OBJ_ALLOC_INDEX, | |
| 156 | +}; | |
| 157 | + | |
| 158 | +enum mlx5_ib_pp_obj_destroy_attrs { | |
| 159 | + MLX5_IB_ATTR_PP_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT), | |
| 160 | +}; | |
| 161 | + | |
| 146 | 162 | enum mlx5_ib_devx_umem_methods { |
| 147 | 163 | MLX5_IB_METHOD_DEVX_UMEM_REG = (1U << UVERBS_ID_NS_SHIFT), |
| 148 | 164 | MLX5_IB_METHOD_DEVX_UMEM_DEREG, |
| @@ -173,6 +189,7 @@ enum mlx5_ib_objects { · 24 unmodified lines | ||
| 173 | 189 | MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD, |
| 174 | 190 | MLX5_IB_OBJECT_DEVX_ASYNC_EVENT_FD, |
| 175 | 191 | MLX5_IB_OBJECT_VAR, |
| 192 | + MLX5_IB_OBJECT_PP, | |
| 176 | 193 | }; |
| 177 | 194 | |
| 178 | 195 | enum mlx5_ib_flow_matcher_create_attrs { |
| @@ -73,5 +73,9 @@ struct mlx5_ib_uapi_devx_async_event_hdr { · 72 unmodified lines | ||
| 73 | 73 | __u8 out_data[]; |
| 74 | 74 | }; |
| 75 | 75 | |
| 76 | +enum mlx5_ib_uapi_pp_alloc_flags { | |
| 77 | + MLX5_IB_UAPI_PP_ALLOC_FLAGS_DEDICATED_INDEX = 1 << 0, | |
| 78 | +}; | |
| 79 | + | |
| 76 | 80 | #endif |
| 77 | 81 | |