const char *rule_db, uint32_t rule_db_len);
/* mlx5_regex_devx.c */
-int mlx5_devx_regex_database_stop(void *ctx, uint8_t engine);
-int mlx5_devx_regex_database_resume(void *ctx, uint8_t engine);
int mlx5_devx_regex_rules_program(void *ctx, uint8_t engine, uint32_t rof_mkey,
uint32_t rof_size, uint64_t db_mkey_offset);
#include "mlx5_regex.h"
#include "mlx5_regex_utils.h"
-int
-mlx5_devx_regex_database_stop(void *ctx, uint8_t engine)
-{
- uint32_t out[MLX5_ST_SZ_DW(set_regexp_params_out)] = {0};
- uint32_t in[MLX5_ST_SZ_DW(set_regexp_params_in)] = {0};
- int ret;
-
- MLX5_SET(set_regexp_params_in, in, opcode, MLX5_CMD_SET_REGEX_PARAMS);
- MLX5_SET(set_regexp_params_in, in, engine_id, engine);
- MLX5_SET(set_regexp_params_in, in, regexp_params.stop_engine, 1);
- MLX5_SET(set_regexp_params_in, in, field_select.stop_engine, 1);
- ret = mlx5_glue->devx_general_cmd(ctx, in, sizeof(in), out,
- sizeof(out));
- if (ret) {
- DRV_LOG(ERR, "Database stop failed %d", ret);
- rte_errno = errno;
- return -errno;
- }
- return 0;
-}
-
-int
-mlx5_devx_regex_database_resume(void *ctx, uint8_t engine)
-{
- uint32_t out[MLX5_ST_SZ_DW(set_regexp_params_out)] = {0};
- uint32_t in[MLX5_ST_SZ_DW(set_regexp_params_in)] = {0};
- int ret;
-
- MLX5_SET(set_regexp_params_in, in, opcode, MLX5_CMD_SET_REGEX_PARAMS);
- MLX5_SET(set_regexp_params_in, in, engine_id, engine);
- MLX5_SET(set_regexp_params_in, in, regexp_params.stop_engine, 0);
- MLX5_SET(set_regexp_params_in, in, field_select.stop_engine, 1);
- ret = mlx5_glue->devx_general_cmd(ctx, in, sizeof(in), out,
- sizeof(out));
- if (ret) {
- DRV_LOG(ERR, "Database start failed %d", ret);
- rte_errno = errno;
- return -errno;
- }
- return 0;
-}
-
int
mlx5_devx_regex_rules_program(void *ctx, uint8_t engine, uint32_t rof_mkey,
uint32_t rof_size, uint64_t rof_mkey_va)