From: Petr Machata <petrm@nvidia.com>
To: "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
<netdev@vger.kernel.org>
Cc: Ido Schimmel <idosch@nvidia.com>, Petr Machata <petrm@nvidia.com>,
"David Ahern" <dsahern@kernel.org>, Shuah Khan <shuah@kernel.org>,
<mlxsw@nvidia.com>
Subject: [PATCH net-next 00/11] mlxsw: Support for nexthop group statistics
Date: Fri, 8 Mar 2024 13:59:44 +0100 [thread overview]
Message-ID: <cover.1709901020.git.petrm@nvidia.com> (raw)
ECMP is a fundamental component in L3 designs. However, it's fragile. Many
factors influence whether an ECMP group will operate as intended: hash
policy (i.e. the set of fields that contribute to ECMP hash calculation),
neighbor validity, hash seed (which might lead to polarization) or the type
of ECMP group used (hash-threshold or resilient).
At the same time, collection of statistics that would help an operator
determine that the group performs as desired, is difficult.
Support for nexthop group statistics and their HW collection has been
introduced recently. In this patch set, add HW stats collection support
to mlxsw.
This patchset progresses as follows:
- Patches #1 and #2 add nexthop IDs to notifiers.
- Patches #3 and #4 are code-shaping.
- Patches #5, #6 and #7 adjust the flow counter code.
- Patches #8 and #9 add HW nexthop counters.
- Patch #10 adjusts the HW counter code to allow sharing the same counter
for several resilient group buckets with the same NH ID.
- Patch #11 adds a selftest.
Petr Machata (11):
net: nexthop: Initialize NH group ID in resilient NH group notifiers
net: nexthop: Have all NH notifiers carry NH ID
mlxsw: spectrum_router: Rename two functions
mlxsw: spectrum_router: Have mlxsw_sp_nexthop_counter_enable() return
int
mlxsw: spectrum: Allow fetch-and-clear of flow counters
mlxsw: spectrum_router: Avoid allocating NH counters twice
mlxsw: spectrum_router: Add helpers for nexthop counters
mlxsw: spectrum_router: Track NH ID's of group members
mlxsw: spectrum_router: Support nexthop group hardware statistics
mlxsw: spectrum_router: Share nexthop counters in resilient groups
selftests: forwarding: Add a test for NH group stats
.../net/ethernet/mellanox/mlxsw/spectrum.c | 8 +-
.../net/ethernet/mellanox/mlxsw/spectrum.h | 4 +-
.../ethernet/mellanox/mlxsw/spectrum_acl.c | 2 +-
.../ethernet/mellanox/mlxsw/spectrum_dpipe.c | 22 +-
.../mellanox/mlxsw/spectrum_mr_tcam.c | 2 +-
.../ethernet/mellanox/mlxsw/spectrum_router.c | 312 ++++++++++++++++--
.../ethernet/mellanox/mlxsw/spectrum_router.h | 6 +-
include/net/nexthop.h | 2 +-
net/ipv4/nexthop.c | 3 +-
.../testing/selftests/net/forwarding/Makefile | 1 +
tools/testing/selftests/net/forwarding/lib.sh | 34 ++
.../net/forwarding/router_mpath_nh.sh | 13 +
.../net/forwarding/router_mpath_nh_lib.sh | 129 ++++++++
.../net/forwarding/router_mpath_nh_res.sh | 13 +
14 files changed, 505 insertions(+), 46 deletions(-)
create mode 100644 tools/testing/selftests/net/forwarding/router_mpath_nh_lib.sh
--
2.43.0
next reply other threads:[~2024-03-08 13:02 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-08 12:59 Petr Machata [this message]
2024-03-08 12:59 ` [PATCH net-next 01/11] net: nexthop: Initialize NH group ID in resilient NH group notifiers Petr Machata
2024-03-08 12:59 ` [PATCH net-next 02/11] net: nexthop: Have all NH notifiers carry NH ID Petr Machata
2024-03-08 12:59 ` [PATCH net-next 03/11] mlxsw: spectrum_router: Rename two functions Petr Machata
2024-03-08 12:59 ` [PATCH net-next 04/11] mlxsw: spectrum_router: Have mlxsw_sp_nexthop_counter_enable() return int Petr Machata
2024-03-08 12:59 ` [PATCH net-next 05/11] mlxsw: spectrum: Allow fetch-and-clear of flow counters Petr Machata
2024-03-08 12:59 ` [PATCH net-next 06/11] mlxsw: spectrum_router: Avoid allocating NH counters twice Petr Machata
2024-03-08 12:59 ` [PATCH net-next 07/11] mlxsw: spectrum_router: Add helpers for nexthop counters Petr Machata
2024-03-08 12:59 ` [PATCH net-next 08/11] mlxsw: spectrum_router: Track NH ID's of group members Petr Machata
2024-03-08 12:59 ` [PATCH net-next 09/11] mlxsw: spectrum_router: Support nexthop group hardware statistics Petr Machata
2024-03-08 12:59 ` [PATCH net-next 10/11] mlxsw: spectrum_router: Share nexthop counters in resilient groups Petr Machata
2024-03-08 12:59 ` [PATCH net-next 11/11] selftests: forwarding: Add a test for NH group stats Petr Machata
2024-03-08 17:03 ` Jakub Kicinski
2024-03-08 22:31 ` Petr Machata
2024-03-09 3:48 ` Jakub Kicinski
2024-03-09 4:47 ` David Ahern
2024-03-11 10:59 ` Petr Machata
2024-03-11 11:00 ` Petr Machata
2024-03-11 15:59 ` Jakub Kicinski
2024-03-11 16:30 ` Petr Machata
2024-03-11 17:52 ` Jakub Kicinski
2024-03-11 22:00 ` [PATCH net-next 00/11] mlxsw: Support for nexthop group statistics patchwork-bot+netdevbpf
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=cover.1709901020.git.petrm@nvidia.com \
--to=petrm@nvidia.com \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=idosch@nvidia.com \
--cc=kuba@kernel.org \
--cc=mlxsw@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=shuah@kernel.org \
/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).