All of lore.kernel.org
 help / color / mirror / Atom feed
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

             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.