Thread (61 messages) 61 messages, 8 authors, 2020-03-16

Re: [dpdk-dev] [RFC v4] regexdev: introduce regexdev subsystem

From: Jerin Jacob <hidden>
Date: 2020-02-27 14:55:58

On Thu, Feb 27, 2020 at 8:11 PM Ori Kam [off-list ref] wrote:
From: Jerin Jacob <redacted>

Even though there are some vendors which offer Regex HW offload, due to
lack of standard API, It is diffcult for DPDK consumer to use them
in a portable way.

This _RFC_ attempts to standardize the RegEx/DPI offload APIs for DPDK.

This RFC crafted based on SW Regex API frameworks such as libpcre and
hyperscan and a few of the RegEx HW IPs which I am aware of.

RegEx pattern matching applications:
* Next Generation Firewalls (NGFW)
* Deep Packet and Flow Inspection (DPI)
* Intrusion Prevention Systems (IPS)
* DDoS Mitigation
* Network Monitoring
* Data Loss Prevention (DLP)
* Smart NICs
* Grammar based content processing
* URL, spam and adware filtering
* Advanced auditing and policing of user/application security policies
* Financial data mining - parsing of streamed financial feeds
* Application recognition.
* Dmemory introspection.
* Natural Language Processing (NLP)
* Sentiment Analysis.
* Big data databse acceleration.
* Computational storage.

Request to review from HW and SW RegEx vendors and RegEx application
users to have portable DPDK API for RegEx.

The API schematics are based cryptodev, eventdev and ethdev existing
device API.

Signed-off-by: Jerin Jacob <redacted>
Signed-off-by: Pavan Nikhilesh <redacted>
Signed-off-by: Ori Kam <redacted>
---
V4:
 * Replace iova with mbuf.
 * Small ML comments.
V3:
 * Change subject title.
V2:
 * Address ML comments.
+/** Struct to hold scatter gather elements in ops. */
+struct rte_regex_iov {
+       RTE_STD_C11
+       union {
+               uint64_t u64;
+               /**<  Allow 8-byte reserved on 32-bit system */
+               void *buf_addr;
+               /**< Virtual address of the pattern to be matched. */
+       };
+       rte_iova_t buf_iova;
+       /**< IOVA address of the pattern to be matched. */
+       uint16_t buf_size; /**< The buf size. */
+};
rte_regex_iov structure is stale . Please remove it.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help