edeviser wrote on Monday, May 27, 2019:
First of all I would like to say that I am so thankfull to the +TCP extension to FreeRTOS. It has powered up my projects an runns very CPU performant on my STM32.
Well, due to some low RAM problems I diskussed two posibilities to reduce RAM usage by +TCP:
Nevertheless I went on inspecting the behavior of +TCP and its inpact to the heap utilisation by printing the xTCPPacket.xEthernetHeader.usFrameType
inside the EMAC task in NetworkInterface.c:674. To my suprise I saw, that sometimes there are more than 30 ARP frames per second. For every ARP Frame the EMAC Task allocates some ram sends this frame to the higher level IP-Task which then evaluates the ARP frame and frees the memory.
Looking at these large amaout of traffic which is caused only by the adress resolution protocol (ARP) I wonder what is it worth of dealing with my approach number one of limiting the count of connection. My project is running inside a large network with man network peers. Having a closer look to the ARP frames showed that sometimes up to eight ARP-Connection driven by other network peers are done at the same time!
So I would like to ask:
- Is it normal that processing for +TCP to process that much ARP packages?
- Is it normal that ARP-connections are processed in parallel?
- Is there any other option of optimizing the RAM usage caused by the adress resolution protocol (ARP) ?
Appendix: Log of the Frametypes:
xTaskGetTickCount: usFrameType:
Time: 49000 FrameType:1544
Time: 49000 FrameType:1544
Time: 49000 FrameType:1544
Time: 49001 FrameType:1544
Time: 49001 FrameType:1544
Time: 49001 FrameType:1544
Time: 49001 FrameType:1544
Time: 49002 FrameType:1544
Time: 49002 FrameType:1544
Time: 49103 FrameType:1544
Time: 49104 FrameType:1544
Time: 49211 FrameType:1544
Time: 49289 FrameType:1544
Time: 49394 FrameType:1544
Time: 49422 FrameType: 8
Time: 49423 FrameType: 8
Time: 49488 FrameType:1544
Time: 49566 FrameType:1544
Time: 49613 FrameType:1544
Time: 49634 FrameType:1544
Time: 49634 FrameType:1544
Time: 49660 FrameType:1544
Time: 49971 FrameType:1544
Time: 49972 FrameType:1544
Time: 49972 FrameType:1544
Time: 49972 FrameType:1544
Time: 49972 FrameType:1544
Time: 49973 FrameType:1544
Time: 49973 FrameType:1544
Time: 49974 FrameType:1544
Time: 49974 FrameType:1544
Time: 49974 FrameType:1544
Time: 49974 FrameType:1544
Time: 49988 FrameType:1544
Time: 49988 FrameType:1544