[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] RFC: ARP Queueing
From: |
Leon Woestenberg |
Subject: |
Re: [lwip-users] RFC: ARP Queueing |
Date: |
Wed, 14 Apr 2004 21:15:52 +0200 |
User-agent: |
Mozilla Thunderbird 0.5 (Windows/20040207) |
Hello Paul,
Paul wrote:
I think that ARP_QUEUEING needs to be patched in netif/etharp.c
Here is what I think is needed.
/* i is available, create ARP entry */
arp_table[i].state = ETHARP_STATE_PENDING;
ip_addr_set(&arp_table[i].ipaddr, ipaddr);
/* queried address was already in ARP table */
- } else {
+ }
#if ARP_QUEUEING
etharp_enqueue(i, q);
#endif
>
Yes, you found a bug there. Thanks for reporting it.
Your patch fixes it, but only for the case where the ARP entry was just
created (with STATE_PENDING).
In case the entry was already stable, we should immediately send out the
packet-submitted-for-queue on the network link OR ALTERNATIVELY queue
the packet and initiate a query for the address (so that it is triggered
for transmission upon reception of the ARP response).
I chose to implement the latter method (so to actively freshen the ARP
cache when asked to query the address).
I have applied your patch, and my fix for the other case to the main
branch.
Please test and report and I will then apply it to the STABLE 0.7.x
release branch for an upcoming stable release.
Thanks,
Leon Woestenberg.