5 #ifndef _RTE_REGEXDEV_H_ 6 #define _RTE_REGEXDEV_H_ 198 #include <rte_config.h> 227 #define RTE_REGEX_DEV_CAPA_RUNTIME_COMPILATION_F (1ULL << 0) 237 #define RTE_REGEX_DEV_PCRE_UNSUP_START_ANCHOR_F (1ULL << 0) 247 #define RTE_REGEX_DEV_PCRE_UNSUP_ATOMIC_GROUPING_F (1ULL << 1) 258 #define RTE_REGEX_DEV_PCRE_UNSUP_BACKTRACKING_CTRL_F (1ULL << 2) 265 #define RTE_REGEX_DEV_PCRE_UNSUP_CALLOUTS_F (1ULL << 3) 274 #define RTE_REGEX_DEV_PCRE_UNSUP_BACKREFERENCE_F (1ULL << 4) 281 #define RTE_REGEX_DEV_PCRE_UNSUP_GREEDY_F (1ULL << 5) 289 #define RTE_REGEX_DEV_PCRE_UNSUP_LOOKAROUND_ASRT_F (1ULL << 6) 298 #define RTE_REGEX_DEV_PCRE_UNSUP_MATCH_POINT_RST_F (1ULL << 7) 306 #define RTE_REGEX_DEV_PCRE_UNSUP_NEWLINE_CONVENTIONS_F (1ULL << 8) 317 #define RTE_REGEX_DEV_PCRE_UNSUP_NEWLINE_SEQ_F (1ULL << 9) 324 #define RTE_REGEX_DEV_PCRE_UNSUP_POSSESSIVE_QUALIFIERS_F (1ULL << 10) 333 #define RTE_REGEX_DEV_PCRE_UNSUP_SUBROUTINE_REFERENCES_F (1ULL << 11) 341 #define RTE_REGEX_DEV_PCRE_UNSUP_UTF_8_F (1ULL << 12) 346 #define RTE_REGEX_DEV_PCRE_UNSUP_UTF_16_F (1ULL << 13) 351 #define RTE_REGEX_DEV_PCRE_UNSUP_UTF_32_F (1ULL << 14) 356 #define RTE_REGEX_DEV_PCRE_UNSUP_WORD_BOUNDARY_F (1ULL << 15) 362 #define RTE_REGEX_DEV_PCRE_UNSUP_FORWARD_REFERENCES_F (1ULL << 16) 371 #define RTE_REGEX_PCRE_RULE_ALLOW_EMPTY_F (1ULL << 0) 377 #define RTE_REGEX_PCRE_RULE_ANCHORED_F (1ULL << 1) 384 #define RTE_REGEX_PCRE_RULE_CASELESS_F (1ULL << 2) 390 #define RTE_REGEX_PCRE_RULE_DOTALL_F (1ULL << 3) 396 #define RTE_REGEX_PCRE_RULE_DUPNAMES_F (1ULL << 4) 402 #define RTE_REGEX_PCRE_RULE_EXTENDED_F (1ULL << 5) 408 #define RTE_REGEX_PCRE_RULE_MATCH_UNSET_BACKREF_F (1ULL << 6) 415 #define RTE_REGEX_PCRE_RULE_MULTILINE_F (1ULL << 7) 422 #define RTE_REGEX_PCRE_RULE_NO_AUTO_CAPTURE_F (1ULL << 8) 430 #define RTE_REGEX_PCRE_RULE_UCP_F (1ULL << 9) 436 #define RTE_REGEX_PCRE_RULE_UNGREEDY_F (1ULL << 10) 443 #define RTE_REGEX_PCRE_RULE_UTF_F (1ULL << 11) 450 #define RTE_REGEX_PCRE_RULE_NEVER_BACKSLASH_C_F (1ULL << 12) 508 #define RTE_REGEX_DEV_CFG_CROSS_BUFFER_SCAN_F (1ULL << 0) 588 #define RTE_REGEX_QUEUE_PAIR_CFG_OOS_F (1ULL << 0) 755 const void *attr_value);
835 uint32_t rule_db_len);
858 #define RTE_REGEX_DEV_XSTATS_NAME_SIZE 64 914 uint64_t values[], uint16_t n);
937 uint16_t *
id, uint64_t *value);
1014 #define RTE_REGEX_OPS_REQ_GROUP_ID1_VALID_F (1 << 0) 1017 #define RTE_REGEX_OPS_REQ_GROUP_ID2_VALID_F (1 << 1) 1020 #define RTE_REGEX_OPS_REQ_GROUP_ID3_VALID_F (1 << 2) 1023 #define RTE_REGEX_OPS_REQ_STOP_ON_MATCH_F (1 << 4) 1026 #define RTE_REGEX_OPS_REQ_MATCH_HIGH_PRIORITY_F (1 << 5) 1038 #define RTE_REGEX_OPS_RSP_PMI_SOJ_F (1 << 0) 1045 #define RTE_REGEX_OPS_RSP_PMI_EOJ_F (1 << 1) 1052 #define RTE_REGEX_OPS_RSP_MAX_SCAN_TIMEOUT_F (1 << 2) 1059 #define RTE_REGEX_OPS_RSP_MAX_MATCH_F (1 << 3) 1066 #define RTE_REGEX_OPS_RSP_MAX_PREFIX_F (1 << 4)
int rte_regex_dev_dump(uint8_t dev_id, FILE *f)
int rte_regex_dev_configure(uint8_t dev_id, const struct rte_regex_dev_config *cfg)
int rte_regex_dev_selftest(uint8_t dev_id)
uint8_t rte_regex_dev_count(void)
uint16_t max_rules_per_group
int rte_regex_dev_xstats_reset(uint8_t dev_id, const uint16_t ids[], uint16_t nb_ids)
int rte_regex_dev_attr_set(uint8_t dev_id, enum rte_regex_dev_attr_id attr_id, const void *attr_value)
struct rte_regex_match matches[]
uint8_t nb_actual_matches
int rte_regex_dev_info_get(uint8_t dev_id, struct rte_regex_dev_info *dev_info)
void(* regexdev_stop_flush_t)(uint8_t dev_id, uint16_t qp_id, struct rte_regex_ops *op)
int rte_regex_dev_get_dev_id(const char *name)
uint16_t rte_regex_enqueue_burst(uint8_t dev_id, uint16_t qp_id, struct rte_regex_ops **ops, uint16_t nb_ops)
int rte_regex_dev_xstats_get(uint8_t dev_id, const uint16_t ids[], uint64_t values[], uint16_t n)
int rte_regex_rule_db_export(uint8_t dev_id, char *rule_db)
int rte_regex_queue_pair_setup(uint8_t dev_id, uint8_t queue_pair_id, const struct rte_regex_qp_conf *qp_conf)
uint16_t rte_regex_dequeue_burst(uint8_t dev_id, uint16_t qp_id, struct rte_regex_ops **ops, uint16_t nb_ops)
int rte_regex_dev_xstats_names_get(uint8_t dev_id, struct rte_regex_dev_xstats_map *xstats_map)
enum rte_regex_rule_op op
int rte_regex_dev_close(uint8_t dev_id)
int rte_regex_dev_start(uint8_t dev_id)
int rte_regex_dev_xstats_by_name_get(uint8_t dev_id, const char *name, uint16_t *id, uint64_t *value)
int rte_regex_rule_db_import(uint8_t dev_id, const char *rule_db, uint32_t rule_db_len)
int rte_regex_dev_attr_get(uint8_t dev_id, enum rte_regex_dev_attr_id attr_id, void *attr_value)
void rte_regex_dev_stop(uint8_t dev_id)
uint16_t rte_regex_rule_db_update(uint8_t dev_id, const struct rte_regex_rule *rules, uint16_t nb_rules)
uint16_t max_payload_size
uint16_t nb_rules_per_group
#define RTE_REGEX_DEV_XSTATS_NAME_SIZE
char name[RTE_REGEX_DEV_XSTATS_NAME_SIZE]
uint64_t pcre_unsup_flags