Hello,
I have a problem when sending fragmented UDP messages using the NDK (2.23) on C6678 EVM, when a MAC address resolution has to be done.
The situation is the following:
- I want to send one UDP message that must be split in 3 IP frames.
- When trying to send the first IP packet, the NDK stack detects that a MAC address resolution must be done.
* the IP packet is attached to the lli
* the ARP is sent
- then, it is tried to send to second IP packet. As the ARP response is not received, this packet is no sent and attached to the lli.
The problem is that the previously attached packet is discarded (file nkd/packages/ti/ndk/stack/lli/lliout.c, line 357)
- when it is tried to send the third packet, the same thing occurs: the second packet is discarded
- finally, when the ARP response is received, the packet attached to the lli is sent (file nkd/packages/ti/ndk/stack/lli/lliin.c).
But only one packet is attached. The 2 other packets are lost.
Could you confirm this analysis ?
Is there a way to send the 3 packets even if a ARP has to be done ?
Thanks
JP