FreeRTOS TCP: Problems with send Frames out of the Subnet

We use FreeRTOS+TCP V2.3.2 LTS Patch 2 and have problems, if we send a frame out of the Subnet. If the frame sended the first with FreeRTOS_sendto and the the ARP entry of the Gateway isn’t inside the table, the frame isn’t sended, but the ARP entry is updated. When the frame is sended a second time, it works.

For Excample:
IP address of the FreeRTOS Stack: 1.2.3.4
Subnetmask of the FreeRTOS Stack: 255.255.255.0
Gateway of the FreeRTOS Stack: 1.2.3.1

If we send an frame with FreeRTOS_sendto to the Address 1.2.4.5, the first time the frame isn’t sendend. On the networks we see only the ARP Request where is 1.2.3.1.
If we send the same frame an secondtime, the frame is sended.

Is this a known problem?

Thanks for bringing this up. I believe this is intended behaviour. You can read more about it in these links: FreeRTOS_sendto succeeds but doesn't transmit data · Issue #1573 · aws/amazon-freertos · GitHub, FreeRTOS Real Time Kernel (RTOS) / Feature Requests / #130 UDP ARP Behaviour. Overall it was a design tradeoff IMHO. However I think we should document this behaviour in the FreeRTOS API reference.

2 Likes