|
From: | David Empson |
Subject: | Re: [lwip-users] Windows 7 Startup crashes LwIP and Free RTOS |
Date: | Thu, 08 Jul 2010 11:26:14 +1200 |
This implies that you have ARP_QUEUEING enabled,
and MEMP_NUM_ARP_QUEUE is 8. (These will be specified in your
lwipopts.h.)
As described in opt.h, the ARP_QUEUEING option
enables a feature where if LWIP wants to transmit a packet and it doesn't know
the MAC address for the destination IP address (on the local network), it will
queue the outgoing packet temporarily, and issue an ARP request. When the ARP
reply arrives, any packets on the ARP queue for that IP address can be
transmitted.
If you disable ARP_QUEUEING, then a missing IP to
MAC address mapping will result in a transmit packet being discarded. The ARP
request is issued and the reply is stored in the ARP cache, but higher level
retry mechanisms must be used to regenerate the lost transmit packet (this is
done automatically by TCP, only resulting in a short delay; UDP would require
some form of application level retries).
"MEM ARP_QUEUE" errors indicate the number of times
that LWIP tried to allocate an entry on the ARP queue when it was already full.
In this case your system tried to send a total of 1193 packets to one
or more IP addresses which had unknown MAC addresses, at one or more
points where it already had 8 such packets queued awaiting the result of an ARP.
As a result, those 1193 transmit packets were discarded.
Not enough information to know whether this all
happened in one burst or in several smaller bursts, or whether the packets were
all being sent to the same or different IP addresses.
Given that this happens after you start up your PC,
the likelihood is that your PC is sending something over the network which
triggers a lot of transmission by LWIP (most likely back to the PC), and for
some reason LWIP doesn't have the PC's MAC address so it needs to use the ARP
queue while awaiting the result of an ARP request.
Wireshark should at least reveal the start of the
exchange (but won't show all the discarded packets, of course.)
----- Original Message -----
|
[Prev in Thread] | Current Thread | [Next in Thread] |