mbox series

[v3,0/2] Add example l3fwd-regex

Message ID 20201018120353.11325-1-guyk@marvell.com (mailing list archive)
Headers
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

Thomas Monjalon Nov. 15, 2020, 2:07 p.m. UTC | #1
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
  
Stephen Hemminger June 29, 2023, 5:11 p.m. UTC | #2
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.