Hi,
I want to connect my own K60 board with a Linux host that has an application using UDP protocol, but before entering to UDP communication it stands for a couple of ARP_request and ARP_resolve messages. I tried to generate those ARP´s several ways (RTCS, DHCP, etc) but none generate this (I scope the line with Wireshark). Finally I programmed a direct call to ARP_request with my ip_source and ip_dest but it generate just a couple of ARP_gratuitous_send messages.
I traced the execution and I found that ARP_request even takes ip_source and ip_dest the same value (that defined as ENET_IPADDR). I think that I can not call directly ARP's functions, but, how can I send to host an ARP_request, then an ARP_resolve?
ARP_request() is called for example from RTCS_if_probe_and_bind(). You can use ipcfg_bind_staticip(), for example. You can look at how Shell_ipconfig() implements "ipconfig ip" or "ipconfig dhcp" commands.
ARP_resolve() is called when you try to send out an IP packet.
-Martin
Hi Martin,
I apologyze for my delay but I was testing RTCS_if_probe_and_bind() and ipcfg_bind_staticip(). They both call the ARP_request() function but just with isrc and idest parameters equal. Thus, instead of call ARP_send() low lwvel function, they call ever the ARP_gratuitous_send() function. (I can see this with the Wireshark capture). I tested also the MQX 3.8 project "ipc_udp" but the same result. Now I will test the Shell_ipconfig() "ipconfig ip" and "ipconfig dhcp" commands. Results will follow.
Finally I discovered that a "Ping" function generates ARP_request untill contact is established and then, when the counterpart asks also for ARP_request, it generates an ARP_resolve. This is, more or less, that I was searching for. I was found it trough the Shell_ping() command following Martin indications.Thank you Martin.