Subject: Re: [PATCH net-next v13 0/3] STP/RSTP SWITCH support for PRU-ICSSM Ethernet driver

From: Simon Horman <[email-masked]>
Date: Wed, 4 Feb 2026 16:33:10 +0000

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:
> 
> >> 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 mode
> >> mstpctl setforcevers br0 rstp
> >> ip link set dev br0 up
> 
> To revert back to the default dual EMAC mode, the steps are as follows:
> 
> >> ip link set dev br0 down
> >> brctl delif br0 eth2
> >> brctl delif br0 eth3
> >> brctl delbr br0
> 
> The 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/[email-masked]/
> 
> 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 <[email-masked]>