From: Jakub Kicinski Date: Sat, 13 Jun 2026 01:31:35 +0000 (-0700) Subject: Merge branch 'psp-add-support-for-dev-assoc-disassoc' X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5184fd34214fffa6316cee4f90179cf43d956c39;p=thirdparty%2Flinux.git Merge branch 'psp-add-support-for-dev-assoc-disassoc' Wei Wang says: ==================== psp: Add support for dev-assoc/disassoc The main purpose of this feature is to associate virtual devices like veth or netkit with a real PSP device, so we could provide PSP functionality to the application running with virtual devices. A typical deployment that works with this feature is as follows: Host Namespace: psp_dev_local ←──physically linked──→ psp_dev_peer (PSP device) │ │ BPF on psp_dev_local ingress: bpf_redirect_peer() to nk_guest │ nk_host / veth_host │ │ BPF on nk_host ingress: bpf_redirect_neigh() to psp_dev_local │ Guest Namespace (netns): │ nk_guest / veth_guest ★ PSP application run here Remote Namespace (_netns): psp_dev_peer ★ PSP server application runs here Note: The general requirement for this feature to work: For PSP to work correctly, the egress device at validate_xmit_skb() time must have psp_dev matching the association's psd. Any device stacking or traffic redirection that changes the egress device will cause either: 1. TX validation failure (SKB_DROP_REASON_PSP_OUTPUT) - fail-safe 2. RX policy failure after tx-assoc - packets without PSP extension are rejected by receiver expecting encrypted traffic Here are a few examples that this feature would not work: - Bonding with load balancing in round-robin, XOR, 802.3ad mode across multiple PSP devices, or mixed PSP and non-PSP devices - Bonding with active-backup mode might work without PSP migration for failover case. - ipvlan/macvlan in bridge mode would not work given packets are loopbacked locally without going through the PSP device. ==================== Link: https://patch.msgid.link/20260608233118.2694144-1-weibunny.kernel@gmail.com Signed-off-by: Jakub Kicinski --- 5184fd34214fffa6316cee4f90179cf43d956c39