Message ID | 1585464438-111285-1-git-send-email-orika@mellanox.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id F21EFA0562; Sun, 29 Mar 2020 08:47:34 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CB0DEF3E; Sun, 29 Mar 2020 08:47:33 +0200 (CEST) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id B039C2AB for <dev@dpdk.org>; Sun, 29 Mar 2020 08:47:31 +0200 (CEST) Received: from Internal Mail-Server by MTLPINE2 (envelope-from orika@mellanox.com) with ESMTPS (AES256-SHA encrypted); 29 Mar 2020 09:47:28 +0300 Received: from pegasus04.mtr.labs.mlnx. (pegasus04.mtr.labs.mlnx [10.210.16.126]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 02T6lSNu004381; Sun, 29 Mar 2020 09:47:28 +0300 From: Ori Kam <orika@mellanox.com> To: jerinj@marvell.com, xiang.w.wang@intel.com Cc: dev@dpdk.org, pbhagavatula@marvell.com, shahafs@mellanox.com, hemant.agrawal@nxp.com, opher@mellanox.com, alexr@mellanox.com, dovrat@marvell.com, pkapoor@marvell.com, nipun.gupta@nxp.com, bruce.richardson@intel.com, yang.a.hong@intel.com, harry.chang@intel.com, gu.jian1@zte.com.cn, shanjiangh@chinatelecom.cn, zhangy.yun@chinatelecom.cn, lixingfu@huachentel.com, wushuai@inspur.com, yuyingxia@yxlink.com, fanchenggang@sunyainfo.com, davidfgao@tencent.com, liuzhong1@chinaunicom.cn, zhaoyong11@huawei.com, oc@yunify.com, jim@netgate.com, hongjun.ni@intel.com, j.bromhead@titan-ic.com, deri@ntop.org, fc@napatech.com, arthur.su@lionic.com, thomas@monjalon.net, orika@mellanox.com Date: Sun, 29 Mar 2020 06:47:14 +0000 Message-Id: <1585464438-111285-1-git-send-email-orika@mellanox.com> X-Mailer: git-send-email 1.8.3.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v1 0/4] add RegEx class X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series | add RegEx class | |
Message
Ori Kam
March 29, 2020, 6:47 a.m. UTC
This patch set adds the RegEx class, which enables RegEx pattern matching, both on HW/SW PMDs. Example for applications that will benefit from this class: * 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. This patch set is based on RFC[1] This class should be merged only after there is at least one PMD that implements it. Also the test application will be added when the first PMD is added. [1] https://patches.dpdk.org/patch/66501/ Jerin Jacob (1): regexdev: introduce regexdev subsystem Ori Kam (3): regexdev: add regex core h file regexdev: add regexdev core functions regexdev: implement regex rte level functions config/common_base | 8 + config/meson.build | 1 + doc/api/doxy-api-index.md | 1 + doc/api/doxy-api.conf.in | 1 + doc/guides/prog_guide/index.rst | 1 + doc/guides/prog_guide/regexdev_lib.rst | 177 +++ lib/Makefile | 2 + lib/librte_regexdev/Makefile | 33 + lib/librte_regexdev/meson.build | 10 + lib/librte_regexdev/rte_regexdev.c | 376 +++++++ lib/librte_regexdev/rte_regexdev.h | 1482 ++++++++++++++++++++++++++ lib/librte_regexdev/rte_regexdev_core.h | 149 +++ lib/librte_regexdev/rte_regexdev_driver.h | 50 + lib/librte_regexdev/rte_regexdev_version.map | 26 + lib/meson.build | 3 +- meson_options.txt | 2 + 16 files changed, 2321 insertions(+), 1 deletion(-) create mode 100644 doc/guides/prog_guide/regexdev_lib.rst create mode 100644 lib/librte_regexdev/Makefile create mode 100644 lib/librte_regexdev/meson.build create mode 100644 lib/librte_regexdev/rte_regexdev.c create mode 100644 lib/librte_regexdev/rte_regexdev.h create mode 100644 lib/librte_regexdev/rte_regexdev_core.h create mode 100644 lib/librte_regexdev/rte_regexdev_driver.h create mode 100644 lib/librte_regexdev/rte_regexdev_version.map
Comments
Hi Ori, Looks like the series is missing support for virtual devices i.e. vdev @see rte_eventdev_pmd_vdev.h, rte_ethdev_vdev.h. Hyperscan and PCRE based regexdev would need vdev support. Thanks, Pavan. >This patch set adds the RegEx class, which enables RegEx pattern >matching, both on HW/SW PMDs. > >Example for applications that will benefit from this class: >* 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. > >This patch set is based on RFC[1] > >This class should be merged only after there is at least >one PMD that implements it. Also the test application will >be added when the first PMD is added. > > > >[1] https://urldefense.proofpoint.com/v2/url?u=https- >3A__patches.dpdk.org_patch_66501_&d=DwIDaQ&c=nKjWec2b6R0mO >yPaz7xtfQ&r=E3SgYMjtKCMVsB-fmvgGV3o- >g_fjLhk5Pupi9ijohpc&m=bE- >KQdo2pQktvXoSvAAe5ppq2423AEYlpW5MTK90UyY&s=qLgLlewFToFlkH >yUBQcGVYU6fG2t5yNg2uAz7h_OlVA&e= > >Jerin Jacob (1): > regexdev: introduce regexdev subsystem > >Ori Kam (3): > regexdev: add regex core h file > regexdev: add regexdev core functions > regexdev: implement regex rte level functions > > config/common_base | 8 + > config/meson.build | 1 + > doc/api/doxy-api-index.md | 1 + > doc/api/doxy-api.conf.in | 1 + > doc/guides/prog_guide/index.rst | 1 + > doc/guides/prog_guide/regexdev_lib.rst | 177 +++ > lib/Makefile | 2 + > lib/librte_regexdev/Makefile | 33 + > lib/librte_regexdev/meson.build | 10 + > lib/librte_regexdev/rte_regexdev.c | 376 +++++++ > lib/librte_regexdev/rte_regexdev.h | 1482 >++++++++++++++++++++++++++ > lib/librte_regexdev/rte_regexdev_core.h | 149 +++ > lib/librte_regexdev/rte_regexdev_driver.h | 50 + > lib/librte_regexdev/rte_regexdev_version.map | 26 + > lib/meson.build | 3 +- > meson_options.txt | 2 + > 16 files changed, 2321 insertions(+), 1 deletion(-) > create mode 100644 doc/guides/prog_guide/regexdev_lib.rst > create mode 100644 lib/librte_regexdev/Makefile > create mode 100644 lib/librte_regexdev/meson.build > create mode 100644 lib/librte_regexdev/rte_regexdev.c > create mode 100644 lib/librte_regexdev/rte_regexdev.h > create mode 100644 lib/librte_regexdev/rte_regexdev_core.h > create mode 100644 lib/librte_regexdev/rte_regexdev_driver.h > create mode 100644 lib/librte_regexdev/rte_regexdev_version.map > >-- >1.8.3.1
Hi Pavan, Thanks for your comments, PSB. Best, Ori > -----Original Message----- > From: dev <dev-bounces@dpdk.org> On Behalf Of Pavan Nikhilesh Bhagavatula > Subject: Re: [dpdk-dev] [EXT] [PATCH v1 0/4] add RegEx class > > Hi Ori, > > Looks like the series is missing support for virtual devices i.e. vdev > @see rte_eventdev_pmd_vdev.h, rte_ethdev_vdev.h. > > Hyperscan and PCRE based regexdev would need vdev support. > As far as I can see, the functions in rte_ethdev_vdev.h for example, are just wrapper functions. I don't think they are needed at least not in current stage, the vdev PMD can just call the register function by himself. I think that if we see we have a need or large code base that should/can be shared between devices then we will add such functions. > Thanks, > Pavan. > > >This patch set adds the RegEx class, which enables RegEx pattern > >matching, both on HW/SW PMDs. > > > >Example for applications that will benefit from this class: > >* 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. > > > >This patch set is based on RFC[1] > > > >This class should be merged only after there is at least > >one PMD that implements it. Also the test application will > >be added when the first PMD is added. > > > > > > > >[1] > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefens > e.proofpoint.com%2Fv2%2Furl%3Fu%3Dhttps- > &data=02%7C01%7Corika%40mellanox.com%7C96aa12eaf0a349c42c720 > 8d7d89918ea%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C637216 > 024425556482&sdata=1FaqurdBqd9FzkKJ8Dmpr7BQSiTfDQhWP51zbdmau > %2BA%3D&reserved=0 > >3A__patches.dpdk.org_patch_66501_&d=DwIDaQ&c=nKjWec2b6R0mO > >yPaz7xtfQ&r=E3SgYMjtKCMVsB-fmvgGV3o- > >g_fjLhk5Pupi9ijohpc&m=bE- > >KQdo2pQktvXoSvAAe5ppq2423AEYlpW5MTK90UyY&s=qLgLlewFToFlkH > >yUBQcGVYU6fG2t5yNg2uAz7h_OlVA&e= > > > >Jerin Jacob (1): > > regexdev: introduce regexdev subsystem > > > >Ori Kam (3): > > regexdev: add regex core h file > > regexdev: add regexdev core functions > > regexdev: implement regex rte level functions > > > > config/common_base | 8 + > > config/meson.build | 1 + > > doc/api/doxy-api-index.md | 1 + > > doc/api/doxy-api.conf.in | 1 + > > doc/guides/prog_guide/index.rst | 1 + > > doc/guides/prog_guide/regexdev_lib.rst | 177 +++ > > lib/Makefile | 2 + > > lib/librte_regexdev/Makefile | 33 + > > lib/librte_regexdev/meson.build | 10 + > > lib/librte_regexdev/rte_regexdev.c | 376 +++++++ > > lib/librte_regexdev/rte_regexdev.h | 1482 > >++++++++++++++++++++++++++ > > lib/librte_regexdev/rte_regexdev_core.h | 149 +++ > > lib/librte_regexdev/rte_regexdev_driver.h | 50 + > > lib/librte_regexdev/rte_regexdev_version.map | 26 + > > lib/meson.build | 3 +- > > meson_options.txt | 2 + > > 16 files changed, 2321 insertions(+), 1 deletion(-) > > create mode 100644 doc/guides/prog_guide/regexdev_lib.rst > > create mode 100644 lib/librte_regexdev/Makefile > > create mode 100644 lib/librte_regexdev/meson.build > > create mode 100644 lib/librte_regexdev/rte_regexdev.c > > create mode 100644 lib/librte_regexdev/rte_regexdev.h > > create mode 100644 lib/librte_regexdev/rte_regexdev_core.h > > create mode 100644 lib/librte_regexdev/rte_regexdev_driver.h > > create mode 100644 lib/librte_regexdev/rte_regexdev_version.map > > > >-- > >1.8.3.1