Rishi Khan wrote:
So, if you call NETIF_FLAG_ETHARP, they you should leave the header alone, but if >> you don't call NETIF_FLAG_ETHARP, you should leave it there. Doesn't that seem weird? Why should the TCP/IP stack handle ARP? This is inherently an ethernet problem.

Just for better understanding, the handling of ARP packets has changed in 1.3.0: Previously they were indeed handled by the 'ethernetif' code. The problem was >that this way, the ARP table wasn't protected against concurrent access (from >receive thread an tcpip_thread - when sending). This was solved by letting the >tcpip_thread handle ARP packets, which is the reason why ethernet netifs have >to pass the complete packet, not only the IP part.

Simon

Leon Woestenberg had this suggestion in 2006: [RFC] Remove calls to etharp_ip_input().
(http://lists.nongnu.org/archive/html/lwip-devel/2006-04/msg00012.html)

Is there a problem with concurrent writes to the ARP table in the approach he outlined?

Steinar





_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to