lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-devel] Suggestion re ARP


From: Leon Woestenberg
Subject: Re: [lwip-devel] Suggestion re ARP
Date: Wed, 28 Apr 2004 21:43:19 +0200
User-agent: Mozilla Thunderbird 0.5 (Windows/20040207)

Hello Tony,

thanks for bringing this up. I will discuss why I designed it that way,
and bring up an additional issue:

Mountifield, Tony wrote:
Thanks for the info. In fact, I should have searched the sources more 
thoroughly before posting, as the option already exists:

#define ETHARP_ALWAYS_INSERT 0  /* update ARP table only for pre-existing 
addresses */
#define ETHARP_ALWAYS_INSERT 1  /* update ARP table from all ARP traffic */

To obey the algorithm as quoted below, use 0.

Yes, I made this selectable then , but should remove that option now
that the stack can queue outgoing packets to wait for destination
hardware address resolution (a feature missing in old times).

The single point where ETHARP_ALWAYS_INSERT is used in update_arp_entry() at line 419 of the etharp.c code (STABLE).

Another, similar, but orthogonal implementation choice by me
was this:

etharp_ip_input() will also ask the ARP module to add a new entry
to the table whenever an IP packet from the local network is directed to us.

This was to ensure that (in the case where outgoing packets
queueing was formerly non-existent or now disabled) lwIP could
reply to the sending host right away (without the first reply
packet being lost due to a non-existant ARP entry).

To fully comply with the ARP algorithm, I should remove that
forced insertion as well, but ALSO MUST enable outgoing packet
queueing by default. Due to code/memory footprint limitations,
this is not what all users want.

My view on this is to remove the ETHARP_ALWAYS_INSERT option,
but add a ETHARP_INSERT_INCOMING option.

Awaiting any comments on this.

Regards,

Leon.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]