|
From: | Dave Harper |
Subject: | [lwip-users] Fast ARP reply causes queueing problem in etharp_query function |
Date: | Mon, 25 Feb 2013 10:56:11 -0600 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 |
One of my debugging tools is a logic analyzer I use to trace the path of execution. This is done by embedding a macro that writes a unique value to an I/O port where it is then captured by the logic analyzer. What I found was the more macros I embedded to try and trace down the source of the problem, the worse it became (I was effectively delaying code execution and giving the timeserver more time to respond). By the time I finally figured out what was happening my SNTP request was succeeding only about 10% of the time.
I decided to try reversing the order of operations in etharp_query - queue the IP packet first and then send the ARP request. What I found was that the SNTP request succeeded every time. Unfortunately I don't have enough of a grasp of full lwIP operation to know if I've only appeared to fix a problem but in reality simply opened up other areas for failure. I am running an older version of lwIP (1.3) but I checked the latest 1.41 release and etharp_query() operates essentially the same.
Can anyone please weigh in on this? Thanks, Dave Harper
[Prev in Thread] | Current Thread | [Next in Thread] |