netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Saeed Mahameed <saeed@kernel.org>
To: Daniel Zahka <daniel.zahka@gmail.com>
Cc: "Donald Hunter" <donald.hunter@gmail.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	"Eric Dumazet" <edumazet@google.com>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Simon Horman" <horms@kernel.org>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Andrew Lunn" <andrew+netdev@lunn.ch>,
	"Saeed Mahameed" <saeedm@nvidia.com>,
	"Leon Romanovsky" <leon@kernel.org>,
	"Tariq Toukan" <tariqt@nvidia.com>,
	"Boris Pismenny" <borisp@nvidia.com>,
	"Kuniyuki Iwashima" <kuniyu@google.com>,
	"Willem de Bruijn" <willemb@google.com>,
	"David Ahern" <dsahern@kernel.org>,
	"Neal Cardwell" <ncardwell@google.com>,
	"Patrisious Haddad" <phaddad@nvidia.com>,
	"Raed Salem" <raeds@nvidia.com>,
	"Jianbo Liu" <jianbol@nvidia.com>,
	"Dragos Tatulea" <dtatulea@nvidia.com>,
	"Rahul Rameshbabu" <rrameshbabu@nvidia.com>,
	"Stanislav Fomichev" <sdf@fomichev.me>,
	"Toke Høiland-Jørgensen" <toke@redhat.com>,
	"Alexander Lobakin" <aleksander.lobakin@intel.com>,
	"Kiran Kella" <kiran.kella@broadcom.com>,
	"Jacob Keller" <jacob.e.keller@intel.com>,
	netdev@vger.kernel.org
Subject: Re: [PATCH net-next v10 00/19] add basic PSP encryption for TCP connections
Date: Tue, 2 Sep 2025 12:41:05 -0700	[thread overview]
Message-ID: <aLdIUZbwF83DbUiv@x130> (raw)
In-Reply-To: <20250828162953.2707727-1-daniel.zahka@gmail.com>

On 28 Aug 09:29, Daniel Zahka wrote:
>This is v10 of the PSP RFC [1] posted by Jakub Kicinski one year
>ago. General developments since v1 include a fork of packetdrill [2]
>with support for PSP added, as well as some test cases, and an
>implementation of PSP key exchange and connection upgrade [3]
>integrated into the fbthrift RPC library. Both [2] and [3] have been
>tested on server platforms with PSP-capable CX7 NICs. Below is the
>cover letter from the original RFC:
>
>Add support for PSP encryption of TCP connections.
>

[...]

>Raed Salem (9):
>  net/mlx5e: Support PSP offload functionality
>  net/mlx5e: Implement PSP operations .assoc_add and .assoc_del
>  psp: provide encapsulation helper for drivers
>  net/mlx5e: Implement PSP Tx data path
>  net/mlx5e: Add PSP steering in local NIC RX
>  net/mlx5e: Configure PSP Rx flow steering rules
>  psp: provide decapsulation and receive helper for drivers
>  net/mlx5e: Add Rx data path offload
>  net/mlx5e: Implement PSP key_rotate operation
>

[...]

> .../mellanox/mlx5/core/en_accel/psp.c         | 195 +++++
> .../mellanox/mlx5/core/en_accel/psp.h         |  49 ++
> .../mellanox/mlx5/core/en_accel/psp_fs.c      | 736 ++++++++++++++++++
> .../mellanox/mlx5/core/en_accel/psp_fs.h      |  30 +
> .../mellanox/mlx5/core/en_accel/psp_offload.c |  44 ++

A bit too much control path files, psp_offload.c holds only two level
functions for key management and rotation, while psp_fs is.c implementing the 
flow steering part and psp.c is the netdev API facing implementation,
do we really need three files ? You can sparate the logic inside one file
by bottom up design rather than 3 split files.
psp is a well defined protocol, I don't expect it to scale larger than a
1-2k lines of code in mlx5, so let's keep it simple, just consolidate all
files into one en_accel/psp.{c,h} and leave rxtx.c data path separate.

