Re: [PATCH net-next v13 0/3] STP/RSTP SWITCH support for PRU-ICSSM Ethernet driver
From: Simon Horman <horms@kernel.org>
Date: 2026-02-04 16:33:17
Also in:
linux-arm-kernel, lkml
On Fri, Jan 30, 2026 at 06:13:42PM +0530, Parvathi Pudi wrote:
Hi, The DUAL-EMAC patch series for Megabit Industrial Communication Sub-system (ICSSM), which provides the foundational support for Ethernet functionality over PRU-ICSS on the TI SOCs (AM335x, AM437x, and AM57x), was merged into net-next recently [1]. This patch series enhances the PRU-ICSSM Ethernet driver to support bridge (STP/RSTP) SWITCH mode, which has been implemented using the "switchdev" framework and interacts with the "mstp daemon" for STP and RSTP management in userspace. When the SWITCH mode is enabled, forwarding of Ethernet packets using either the traditional store-and-forward mechanism or via cut-through is offloaded to the two PRU based Ethernet interfaces available within the ICSSM. The firmware running on the PRU inspects the bridge port states and performs necessary checks before forwarding a packet. This improves the overall system performance and significantly reduces the packet forwarding latency. Protocol switching from Dual-EMAC to bridge (STP/RSTP) SWITCH mode can be done as follows. Assuming eth2 and eth3 are the two physical ports of the ICSS2 instance:quoted
quoted
brctl addbr br0 ip maddr add 01:80:c2:00:00:00 dev br0 ip link set dev br0 address $(cat /sys/class/net/eth2/address) brctl addif br0 eth2 brctl addif br0 eth3 mstpd brctl stp br0 on# STP to RSTP modequoted
quoted
mstpctl setforcevers br0 rstp ip link set dev br0 upTo revert back to the default dual EMAC mode, the steps are as follows:quoted
quoted
ip link set dev br0 down brctl delif br0 eth2 brctl delif br0 eth3 brctl delbr br0The patches presented in this series have gone through the patch verification tools and no warnings or errors are reported. Sample test logs obtained from AM33x, AM43x and AM57x verifying the functionality on Linux next kernel are available here: [Interface up Testing](https://gist.github.com/ParvathiPudi/91b05f4e6d69d72f55ddd4e95301ab20) [Ping Testing](https://gist.github.com/ParvathiPudi/9e7573ea85ef72a3ebcbdb4c902f3b8a) [Iperf Testing](https://gist.github.com/ParvathiPudi/30abedf115aba19542e0156486766553) [1] https://lore.kernel.org/all/20250912104741.528721-1-parvathi@couthit.com/ (local) This is the v13 of the patch series [v1]. This version of the patchset addresses the comments made on [v12] of the series. Changes from v12 to v13: *) Reverted the use of kmalloc_obj() and kzalloc_obj() back to kmalloc() and kzalloc(), since the corresponding changes are not reflected in the net-next branch. *) Addressed AI review warnings on patch 3 of the series. *) Rebased the series on latest net-next.
Thanks, I notice that this series has been marked as Changes Requested in Patchwork. But overall it looks good to me. Feel free to add the following for the series: Reviewed-by: Simon Horman <horms@kernel.org>