[net-next, v2 0/2] psp: Support PSP Tx on logical devices like VLAN

From: Kiran Kella

Date: Mon Feb 23 2026 - 14:28:19 EST


This patch adds support to allow transmit if the bottom most underlying
transport device matches the PSP device associated with the
transmitting application socket.

python ./psp.py
TAP version 13
1..29
ok 1 psp.data_basic_send_v0_ip4
ok 2 psp.data_basic_send_v0_ip6
ok 3 psp.data_basic_send_v1_ip4
ok 4 psp.data_basic_send_v1_ip6
ok 5 psp.data_basic_send_v2_ip4
ok 6 psp.data_basic_send_v2_ip6
ok 7 psp.data_basic_send_v3_ip4
ok 8 psp.data_basic_send_v3_ip6
ok 9 psp.data_mss_adjust_ip4
ok 10 psp.data_mss_adjust_ip6
ok 11 psp.dev_list_devices
ok 12 psp.dev_get_device
ok 13 psp.dev_get_device_bad
ok 14 psp.dev_rotate
ok 15 psp.dev_rotate_spi
ok 16 psp.assoc_basic
ok 17 psp.assoc_bad_dev
ok 18 psp.assoc_sk_only_conn
ok 19 psp.assoc_sk_only_mismatch
ok 20 psp.assoc_sk_only_mismatch_tx
ok 21 psp.assoc_sk_only_unconn
ok 22 psp.assoc_version_mismatch
ok 23 psp.assoc_twice
ok 24 psp.data_send_bad_key
ok 25 psp.data_send_disconnect
ok 26 psp.data_stale_key
ok 27 psp.removal_device_rx
ok 28 psp.removal_device_bi
ok 29 psp.vlan_basic_send
# Totals: pass:29 fail:0 xfail:0 xpass:0 skip:0 error:0
#
# Responder logs (0):
# STDERR:
# # Set PSP enable on device 3 to 0xf
# # Set PSP enable on device 3 to 0x0

CHANGES:
v2:
- Simplified the psp_netdevice_event() to return if the upper device is
bond device.
- Handle the scenario where the psp_dev_unregister() is invoked by a
driver before the unregister_netdev() that can result in stale
psp_dev pointer in the upper devices.
- Fix the vlan_basic_send test to run on any lower device and not
require nsim.

v1: https://lore.kernel.org/all/20260121073517.3323332-1-kiran.kella@xxxxxxxxxxxx/

Kiran Kella (2):
psp: Support for transmit on logical device when the underlying
transport device supports PSP.
selftests: drv-net: psp: add test for VLAN sub-interface

net/psp/psp_main.c | 109 ++++++++++++++++++++-
tools/testing/selftests/drivers/net/psp.py | 86 +++++++++++++++-
2 files changed, 193 insertions(+), 2 deletions(-)

--
2.45.4