DM6437, NDK 2.0, BIOS 5.33.
I am sending an IP/UDP broadcast(FF.FF.FF.FF) packet from my PC to a thread with a socket bound to INADDR_ANY.
The packet is received(and processed) by my handling thread in all cases.
If I ping the DM6437 interface first, when the thread sends it's response it succeeds.
If I don't ping the DM6437 first then the responding send() operation fails from the thread with no route found.
In either case, wireshark never observes an arp request from the DM6437 to the PC.
I have dbgprintf() fully enabled and there are no errors or warnings.
Looking at llout.c/llin.c, it would seem that in the first successful case the code takes the ARP
preceding the ping from the PC and saves an lli for the PC so the send() works. In the 2nd
case, it would seem that I should see some sort of dbgprintf() display unless it gets all the way
to the end of LLIGenARPPacket() before it fails. The question is - why is no ARP getting
out on the wire to the PC?
Beyond that, are there debug libraries available or a .pjt so I can build and step in and see why
it is failing before generating an ARP in the 2nd case?
Are there any known bugs outstanding with this functionality that I should be aware of?
Regards,
Jason Kalin