From: Saeed Mahameed <saeed@kernel.org>
To: "David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Eric Dumazet <edumazet@google.com>
Cc: Saeed Mahameed <saeedm@nvidia.com>,
netdev@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>
Subject: [pull request][net-next 00/15] mlx5 updates 2022-12-08
Date: Thu, 8 Dec 2022 16:14:05 -0800 [thread overview]
Message-ID: <20221209001420.142794-1-saeed@kernel.org> (raw)
From: Saeed Mahameed <saeedm@nvidia.com>
This series provides
1) steering RANGE matching hardware offloads and tc meter mtu offoad
2) multipath, support routes with more than 2 nexthops
3) vport representors counter improvements
For more information please see tag log below.
Please pull and let me know if there is any problem.
Thanks,
Saeed.
The following changes since commit ff36c447e2330625066d193a25a8f94c1408d9d9:
Merge branch 'mlx4-better-big-tcp-support' (2022-12-08 14:27:50 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2022-12-08
for you to fetch changes up to 4fe1b3a5f8fe2fdcedcaba9561e5b0ae5cb1d15b:
net/mlx5: Expose steering dropped packets counter (2022-12-08 16:10:56 -0800)
----------------------------------------------------------------
mlx5-updates-2022-12-08
1) Support range match action in SW steering
Yevgeny Kliteynik says:
=======================
The following patch series adds support for a range match action in
SW Steering.
SW steering is able to match only on the exact values of the packet fields,
as requested by the user: the user provides mask for the fields that are of
interest, and the exact values to be matched on when the traffic is handled.
The following patch series add new type of action - Range Match, where the
user provides a field to be matched on and a range of values (min to max)
that will be considered as hit.
There are several new notions that were implemented in order to support
Range Match:
- MATCH_RANGES Steering Table Entry (STE): the new STE type that allows
matching the packets' fields on the range of values instead of a specific
value.
- Match Definer: this is a general FW object that defines which fields
in the packet will be referenced by the mask and tag of each STE.
Match definer ID is part of STE fields, and it defines how the HW needs
to interpret the STE's mask/tag values.
Till now SW steering used the definers that were managed by FW and
implemented the STE layout as described by the HW spec.
Now that we're adding a new type of STE, SW steering needs to also be
able to define this new STE's layout, and this is do
=======================
2) From OZ add support for meter mtu offload
2.1: Refactor the code to allow both metering and range post actions as a
pre-step for adding police mtu offload support.
2.2: Instantiate mtu green/red flow tables with a single match-all rule.
Add the green/red actions to the hit/miss table accordingly
2.3: Initialize the meter object with the TC police mtu parameter.
Use the hardware range match action feature.
3) From MaorD, support routes with more than 2 nexthops in multipath
4) Michael and Or, improve and extend vport representor counters.
----------------------------------------------------------------
Maor Dickman (1):
net/mlx5e: multipath, support routes with more than 2 nexthops
Michael Guralnik (1):
net/mlx5: Expose steering dropped packets counter
Or Har-Toov (1):
net/mlx5: Refactor and expand rep vport stat group
Oz Shlomo (3):
net/mlx5e: meter, refactor to allow multiple post meter tables
net/mlx5e: meter, add mtu post meter tables
net/mlx5e: TC, add support for meter mtu offload
Yevgeny Kliteynik (9):
net/mlx5: mlx5_ifc updates for MATCH_DEFINER general object
net/mlx5: fs, add match on ranges API
net/mlx5: DR, Add functions to create/destroy MATCH_DEFINER general object
net/mlx5: DR, Rework is_fw_table function
net/mlx5: DR, Handle FT action in a separate function
net/mlx5: DR, Manage definers with refcounts
net/mlx5: DR, Some refactoring of miss address handling
net/mlx5: DR, Add function that tells if STE miss addr has been initialized
net/mlx5: DR, Add support for range match action
drivers/net/ethernet/mellanox/mlx5/core/Makefile | 1 +
.../mellanox/mlx5/core/diag/fs_tracepoint.c | 16 +
.../ethernet/mellanox/mlx5/core/en/tc/act/police.c | 20 +-
.../net/ethernet/mellanox/mlx5/core/en/tc/meter.c | 15 +-
.../net/ethernet/mellanox/mlx5/core/en/tc/meter.h | 1 +
.../ethernet/mellanox/mlx5/core/en/tc/post_meter.c | 336 +++++++++++++++++----
.../ethernet/mellanox/mlx5/core/en/tc/post_meter.h | 31 ++
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 94 ++++--
drivers/net/ethernet/mellanox/mlx5/core/en_stats.h | 16 +
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 8 +-
drivers/net/ethernet/mellanox/mlx5/core/en_tc.h | 1 +
.../net/ethernet/mellanox/mlx5/core/esw/debugfs.c | 22 +-
.../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 19 ++
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 11 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.h | 1 +
drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c | 79 +++--
.../mellanox/mlx5/core/steering/dr_action.c | 300 +++++++++++++++---
.../ethernet/mellanox/mlx5/core/steering/dr_cmd.c | 77 +++++
.../ethernet/mellanox/mlx5/core/steering/dr_dbg.c | 29 +-
.../mellanox/mlx5/core/steering/dr_definer.c | 151 +++++++++
.../mellanox/mlx5/core/steering/dr_domain.c | 7 +-
.../ethernet/mellanox/mlx5/core/steering/dr_rule.c | 27 +-
.../ethernet/mellanox/mlx5/core/steering/dr_ste.c | 10 +
.../ethernet/mellanox/mlx5/core/steering/dr_ste.h | 1 +
.../mellanox/mlx5/core/steering/dr_ste_v1.c | 69 +++++
.../mellanox/mlx5/core/steering/dr_ste_v1.h | 1 +
.../mellanox/mlx5/core/steering/dr_ste_v2.c | 1 +
.../mellanox/mlx5/core/steering/dr_types.h | 43 +++
.../ethernet/mellanox/mlx5/core/steering/fs_dr.c | 53 +++-
.../mlx5/core/steering/mlx5_ifc_dr_ste_v1.h | 35 +++
.../ethernet/mellanox/mlx5/core/steering/mlx5dr.h | 13 +
include/linux/mlx5/fs.h | 12 +
include/linux/mlx5/mlx5_ifc.h | 68 ++++-
33 files changed, 1373 insertions(+), 195 deletions(-)
create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_definer.c
next reply other threads:[~2022-12-09 0:14 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-09 0:14 Saeed Mahameed [this message]
2022-12-09 0:14 ` [net-next 01/15] net/mlx5: mlx5_ifc updates for MATCH_DEFINER general object Saeed Mahameed
2022-12-10 3:50 ` patchwork-bot+netdevbpf
2022-12-09 0:14 ` [net-next 02/15] net/mlx5: fs, add match on ranges API Saeed Mahameed
2022-12-09 0:14 ` [net-next 03/15] net/mlx5: DR, Add functions to create/destroy MATCH_DEFINER general object Saeed Mahameed
2022-12-09 0:14 ` [net-next 04/15] net/mlx5: DR, Rework is_fw_table function Saeed Mahameed
2022-12-09 0:14 ` [net-next 05/15] net/mlx5: DR, Handle FT action in a separate function Saeed Mahameed
2022-12-09 0:14 ` [net-next 06/15] net/mlx5: DR, Manage definers with refcounts Saeed Mahameed
2022-12-09 0:14 ` [net-next 07/15] net/mlx5: DR, Some refactoring of miss address handling Saeed Mahameed
2022-12-09 0:14 ` [net-next 08/15] net/mlx5: DR, Add function that tells if STE miss addr has been initialized Saeed Mahameed
2022-12-09 0:14 ` [net-next 09/15] net/mlx5: DR, Add support for range match action Saeed Mahameed
2022-12-09 0:14 ` [net-next 10/15] net/mlx5e: meter, refactor to allow multiple post meter tables Saeed Mahameed
2022-12-09 0:14 ` [net-next 11/15] net/mlx5e: meter, add mtu " Saeed Mahameed
2022-12-09 0:14 ` [net-next 12/15] net/mlx5e: TC, add support for meter mtu offload Saeed Mahameed
2022-12-09 0:14 ` [net-next 13/15] net/mlx5e: multipath, support routes with more than 2 nexthops Saeed Mahameed
2022-12-09 0:14 ` [net-next 14/15] net/mlx5: Refactor and expand rep vport stat group Saeed Mahameed
2022-12-09 0:14 ` [net-next 15/15] net/mlx5: Expose steering dropped packets counter Saeed Mahameed
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=20221209001420.142794-1-saeed@kernel.org \
--to=saeed@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=tariqt@nvidia.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.