Part Number: AM6422
Other Parts Discussed in Thread: TMDS64EVM
Hello,
Problem Description:RSTP convergence test does not meet the time requirement, with occasional convergence times exceeding 20s.
Test Description:The DUT is connected to switches to form a ring network, with RSTP enabled (using the userspace program mstpd 0.1.0). A PC uses ICMP to test RSTP convergence time.
Test Topology:PC - Switch 1 --(eth0) DUT1(eth1) -- (eth0)DUT2(eth1) -- (eth0)DUT3 (eth1)-- Switch 2 -- Switch 1
Test Steps and Observed Issues:
The DUT device is AM6422, with eth0 and eth1 configured in CPSW Switch mode.
When Switch 2 is powered on, DUT2 eth1 negotiates to the Alternate port state.
When Switch 2 is powered off, DUT2 eth1 negotiates to the Designated port state.
During the transition from Switch 2 power-on to power-off, the PC-to-DUT3 ping convergence time occasionally exceeds 20s.
Problem Investigation:
After Switch 2 is powered off, port mirroring enabled on Switch 1 captures a large number of ICMP request packets from the PC pinging DUT3. However, when DUT1 captures packets on eth0 using tcpdump, these ICMP requests are not observed.
Question:Is it possible that the ALE FDB is not flushed, causing ICMP requests to be dropped before the FDB entries age out?
Additional Information:
The mstpd 0.1.0 logs show that when an RSTP topology change occurs, it calls/sys/class/net/eth0/brport/flush to clear the bridge FDB. This ultimately calls am65_cpsw_switchdev_event_work with SWITCHDEV_FDB_DEL_TO_DEVICE. However, since the FDB entry is not added_by_user, the function returns directly without calling the final cpsw_ale_del_ucast.
SDK Version:ti-processor-sdk-linux-am64xx-evm-11.02.08.02

