[dpdk-dev] [RFC v5] regexdev: introduce regexdev subsystem
Jerin Jacob
jerinjacobk at gmail.com
Tue Mar 3 08:54:56 CET 2020
On Tue, Mar 3, 2020 at 1:14 PM Ori Kam <orika at mellanox.com> wrote:
>
> Hi Xiang,
>
> May I ask when do you plan to add the Hyperscan code to the DPDK?
>
> > -----Original Message-----
> > From: dev <dev-bounces at dpdk.org> On Behalf Of Wang Xiang
> > Sent: Monday, March 2, 2020 9:05 AM
> > To: Ori Kam <orika at mellanox.com>
> > Cc: jerinj at marvell.com; dev at dpdk.org; pbhagavatula at marvell.com; Shahaf
> > Shuler <shahafs at mellanox.com>; hemant.agrawal at nxp.com; Opher Reviv
> > <opher at mellanox.com>; Alex Rosenbaum <alexr at mellanox.com>;
> > dovrat at marvell.com; pkapoor at marvell.com; nipun.gupta at nxp.com;
> > bruce.richardson at intel.com; yang.a.hong at intel.com; harry.chang at intel.com;
> > gu.jian1 at zte.com.cn; shanjiangh at chinatelecom.cn;
> > zhangy.yun at chinatelecom.cn; lixingfu at huachentel.com; wushuai at inspur.com;
> > yuyingxia at yxlink.com; fanchenggang at sunyainfo.com;
> > davidfgao at tencent.com; liuzhong1 at chinaunicom.cn;
> > zhaoyong11 at huawei.com; oc at yunify.com; jim at netgate.com;
> > hongjun.ni at intel.com; j.bromhead at titan-ic.com; deri at ntop.org;
> > fc at napatech.com; arthur.su at lionic.com; Thomas Monjalon
> > <thomas at monjalon.net>
> > Subject: Re: [dpdk-dev] [RFC v5] regexdev: introduce regexdev subsystem
> >
> > Hi Ori,
> >
> > Comments below.
> >
> > Thanks,
> > Xiang
> >
> > On Thu, Feb 27, 2020 at 03:08:35PM +0000, Ori Kam wrote:
> > > From: Jerin Jacob <jerinj at marvell.com>
> > >
> > > 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 <jerinj at marvell.com>
> > > Signed-off-by: Pavan Nikhilesh <pbhagavatula at marvell.com>
> > > Signed-off-by: Ori Kam <orika at mellanox.com>
> > > ---
> > > V5:
> > > * Remove unused iov struct.
> > > V4:
> > > * Replace iov with mbuf.
> > > * Small ML comments.
> > > V3:
> > > * Change subject title.
> > > V2:
> > > * Address ML comments.
> > > ---
> > > +
> > > +#define RTE_REGEX_DEV_SUPP_PCRE_GREEDY_F (1ULL << 6)
> > > +/**< RegEx device support PCRE Greedy mode.
> > > + * For example if the RegEx is 'AB\d*?' then '*?' represents zero or
> > unlimited
> > > + * matches. In greedy mode the pattern 'AB12345' will be matched
> > completely
> > > + * where as the ungreedy mode 'AB' will be returned as the match.
> > > + * @see struct rte_regex_dev_info::regex_dev_capa
> > > + */
> > > +
> >
> > Hyperscan actually supports "match all" semantic, neither greedy nor
> > ungreedy,
> > which is different from PCRE. In the case above, AB, AB1, ..., AB12345 will all
> > be returned as matches. Do HW solutions support this?
>
> No our HW doesn't support this.
> Jerin, does Marvell HW support this?
No. It does not support it.
More information about the dev
mailing list