I had the need for the same functionality.
In etharp.c, at the end of etharp_input, put something like this:
arp_callback(&sipaddr, (const struct
eth_addr*)&hdr->shwaddr, netif->num, hdr->opcode, p);
arp_callback is defined in my code and passes whatever is needed by
the callback. Just be sure to NOT free the packet in etharp_input
but then do it in your code (or free it after the callback returns
in etharp_input).
Dave
On 11/5/2018 10:49 AM, Amena El Homsi
wrote:
Thanks for your reply. So if I want to support it I
have to add some changes to etharp.c file. Is there a plan to
support such feature?
On
05.11.2018 16:35, Amena El Homsi wrote:
> LwIP processes the ARP requests and replies updated the
ARP table,
> then it calls pbuf_free().
> Is there a way to send the ARP reply to the host when the
host
> requested lwIP to send an ARP request?
No.
> I was thinking to use raw pcb and define a raw callback
function that
> will inform the host of the result of the ARP request,
however
> raw_input() is not called unless ip4_input is called and
since the arp
> will be processed by etharp_input I will not be able to
use raw_pcb.
As you have found out yourself, raw pcbs are raw IP pcbs, not
raw
network packets. It's like that in the socket world...
Simon
_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users
--
Amena El-Homsi
Computer &
Communication Engineer
Dipl. Eng, M.S.
_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users
|