In our custom board and on the PHYTEC phycore-am65x board, RX packets are lost on one of the network interfaces. This happens if both interfaces with the same ICSSG eth0 and eth1 are connected to the same switch on the same subnet.
This happens within a few minutes with low traffic and within seconds with a high network load. At the same time, the "rx_good_frames" RX packet counters (which can be viewed through "ethtool -S ethX") continue to increase for both PRUs.
However, RX interrupts are no longer generated from one of the interfaces and packets do not get to Linux. If you execute ifconfig ethX down, ifconfig ethX up (reset the firmware), then the reception of packets is resumed.
If interfaces from different ICSSG are used to connect to the switch, then this is not observed, and RX packets go around the ring and are received on both network interfaces in Linux (as it should be).
In our development, we use firmware version 07.03.00.005 from the repository git.ti.com/.../
and linux kernel version 5.10.41 with patches based on the repository git.ti.com/.../
Please provide recommendations on how to fix this problem.
Do you plan to share the source codes of the firmware to be able to analyze this problem?