[dpdk-dev] [RFC v6] regexdev: introduce regexdev subsystem

Wang Xiang xiang.w.wang at intel.com
Fri Mar 13 02:20:27 CET 2020


Hi Ori,

Sorry for the late response as I am occupied by other works.
Two comments below to make the definitions compatible to Hyperscan.

Thanks,
Xiang

On Tue, Mar 10, 2020 at 10:32:33AM +0000, Ori Kam wrote:
> +#define RTE_REGEX_PCRE_RULE_MATCH_ALL_F (1ULL << 13)
> +/**< This flag marks that the results for the pattern that is being compiled
> + * should include all possible matches.
> + * @see struct rte_regex_dev_info::rule_flags, struct rte_regex_rule::rule_flags
> + */
> +
Can we change this flag to RTE_REGEX_DEV_CFG_MATCH_ALL since Hyperscan only supports
match all mode and users don't have to specify this flag per rule?

> + */
> +__rte_experimental
> +int
> +rte_regex_dev_info_get(uint8_t dev_id, struct rte_regex_dev_info *dev_info);
> +
> +/* Enumerates RegEx device configuration flags */
> +#define RTE_REGEX_DEV_CFG_CROSS_BUFFER_SCAN_F (1ULL << 0)
> +/**< Cross buffer scan refers to the ability to be able to detect
> + * matches that occur across buffer boundaries, where the buffers are related
> + * to each other in some way. Enable this flag when to scan payload size
> + * greater than struct rte_regex_dev_info::max_payload_size and/or
> + * matches can present across scan buffer boundaries.
> + *
> + * @see struct rte_regex_dev_info::max_payload_size
> + * @see struct rte_regex_dev_config::dev_cfg_flags, rte_regex_dev_configure()
> + * @see RTE_REGEX_OPS_RSP_PMI_SOJ_F
> + * @see RTE_REGEX_OPS_RSP_PMI_EOJ_F
> + * @see RTE_REGEX_OPS_RSP_PMI_TOJ_F
> + */
> +
Can we add another flag RTE_REGEX_DEV_CFG_CROSS_BUFFER_SCAN_FULL_F? In this case,
we only return full match for cross buffer scan without any partial result and
without returning response flags such as RTE_REGEX_OPS_RSP_PMI_*.



More information about the dev mailing list