[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c575ff8db3e5f4f53b67fe820d5e0af767a78af8.camel@nvidia.com>
Date: Fri, 11 Jul 2025 12:57:24 +0000
From: Cosmin Ratiu <cratiu@...dia.com>
To: "corbet@....net" <corbet@....net>, "andrew+netdev@...n.ch"
<andrew+netdev@...n.ch>, "davem@...emloft.net" <davem@...emloft.net>,
"kuba@...nel.org" <kuba@...nel.org>, "horms@...nel.org" <horms@...nel.org>,
"daniel.zahka@...il.com" <daniel.zahka@...il.com>, "edumazet@...gle.com"
<edumazet@...gle.com>, "donald.hunter@...il.com" <donald.hunter@...il.com>,
"pabeni@...hat.com" <pabeni@...hat.com>
CC: Boris Pismenny <borisp@...dia.com>, Jianbo Liu <jianbol@...dia.com>,
"aleksander.lobakin@...el.com" <aleksander.lobakin@...el.com>,
"kuniyu@...gle.com" <kuniyu@...gle.com>, "leon@...nel.org" <leon@...nel.org>,
"toke@...hat.com" <toke@...hat.com>, Rahul Rameshbabu
<rrameshbabu@...dia.com>, "willemb@...gle.com" <willemb@...gle.com>, Raed
Salem <raeds@...dia.com>, Dragos Tatulea <dtatulea@...dia.com>,
"ncardwell@...gle.com" <ncardwell@...gle.com>, "dsahern@...nel.org"
<dsahern@...nel.org>, "sdf@...ichev.me" <sdf@...ichev.me>, Saeed Mahameed
<saeedm@...dia.com>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>, Tariq
Toukan <tariqt@...dia.com>, Patrisious Haddad <phaddad@...dia.com>,
"jacob.e.keller@...el.com" <jacob.e.keller@...el.com>
Subject: Re: [PATCH v3 12/19] net/mlx5e: Implement PSP operations .assoc_add
and .assoc_del
On Wed, 2025-07-02 at 10:13 -0700, Daniel Zahka wrote:
> From: Raed Salem <raeds@...dia.com>
>
> Implement .assoc_add and .assoc_del PSP operations used in the tx
> control
> path. Allocate the relevant hardware resources when a new key is
> registered
> using .assoc_add. Destroy the key when .assoc_del is called. Use a
> atomic
> counter to keep track of the current number of keys being used by the
> device.
>
> Signed-off-by: Raed Salem <raeds@...dia.com>
> Signed-off-by: Rahul Rameshbabu <rrameshbabu@...dia.com>
> Signed-off-by: Daniel Zahka <daniel.zahka@...il.com>
> ---
>
> Notes:
> v1:
> -
> https://lore.kernel.org/netdev/20240510030435.120935-11-kuba@kernel.org/
>
> .../net/ethernet/mellanox/mlx5/core/Makefile | 2 +-
> .../mellanox/mlx5/core/en_accel/en_accel.h | 8 +
> .../mellanox/mlx5/core/en_accel/psp.c | 55 ++++-
> .../mellanox/mlx5/core/en_accel/psp.h | 2 +
> .../mellanox/mlx5/core/en_accel/psp_fs.c | 233
> ++++++++++++++++++
> .../mellanox/mlx5/core/en_accel/psp_fs.h | 23 ++
> .../net/ethernet/mellanox/mlx5/core/en_main.c | 10 +-
> .../ethernet/mellanox/mlx5/core/lib/crypto.h | 1 +
> 8 files changed, 325 insertions(+), 9 deletions(-)
> create mode 100644
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp_fs.c
> create mode 100644
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp_fs.h
>
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/Makefile
> b/drivers/net/ethernet/mellanox/mlx5/core/Makefile
> index e27de74ef028..5d2783f2e82f 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/Makefile
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/Makefile
> @@ -110,7 +110,7 @@ mlx5_core-$(CONFIG_MLX5_EN_TLS) +=
> en_accel/ktls_stats.o \
> en_accel/fs_tcp.o en_accel/ktls.o
> en_accel/ktls_txrx.o \
> en_accel/ktls_tx.o
> en_accel/ktls_rx.o
>
> -mlx5_core-$(CONFIG_MLX5_EN_PSP) += en_accel/psp.o
> en_accel/psp_offload.o
> +mlx5_core-$(CONFIG_MLX5_EN_PSP) += en_accel/psp.o
> en_accel/psp_offload.o en_accel/psp_fs.o
>
> #
> # SW Steering
> diff --git
> a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h
> b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h
> index 33e32584b07f..bd990e7a6a79 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h
> @@ -42,6 +42,7 @@
> #include <en_accel/macsec.h>
> #include "en.h"
> #include "en/txrx.h"
> +#include "en_accel/psp_fs.h"
>
> #if IS_ENABLED(CONFIG_GENEVE)
> #include <net/geneve.h>
> @@ -218,11 +219,18 @@ static inline void
> mlx5e_accel_cleanup_rx(struct mlx5e_priv *priv)
>
> static inline int mlx5e_accel_init_tx(struct mlx5e_priv *priv)
> {
> + int err;
> +
> + err = mlx5_accel_psp_fs_init_tx_tables(priv);
> + if (err)
> + return err;
> +
> return mlx5e_ktls_init_tx(priv);
> }
>
> static inline void mlx5e_accel_cleanup_tx(struct mlx5e_priv *priv)
> {
> mlx5e_ktls_cleanup_tx(priv);
> + mlx5_accel_psp_fs_cleanup_tx_tables(priv);
> }
> #endif /* __MLX5E_EN_ACCEL_H__ */
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
> b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
> index 482e2cdabdae..fb2b7e4e2f06 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c
> @@ -7,6 +7,12 @@
> #include "psp.h"
> #include "lib/crypto.h"
> #include "en_accel/psp.h"
> +#include "en_accel/psp_fs.h"
> +
> +struct mlx5e_psp_sa_entry {
> + struct mlx5e_accel_psp_rule *psp_rule;
> + u32 enc_key_id;
> +};
This is unused, please remove. It's probably a leftover from previous
versions.
Powered by blists - more mailing lists