From: Daniel Zahka <daniel.zahka@gmail.com>
To: Cosmin Ratiu <cratiu@nvidia.com>,
"corbet@lwn.net" <corbet@lwn.net>,
"andrew+netdev@lunn.ch" <andrew+netdev@lunn.ch>,
"davem@davemloft.net" <davem@davemloft.net>,
"kuba@kernel.org" <kuba@kernel.org>,
"horms@kernel.org" <horms@kernel.org>,
"edumazet@google.com" <edumazet@google.com>,
"donald.hunter@gmail.com" <donald.hunter@gmail.com>,
"pabeni@redhat.com" <pabeni@redhat.com>
Cc: Boris Pismenny <borisp@nvidia.com>,
Jianbo Liu <jianbol@nvidia.com>,
"aleksander.lobakin@intel.com" <aleksander.lobakin@intel.com>,
"kuniyu@google.com" <kuniyu@google.com>,
"leon@kernel.org" <leon@kernel.org>,
"toke@redhat.com" <toke@redhat.com>,
Rahul Rameshbabu <rrameshbabu@nvidia.com>,
"willemb@google.com" <willemb@google.com>,
Raed Salem <raeds@nvidia.com>,
Dragos Tatulea <dtatulea@nvidia.com>,
"ncardwell@google.com" <ncardwell@google.com>,
"dsahern@kernel.org" <dsahern@kernel.org>,
"sdf@fomichev.me" <sdf@fomichev.me>,
Saeed Mahameed <saeedm@nvidia.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
Tariq Toukan <tariqt@nvidia.com>,
Patrisious Haddad <phaddad@nvidia.com>,
"jacob.e.keller@intel.com" <jacob.e.keller@intel.com>
Subject: Re: [PATCH v3 11/19] net/mlx5e: Support PSP offload functionality
Date: Fri, 11 Jul 2025 13:41:23 -0400 [thread overview]
Message-ID: <061ab5b3-55e2-47bc-8515-3f6b8b4ecbf2@gmail.com> (raw)
In-Reply-To: <0e7d382ad191c19aed123ff0c2bdda7bbeb5268f.camel@nvidia.com>
On 7/11/25 8:54 AM, Cosmin Ratiu wrote:
> int mlx5e_psp_generate_key_spi(struct mlx5_core_dev *mdev,
> enum mlx5_psp_gen_spi_in_key_size
> keysz,
> unsigned int keysz_bytes,
> - struct psp_key_spi *keys)
> + struct psp_key_parsed *key)
> {
> + u32 out[MLX5_ST_SZ_DW(psp_gen_spi_out) +
> MLX5_ST_SZ_DW(key_spi)] = {};
> u32 in[MLX5_ST_SZ_DW(psp_gen_spi_in)] = {};
> - int err, outlen, i;
> - void *out, *outkey;
> + void *outkey;
> + int err;
>
> WARN_ON_ONCE(keysz_bytes > PSP_MAX_KEY);
>
> - outlen = MLX5_ST_SZ_BYTES(psp_gen_spi_out) +
> MLX5_ST_SZ_BYTES(key_spi);
> - out = kzalloc(outlen, GFP_KERNEL);
> - if (!out)
> - return -ENOMEM;
> -
> MLX5_SET(psp_gen_spi_in, in, opcode, MLX5_CMD_OP_PSP_GEN_SPI);
> MLX5_SET(psp_gen_spi_in, in, key_size, keysz);
> MLX5_SET(psp_gen_spi_in, in, num_of_spi, 1);
> - err = mlx5_cmd_exec(mdev, in, sizeof(in), out, outlen);
> + err = mlx5_cmd_exec(mdev, in, sizeof(in), out, sizeof(out));
> if (err)
> - goto out;
> + return err;
>
> outkey = MLX5_ADDR_OF(psp_gen_spi_out, out, key_spi);
> - keys->keysz = keysz_bytes * BITS_PER_BYTE;
> - keys->spi = MLX5_GET(key_spi, outkey, spi);
> - for (i = 0; i < keysz_bytes / sizeof(*keys->key); ++i)
> - keys->key[i] = cpu_to_be32(MLX5_GET(key_spi,
> - outkey + (32 -
> keysz_bytes), key[i]));
> -
> -out:
> - kfree(out);
> - return err;
> + key->spi = cpu_to_be32(MLX5_GET(key_spi, outkey, spi));
> + memcpy(key->key, MLX5_ADDR_OF(key_spi, outkey, key),
> keysz_bytes);
> +
>
Thanks for the updates, Cosmin. I did notice a small problem after
applying these, where v1 keys were ok, but not v0. This seems to fix it
for me, but it was a bit of a guess. Let me know what the proper
adjustment is:
outkey = MLX5_ADDR_OF(psp_gen_spi_out, out, key_spi);
key->spi = cpu_to_be32(MLX5_GET(key_spi, outkey, spi));
- memcpy(key->key, MLX5_ADDR_OF(key_spi, outkey, key), keysz_bytes);
+ memcpy(key->key, MLX5_ADDR_OF(key_spi, outkey, key) + (32 -
keysz_bytes), keysz_bytes);
next prev parent reply other threads:[~2025-07-11 17:41 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-02 17:13 [PATCH v3 00/19] add basic PSP encryption for TCP connections Daniel Zahka
2025-07-02 17:13 ` [PATCH v3 01/19] psp: add documentation Daniel Zahka
2025-07-06 14:46 ` Willem de Bruijn
2025-07-02 17:13 ` [PATCH v3 02/19] psp: base PSP device support Daniel Zahka
2025-07-06 15:31 ` Willem de Bruijn
2025-07-07 21:02 ` Jakub Kicinski
2025-07-08 1:08 ` Willem de Bruijn
2025-07-02 17:13 ` [PATCH v3 03/19] net: modify core data structures for PSP datapath support Daniel Zahka
2025-07-06 15:59 ` Willem de Bruijn
2025-07-02 17:13 ` [PATCH v3 04/19] tcp: add datapath logic for PSP with inline key exchange Daniel Zahka
2025-07-06 16:16 ` Willem de Bruijn
2025-07-07 18:12 ` Daniel Zahka
2025-07-08 1:11 ` Willem de Bruijn
2025-07-10 11:58 ` Daniel Zahka
2025-07-10 13:57 ` Willem de Bruijn
2025-07-02 17:13 ` [PATCH v3 05/19] psp: add op for rotation of device key Daniel Zahka
2025-07-06 16:17 ` Willem de Bruijn
2025-07-02 17:13 ` [PATCH v3 06/19] net: move sk_validate_xmit_skb() to net/core/dev.c Daniel Zahka
2025-07-06 16:20 ` Willem de Bruijn
2025-07-02 17:13 ` [PATCH v3 07/19] net: tcp: allow tcp_timewait_sock to validate skbs before handing to device Daniel Zahka
2025-07-06 16:23 ` Willem de Bruijn
2025-07-02 17:13 ` [PATCH v3 08/19] net: psp: add socket security association code Daniel Zahka
2025-07-06 16:47 ` Willem de Bruijn
2025-07-07 21:10 ` Jakub Kicinski
2025-07-14 15:10 ` Daniel Zahka
2025-07-07 21:20 ` Jakub Kicinski
2025-07-02 17:13 ` [PATCH v3 09/19] net: psp: update the TCP MSS to reflect PSP packet overhead Daniel Zahka
2025-07-06 16:49 ` Willem de Bruijn
2025-07-06 17:15 ` Willem de Bruijn
2025-07-02 17:13 ` [PATCH v3 10/19] psp: track generations of device key Daniel Zahka
2025-07-06 16:56 ` Willem de Bruijn
2025-07-07 21:19 ` Jakub Kicinski
2025-07-08 1:06 ` Willem de Bruijn
2025-07-02 17:13 ` [PATCH v3 11/19] net/mlx5e: Support PSP offload functionality Daniel Zahka
2025-07-11 12:54 ` Cosmin Ratiu
2025-07-11 17:41 ` Daniel Zahka [this message]
2025-07-02 17:13 ` [PATCH v3 12/19] net/mlx5e: Implement PSP operations .assoc_add and .assoc_del Daniel Zahka
2025-07-11 12:57 ` Cosmin Ratiu
2025-07-02 17:13 ` [PATCH v3 13/19] psp: provide encapsulation helper for drivers Daniel Zahka
2025-07-06 16:59 ` Willem de Bruijn
2025-07-02 17:13 ` [PATCH v3 14/19] net/mlx5e: Implement PSP Tx data path Daniel Zahka
2025-07-11 13:06 ` Cosmin Ratiu
2025-07-02 17:13 ` [PATCH v3 15/19] net/mlx5e: Add PSP steering in local NIC RX Daniel Zahka
2025-07-11 12:59 ` Cosmin Ratiu
2025-07-02 17:13 ` [PATCH v3 16/19] net/mlx5e: Configure PSP Rx flow steering rules Daniel Zahka
2025-07-02 17:13 ` [PATCH v3 17/19] psp: provide decapsulation and receive helper for drivers Daniel Zahka
2025-07-06 17:07 ` Willem de Bruijn
2025-07-02 17:13 ` [PATCH v3 18/19] net/mlx5e: Add Rx data path offload Daniel Zahka
2025-07-11 13:01 ` Cosmin Ratiu
2025-07-02 17:13 ` [PATCH v3 19/19] net/mlx5e: Implement PSP key_rotate operation Daniel Zahka
2025-07-03 13:30 ` [PATCH v3 00/19] add basic PSP encryption for TCP connections Tariq Toukan
2025-07-11 13:11 ` Cosmin Ratiu
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=061ab5b3-55e2-47bc-8515-3f6b8b4ecbf2@gmail.com \
--to=daniel.zahka@gmail.com \
--cc=aleksander.lobakin@intel.com \
--cc=andrew+netdev@lunn.ch \
--cc=borisp@nvidia.com \
--cc=corbet@lwn.net \
--cc=cratiu@nvidia.com \
--cc=davem@davemloft.net \
--cc=donald.hunter@gmail.com \
--cc=dsahern@kernel.org \
--cc=dtatulea@nvidia.com \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=jacob.e.keller@intel.com \
--cc=jianbol@nvidia.com \
--cc=kuba@kernel.org \
--cc=kuniyu@google.com \
--cc=leon@kernel.org \
--cc=ncardwell@google.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=phaddad@nvidia.com \
--cc=raeds@nvidia.com \
--cc=rrameshbabu@nvidia.com \
--cc=saeedm@nvidia.com \
--cc=sdf@fomichev.me \
--cc=tariqt@nvidia.com \
--cc=toke@redhat.com \
--cc=willemb@google.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 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).