DPDK patches and discussions
 help / color / mirror / Atom feed
From: Suanming Mou <suanmingm@nvidia.com>
To: <thomas@monjalon.net>, <ferruh.yigit@amd.com>
Cc: <dev@dpdk.org>, <orika@nvidia.com>
Subject: [PATCH v7 0/4] ethdev: add RTE_FLOW_ITEM_TYPE_COMPARE
Date: Tue, 6 Feb 2024 10:06:21 +0800	[thread overview]
Message-ID: <20240206020626.545946-1-suanmingm@nvidia.com> (raw)
In-Reply-To: <20231214031227.363911-1-suanmingm@nvidia.com>

The new item type is added for the case user wants to match traffic
based on packet field compare result with other fields or immediate
value.

e.g. take advantage the compare item user will be able to accumulate
a IPv4/TCP packet's TCP data_offset and IPv4 IHL field to a tag
register, then compare the tag register with IPv4 header total length
to understand the packet has payload or not.

The supported operations can be as below:
 - RTE_FLOW_ITEM_COMPARE_EQ (equal)
 - RTE_FLOW_ITEM_COMPARE_NE (not equal)
 - RTE_FLOW_ITEM_COMPARE_LT (less than)
 - RTE_FLOW_ITEM_COMPARE_LE (less than or equal)
 - RTE_FLOW_ITEM_COMPARE_GT (great than)
 - RTE_FLOW_ITEM_COMPARE_GE (great than or equal)

V7:
 - Moved release notes to API.
 - Optimize comment descriptions.

V6:
 - fix typo and style issue.
 - adjust flow_field description.

V5:
 - rebase on top of next-net
 - add sample detail for rte_flow_field.

V4:
 - rebase on top of the latest version.
 - move ACTION_MODIFY_PATTERN_SIZE and modify_field_ids rename
   to first patch.
 - add comparison flow create sample in testpmd_funcs.rst.

V3:
 - fix code style missing empty line in rte_flow.rst.
 - fix missing the ABI change release notes.

V2:
 - Since modify field data struct is experiment, rename modify
   field data directly instead of adding new flow field struct.


Suanming Mou (4):
  ethdev: rename action modify field data structure
  ethdev: move flow field data structures
  ethdev: add compare item
  net/mlx5: add compare item support

 app/test-pmd/cmdline_flow.c                 | 416 +++++++++++++++++++-
 doc/guides/nics/features/default.ini        |   1 +
 doc/guides/nics/features/mlx5.ini           |   1 +
 doc/guides/nics/mlx5.rst                    |   7 +
 doc/guides/prog_guide/rte_flow.rst          |   9 +-
 doc/guides/rel_notes/release_24_03.rst      |  10 +
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |  24 ++
 drivers/net/mlx5/mlx5_flow.c                |   4 +-
 drivers/net/mlx5/mlx5_flow.h                |   9 +-
 drivers/net/mlx5/mlx5_flow_dv.c             |  10 +-
 drivers/net/mlx5/mlx5_flow_hw.c             |  73 ++++
 lib/ethdev/rte_flow.c                       |   1 +
 lib/ethdev/rte_flow.h                       | 330 +++++++++-------
 13 files changed, 726 insertions(+), 169 deletions(-)

