Message ID | 20201018120353.11325-1-guyk@marvell.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 8B228A04B0; Sun, 18 Oct 2020 14:05:32 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BFC93CADC; Sun, 18 Oct 2020 14:05:30 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id A580DC7F2 for <dev@dpdk.org>; Sun, 18 Oct 2020 14:05:29 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 09IC5SV8016379; Sun, 18 Oct 2020 05:05:28 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=YbRgav/KB3Mimhi4fdTfBGcibn6M/rWiRhXWLqSvEEY=; b=LNO/IArJ9v6NRdx3sNeEXEiFxyyJ1yfqVsPjQty5i+47l+5810f8TOiNXW6OvcZhDLT7 Pzls6jEdyVYNzctL1k2Ju4TcTVMiuIWHczAhExPnfzvDfsbfXq2yGPOqyr6hrh3ZuAUH NzqTCo8ZWnAIYyVGBzXtHRaai/6Vbgn7uJKF6bXpvWcX3m5izn8QSMkvaELt7Dx+h10X lHgu31AGuMk5y/cqS+zOXJWNpz7j0JdiWXu8IIE+CBrb2W316uLzdUTZFwp2T4Y/p4cV jdC+8MNjimswfPzWvhGLRI88ioHnTSI77A9gPJgVlPfmpjqwrvgPxPxQlO9pRyO73jR3 Jw== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0b-0016f401.pphosted.com with ESMTP id 34804nj32d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 18 Oct 2020 05:05:27 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 18 Oct 2020 05:05:26 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sun, 18 Oct 2020 05:05:26 -0700 Received: from vvenus124.il.marvell.com (unknown [10.5.116.64]) by maili.marvell.com (Postfix) with ESMTP id 173883F703F; Sun, 18 Oct 2020 05:05:23 -0700 (PDT) From: <guyk@marvell.com> To: <thomas@monjalon.net>, <orika@mellanox.com>, <john.mcnamara@intel.com>, <marko.kovacevic@intel.com> CC: <dev@dpdk.org>, <guyk@marvell.com>, <jerinj@marvell.com>, <smadarf@marvell.com>, <dovrat@marvell.com> Date: Sun, 18 Oct 2020 15:03:51 +0300 Message-ID: <20201018120353.11325-1-guyk@marvell.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200908123144.26444-3-guyk@marvell.com> References: <20200908123144.26444-3-guyk@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687 definitions=2020-10-18_02:2020-10-16, 2020-10-18 signatures=0 Subject: [dpdk-dev] [PATCH v3 0/2] Add example l3fwd-regex 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 example l3fwd-regex
|
|
Message
Guy Kaneti
Oct. 18, 2020, 12:03 p.m. UTC
From: Guy Kaneti <guyk@marvell.com>
The L3 Forwarding with Regex application is a simple example of
packet processing using DPDK Regex framework.
The application performs L3 LPM based forwarding while using
Regex framework for pre-filtering decision.
v3:
* Rebase.
* fix typo
v2:
* Rebase.
* Add release notes.
* fix spelling mistake
* fix build error
Guy Kaneti (2):
examples/l3fwd-regex: add regex based l3fwd
doc: add l3fwd-regex application user guide
MAINTAINERS | 3 +
doc/guides/rel_notes/release_20_11.rst | 5 +
doc/guides/sample_app_ug/index.rst | 1 +
doc/guides/sample_app_ug/intro.rst | 4 +
doc/guides/sample_app_ug/l3_forward_regex.rst | 235 ++++
examples/l3fwd-regex/l3fwd.h | 207 +++
examples/l3fwd-regex/l3fwd_lpm.c | 484 +++++++
examples/l3fwd-regex/l3fwd_regex.c | 487 +++++++
examples/l3fwd-regex/l3fwd_regex.h | 38 +
examples/l3fwd-regex/main.c | 1117 +++++++++++++++++
examples/l3fwd-regex/meson.build | 10 +
examples/meson.build | 2 +-
12 files changed, 2592 insertions(+), 1 deletion(-)
create mode 100644 doc/guides/sample_app_ug/l3_forward_regex.rst
create mode 100644 examples/l3fwd-regex/l3fwd.h
create mode 100644 examples/l3fwd-regex/l3fwd_lpm.c
create mode 100644 examples/l3fwd-regex/l3fwd_regex.c
create mode 100644 examples/l3fwd-regex/l3fwd_regex.h
create mode 100644 examples/l3fwd-regex/main.c
create mode 100644 examples/l3fwd-regex/meson.build
Comments
18/10/2020 14:03, guyk@marvell.com: > From: Guy Kaneti <guyk@marvell.com> > > The L3 Forwarding with Regex application is a simple example of > packet processing using DPDK Regex framework. > The application performs L3 LPM based forwarding while using > Regex framework for pre-filtering decision. The techboard decision is a bit different of this l3fwd-regex: " - TB agreed to have an example application that exercises the regex device and network device as a separate application. - The example shall be used for both Benchmark and functional verification of regex in the forwarding path. - Based on the discussions, it is agreed that l3fwd might not be the real use case to consider as regex + network application - Instead, TB recommends having the Deep packet inspection style application to showcase the regex + networking use case. - Following is the simple DPI style application definition, which can be considered as a candidate, as an example of regex + network application 1) Create or import a rule database. - Rule database will have an index as rule_id and pattern to search 2) Create or import rule_id to the action table - Action could be -1 for the drop, 0 .. N for a specific port to forward upon the match 3) Enqueue all the packet from ethdev to regexdev 4) If there is a match, then do the action based on the table created in step 2 using struct rte_regexdev_match::rule_id 5) If there is no match, forward back to the source port " http://mails.dpdk.org/archives/dev/2020-November/191301.html
On Sun, 15 Nov 2020 15:07:37 +0100 Thomas Monjalon <thomas@monjalon.net> wrote: > 18/10/2020 14:03, guyk@marvell.com: > > From: Guy Kaneti <guyk@marvell.com> > > > > The L3 Forwarding with Regex application is a simple example of > > packet processing using DPDK Regex framework. > > The application performs L3 LPM based forwarding while using > > Regex framework for pre-filtering decision. > > The techboard decision is a bit different of this l3fwd-regex: > " > - TB agreed to have an example application that exercises the regex device and network device as a separate application. > - The example shall be used for both Benchmark and functional verification of regex in the forwarding path. > - Based on the discussions, it is agreed that l3fwd might not be the real use case to consider as regex + network application > - Instead, TB recommends having the Deep packet inspection style application to showcase the regex + networking use case. > - Following is the simple DPI style application definition, which can be considered as a candidate, as an example of regex + network application > 1) Create or import a rule database. > - Rule database will have an index as rule_id and pattern to search > 2) Create or import rule_id to the action table > - Action could be -1 for the drop, 0 .. N for a specific port to forward upon the match > 3) Enqueue all the packet from ethdev to regexdev > 4) If there is a match, then do the action based on the table created in step 2 using struct rte_regexdev_match::rule_id > 5) If there is no match, forward back to the source port > " > > http://mails.dpdk.org/archives/dev/2020-November/191301.html Marking original example as "Changes requested" Please resubmit example based on the above feedback.