Also As Jakub pointed out on V7, mlx5_ifc changes need to be separated into
own patch, "net/mlx5e: Support PSP offload functionality" need to split at
the point where we cache ps caps on driver load, so main.c and mlx5_if.c in
that patch have to go into own patch and then pulled into mlx5-next branch
to avoid any conflict. Let me know if you need any assistance.


> .../mellanox/mlx5/core/en_accel/psp_rxtx.c    | 200 +++++
> .../mellanox/mlx5/core/en_accel/psp_rxtx.h    | 121 +++
> .../net/ethernet/mellanox/mlx5/core/en_main.c |   9 +
> .../net/ethernet/mellanox/mlx5/core/en_rx.c   |  49 +-
> .../net/ethernet/mellanox/mlx5/core/en_tx.c   |  10 +-
> drivers/net/ethernet/mellanox/mlx5/core/fw.c  |   6 +
> .../ethernet/mellanox/mlx5/core/lib/crypto.h  |   1 +
> .../net/ethernet/mellanox/mlx5/core/main.c    |   1 +
> .../mellanox/mlx5/core/steering/hws/definer.c |   2 +-


  parent reply	other threads:[~2025-09-02 19:41 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-28 16:29 [PATCH net-next v10 00/19] add basic PSP encryption for TCP connections Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 01/19] psp: add documentation Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 02/19] psp: base PSP device support Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 03/19] net: modify core data structures for PSP datapath support Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 04/19] tcp: add datapath logic for PSP with inline key exchange Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 05/19] psp: add op for rotation of device key Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 06/19] net: move sk_validate_xmit_skb() to net/core/dev.c Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 07/19] net: tcp: allow tcp_timewait_sock to validate skbs before handing to device Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 08/19] net: psp: add socket security association code Daniel Zahka
2025-09-02 10:43   ` Paolo Abeni
2025-09-03  2:58     ` Daniel Zahka
2025-09-03  8:57       ` Paolo Abeni
2025-09-02 13:13   ` Paolo Abeni
2025-08-28 16:29 ` [PATCH net-next v10 09/19] net: psp: update the TCP MSS to reflect PSP packet overhead Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 10/19] psp: track generations of device key Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 11/19] net/mlx5e: Support PSP offload functionality Daniel Zahka
2025-09-03  6:05   ` Saeed Mahameed
2025-08-28 16:29 ` [PATCH net-next v10 12/19] net/mlx5e: Implement PSP operations .assoc_add and .assoc_del Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 13/19] psp: provide encapsulation helper for drivers Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 14/19] net/mlx5e: Implement PSP Tx data path Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 15/19] net/mlx5e: Add PSP steering in local NIC RX Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 16/19] net/mlx5e: Configure PSP Rx flow steering rules Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 17/19] psp: provide decapsulation and receive helper for drivers Daniel Zahka
2025-09-02 10:28   ` Paolo Abeni
2025-09-03  3:10     ` Daniel Zahka
2025-09-03  9:01       ` Paolo Abeni
2025-08-28 16:29 ` [PATCH net-next v10 18/19] net/mlx5e: Add Rx data path offload Daniel Zahka
2025-08-28 16:29 ` [PATCH net-next v10 19/19] net/mlx5e: Implement PSP key_rotate operation Daniel Zahka
2025-09-02 19:41 ` Saeed Mahameed [this message]
2025-09-02 20:08   ` [PATCH net-next v10 00/19] add basic PSP encryption for TCP connections Jakub Kicinski
2025-09-03  2:47     ` Saeed Mahameed
2025-09-03 22:32       ` Jakub Kicinski
2025-09-03 15:51   ` Daniel Zahka
2025-09-03 22:26     ` 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=aLdIUZbwF83DbUiv@x130 \
    --to=saeed@kernel.org \
    --cc=aleksander.lobakin@intel.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=borisp@nvidia.com \
    --cc=corbet@lwn.net \
    --cc=daniel.zahka@gmail.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=kiran.kella@broadcom.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).