|
From: | address@hidden |
Subject: | Re: [lwip-devel] etharp_arp_input static |
Date: | Wed, 17 Feb 2010 16:40:29 +0100 |
User-agent: | Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; de; rv:1.9.1.7) Gecko/20100111 Thunderbird/3.0.1 |
Kieran Mansley wrote:
When compiling the unixsim project at the moment (part of the unix port) I get an error like this: ../../../../ports/unix/netif/tapif.c:307: undefined reference to `etharp_arp_input' This is due to a recent change to src/lwip/netif/etharp.c that made this function static and so only available internally. Was this change deliberate?
Yes.
Seems like the unix port is still behaving the wrong way: etharp wasn't thread safe (up to 1.1.x or 1.2.0) because all the netif input threads called etharp_x_input() directly. Instead, the interfaces should now call netif->input() for all supported packets. If they support ARP, netif->input will call ethernet_input() (which in turn calls etharp_arp_input for ARP packets and ip_input for IP packets), if they don't support ARP, netif->input will call ip_input().I.e. is the unix port wrong to be trying to access this function directly, or should I just make the function non-static again to fix this?
I can fix that unless you'd do it anyway if you are currently working on it. Just drop me a mail...
Simon
[Prev in Thread] | Current Thread | [Next in Thread] |