Re: [PATCH net-next 00/15] net/mlx5e: PSP cleanups and improvements
From: Cosmin Ratiu
Date: Wed Jul 08 2026 - 08:39:02 EST
On Tue, 2026-07-07 at 14:29 -0400, Daniel Zahka wrote:
>
> On 7/7/26 9:08 AM, Tariq Toukan wrote:
> > Hi,
> >
> > This series by Cosmin refactors mlx5 PSP support in preparation for
> > HW-GRO support.
> > There are almost no functionality changes in all but the last two
> > patches, which address a long-standing TODO in
> > mlx5e_psp_set_config().
> >
> > Regards,
> > Tariq
> >
> > Cosmin Ratiu (15):
> > net/mlx5e: psp: Rename the saved psp_dev to 'psd'
> > net/mlx5e: psp: Remove PSP steering mutexes
> > net/mlx5e: psp: Remove unneeded ref counting for PSP steering
> > net/mlx5e: psp: Merge rx_err rule add/delete with ft
> > create/delete
> > net/mlx5e: psp: Use helpers for steering object manipulation
> > net/mlx5e: psp: Factor out drop rule creation code
> > net/mlx5e: psp: Remove unused PSP syndrome copy action
> > net/mlx5e: psp: Rename and consolidate steering functions
> > net/mlx5e: psp: Adjust rx_check FT size and use a drop_group
> > net/mlx5e: psp: Add an RX steering table
> > net/mlx5e: psp: Use a single rx_check table
> > net/mlx5e: psp: Flatten steering structures
> > net/mlx5e: psp: Make PSP steering config dynamic
> > net/mlx5e: Return errors from profile->enable
> > net/mlx5e: psp: Report PSP dev registration errors
> >
> > drivers/net/ethernet/mellanox/mlx5/core/en.h | 2 +-
> > .../net/ethernet/mellanox/mlx5/core/en/fs.h | 7 +-
> > .../mellanox/mlx5/core/en_accel/en_accel.h | 19 +-
> > .../mellanox/mlx5/core/en_accel/psp.c | 1007 ++++++++----
> > -----
> > .../mellanox/mlx5/core/en_accel/psp.h | 18 +-
> > .../mellanox/mlx5/core/en_accel/psp_rxtx.c | 13 +-
> > .../mellanox/mlx5/core/en_accel/psp_rxtx.h | 3 +-
> > .../net/ethernet/mellanox/mlx5/core/en_main.c | 23 +-
> > .../net/ethernet/mellanox/mlx5/core/en_rep.c | 8 +-
> > 9 files changed, 516 insertions(+), 584 deletions(-)
> >
> >
> > base-commit: 31816fc5d9acf8cdf226cdd0dc296e8cf15cc033
>
> Thanks. Excited about the support for mlx5e_psp_set_config(). Jakub
> and
> I had a test case for psp_dev_ops::set_config() that we were waiting
> to
> upstream. I just rebased it onto net-next here:
> https://github.com/danieldzahka/linux/commit/b58e9a99573cf6b884e5fe3227c9af7a1f0d80b0
>
> I ran it with the series but am seeing an error trying to catch
> undecrypted PSP-UDP packets after disabling all versions with
> set_config()
>
> TAP version 13
> 1..30
> ok 1 psp.data_basic_send.v0_ip4 # SKIP Test requires IPv4
> connectivity
> ok 2 psp.data_basic_send.v0_ip6
> ok 3 psp.data_basic_send.v1_ip4 # SKIP Test requires IPv4
> connectivity
> ok 4 psp.data_basic_send.v1_ip6
> ok 5 psp.data_basic_send.v2_ip4 # SKIP Test requires IPv4
> connectivity
> ok 6 psp.data_basic_send.v2_ip6 # SKIP ('PSP version not supported',
> 'hdr0-aes-gmac-128')
> ok 7 psp.data_basic_send.v3_ip4 # SKIP Test requires IPv4
> connectivity
> ok 8 psp.data_basic_send.v3_ip6 # SKIP ('PSP version not supported',
> 'hdr0-aes-gmac-256')
> ok 9 psp.data_mss_adjust.ip4 # SKIP Test requires IPv4 connectivity
> ok 10 psp.data_mss_adjust.ip6
> ok 11 psp.data_send_off.ip4 # SKIP Test requires IPv4 connectivity
> # Exception| Traceback (most recent call last):
> # Exception| File "/root/ksft-psp-set-config/net/lib/py/ksft.py",
> line
> 420, in ksft_run
> # Exception| func(*args)
> # Exception| File "/root/./ksft-psp-set-config/drivers/net/psp.py",
> line 608, in data_send_off
> # Exception| udps.recv(8192, socket.MSG_DONTWAIT)
> # Exception| BlockingIOError: [Errno 11] Resource temporarily
> unavailable
> # Exception|
> not ok 12 psp.data_send_off.ip6
> ok 13 psp.dev_list_devices
> ok 14 psp.dev_get_device
> ok 15 psp.dev_get_device_bad
> ok 16 psp.dev_rotate
> ok 17 psp.dev_rotate_spi
> ok 18 psp.assoc_basic
> ok 19 psp.assoc_bad_dev
> ok 20 psp.assoc_sk_only_conn
> ok 21 psp.assoc_sk_only_mismatch
> ok 22 psp.assoc_sk_only_mismatch_tx
> ok 23 psp.assoc_sk_only_unconn
> ok 24 psp.assoc_version_mismatch
> ok 25 psp.assoc_twice
> ok 26 psp.data_send_bad_key
> ok 27 psp.data_send_disconnect
> ok 28 psp.data_stale_key
> ok 29 psp.removal_device_rx # XFAIL Test only works on netdevsim
> ok 30 psp.removal_device_bi # XFAIL Test only works on netdevsim
> # Totals: pass:19 fail:1 xfail:2 xpass:0 skip:8 error:0
> #
> # Responder logs (0):
> # STDERR:
> # # Set PSP enable on device 1 to 0x3
> # # Set PSP enable on device 1 to 0x0
>
> I recall this working on an earlier prototype of this feature for
> mlx5.
> Are the steering rules setup to drop PSP-UDP packets when the
> corresponding psp version is disabled?
>
We don't have per-psp version steering rules. If either version is
requested, steering rules are configured. When all versions are
disabled, steering rules are removed.
With no steering rules installed, UDP traffic should not be affected.
I will take the test and debug what's going on, and get back to you.
Cosmin.