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 Mon, Nov 5, 2018 at 6:27 PM goldsi...@gmx.de <mailto:goldsi...@gmx.de> <goldsi...@gmx.de <mailto:goldsi...@gmx.de>> wrote:

    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
    lwip-users@nongnu.org <mailto:lwip-users@nongnu.org>
    https://lists.nongnu.org/mailman/listinfo/lwip-users



--

Amena El-Homsi
Computer & Communication Engineer
Dipl. Eng,  M.S.


_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users

_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to