2024-10-25 10:55 PM
Background: F429 works as a net node in the ethernet switch. Other nodes are cortex-A or CPU, so the controller with F429 has the poorest capacity for processing net data flow.
Current Implementation: As the controller only exchanges data with a specific node, I use MAC filter to band the mac address of the specific node, reducing stress for driver and application..
Issue: Works good for months , but data flow on the switch became much more than before, net issue occurs. It seems have 3 stage- could not communicate, communicating with delay , communicating recovery.
Dose it means that the MAC core could not suffer so much data flow, and how can I solve the problem.
Thank you for advises.
2024-10-26 07:52 AM
What exactly is happening?
The switch should be limiting the traffic to the node, so other than direct packets, would only be seeing broadcast packets.
Perhaps optimize the processing and throwing away of those, and not responding to things where not necessary, or causing a DoS
Perhaps look at other TCP/IP stacks, commercial ones with support, if needed.
2024-10-30 09:03 PM
ETH Peripheral core or DMA seems failed to handle so much packets, even though tcp packets could not pass the MAC filter. When the MAC-matched packet comes, the ETH Peripheral could not pass the packet to buffer though DMA. That means the data flow dose not influence the TCP/IP stack.
2024-10-31 02:06 AM
On the other hand, the MAC-matched node also send packets to other IP nodes, but the packets also send to the driver level for net. M4 MAC core seems could not provide IP filter function, but H7 serials could