-- 
2.34.1


  parent reply	other threads:[~2024-02-06  2:06 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-14  3:12 [PATCH 0/2] " Suanming Mou
2023-12-14  3:12 ` [PATCH 1/2] " Suanming Mou
2023-12-14  3:12 ` [PATCH 2/2] net/mlx5: add compare item support Suanming Mou
2023-12-19  1:33 ` [PATCH v2 0/3] [PATCH 0/2] ethdev: add RTE_FLOW_ITEM_TYPE_COMPARE Suanming Mou
2023-12-19  1:33   ` [PATCH v2 1/3] ethdev: rename action modify field data structure Suanming Mou
2024-01-09 14:07     ` Ori Kam
2024-01-12  8:03       ` Andrew Rybchenko
2023-12-19  1:33   ` [PATCH v2 2/3] ethdev: add compare item Suanming Mou
2024-01-09 14:26     ` Ori Kam
2024-01-12  8:11     ` Andrew Rybchenko
2024-01-15  8:14       ` Suanming Mou
2023-12-19  1:33   ` [PATCH v2 3/3] net/mlx5: add compare item support Suanming Mou
2024-01-09 14:28     ` Ori Kam
2024-01-15  9:13   ` [PATCH v3 0/3] ethdev: add RTE_FLOW_ITEM_TYPE_COMPARE Suanming Mou
2024-01-15  9:13     ` [PATCH v3 1/3] ethdev: rename action modify field data structure Suanming Mou
2024-01-30 17:19       ` Ferruh Yigit
2024-01-31  2:57         ` Suanming Mou
2024-02-01 10:56           ` Ferruh Yigit
2024-02-01 11:09             ` Suanming Mou
2024-02-01 11:20               ` Ferruh Yigit
2024-02-01 11:39                 ` Suanming Mou
2024-01-15  9:13     ` [PATCH v3 2/3] ethdev: add compare item Suanming Mou
2024-01-30 17:33       ` Ferruh Yigit
2024-01-31  2:47         ` Suanming Mou
2024-01-31 15:56           ` Ori Kam
2024-01-31 16:46             ` Ferruh Yigit
2024-01-31 17:43               ` Ori Kam
2024-01-31 17:54                 ` Ferruh Yigit
2024-02-01  6:51                   ` Ori Kam
2024-02-01  0:31               ` Suanming Mou
2024-01-15  9:13     ` [PATCH v3 3/3] net/mlx5: add compare item support Suanming Mou
2024-02-01  2:30 ` [PATCH v4 0/3] ethdev: add RTE_FLOW_ITEM_TYPE_COMPARE Suanming Mou
2024-02-01  2:30   ` [PATCH v4 1/3] ethdev: rename action modify field data structure Suanming Mou
2024-02-01  2:30   ` [PATCH v4 2/3] ethdev: add compare item Suanming Mou
2024-02-01  2:30   ` [PATCH v4 3/3] net/mlx5: add compare item support Suanming Mou
2024-02-01 12:29 ` [PATCH v5 0/3] ethdev: add RTE_FLOW_ITEM_TYPE_COMPARE Suanming Mou
2024-02-01 12:29   ` [PATCH v5 1/3] ethdev: rename action modify field data structure Suanming Mou
2024-02-01 18:57     ` Ferruh Yigit
2024-02-01 12:29   ` [PATCH v5 2/3] ethdev: add compare item Suanming Mou
2024-02-01 18:57     ` Ferruh Yigit
2024-02-01 12:29   ` [PATCH v5 3/3] net/mlx5: add compare item support Suanming Mou
2024-02-01 18:57     ` Ferruh Yigit
2024-02-01 18:56   ` [PATCH v5 0/3] ethdev: add RTE_FLOW_ITEM_TYPE_COMPARE Ferruh Yigit
2024-02-02  0:32     ` Suanming Mou
2024-02-02  0:42 ` [PATCH v6 " Suanming Mou
2024-02-02  0:42   ` [PATCH v6 1/3] ethdev: rename action modify field data structure Suanming Mou
2024-02-05 11:23     ` Thomas Monjalon
2024-02-05 11:49       ` Suanming Mou
2024-02-05 12:39         ` Thomas Monjalon
2024-02-05 12:53           ` Suanming Mou
2024-02-02  0:42   ` [PATCH v6 2/3] ethdev: add compare item Suanming Mou
2024-02-05 13:00     ` Thomas Monjalon
2024-02-05 13:28       ` Suanming Mou
2024-02-05 14:09         ` Thomas Monjalon
2024-02-06  1:26           ` Suanming Mou
2024-02-02  0:42   ` [PATCH v6 3/3] net/mlx5: add compare item support Suanming Mou
2024-02-06  2:06 ` Suanming Mou [this message]
2024-02-06  2:06   ` [PATCH v7 1/4] ethdev: rename action modify field data structure Suanming Mou
2024-02-06 21:23     ` Ferruh Yigit
2024-02-06  2:06   ` [PATCH v7 2/4] ethdev: move flow field data structures Suanming Mou
2024-02-06 21:23     ` Ferruh Yigit
2024-02-06  2:06   ` [PATCH v7 3/4] ethdev: add compare item Suanming Mou
2024-02-06 21:24     ` Ferruh Yigit
2024-02-06  2:06   ` [PATCH v7 4/4] net/mlx5: add compare item support Suanming Mou
2024-02-06 21:23     ` Ferruh Yigit
2024-02-06 21:24   ` [PATCH v7 0/4] ethdev: add RTE_FLOW_ITEM_TYPE_COMPARE Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240206020626.545946-1-suanmingm@nvidia.com \
    --to=suanmingm@nvidia.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@amd.com \
    --cc=orika@nvidia.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).