[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] Fast ARP reply causes queueing problem in etharp_query
From: |
Simon Goldschmidt |
Subject: |
Re: [lwip-users] Fast ARP reply causes queueing problem in etharp_query function |
Date: |
Tue, 26 Feb 2013 06:16:57 +0100 |
Dave Harper wrote:
> What I'm seeing is that occasionally between the time the the ARP request is
> sent and the time the IP packet is actually queued, there is an interruption
> of execution in etharp_query. Before etharp_query() gets to execute again,
> the timserver is able to respond with the ARP reply and this triggers input
> processing.
What you're actually seeing here is a violation of lwIPs threading
requirements. Input processing is not allowed to run at the same time as output
processing. In fact, nearly nothing in the core code is allowed to run in two
or more execution contexts at the same time. With NO_SYS==0, this is normally
solved by enqueueing input packets into the tcpip_thread, which also handles
output packets.
Simon