I updated to 1.4.0 CVS in late June of 2010, so some things might have changed 
(don't think I have updated since...), but here are some of my notes from then:

1. in your ethernetif.c, change all "struct ip_addr" to "ip_addr_t"
2. add (OR in) NETIF_FLAG_ETHARP to netif->flags in low_level_init()
3. changed netif_add() to use ethernet_input() instead of ip_input() for the 
"netif_input_fn input" parameter.
4. my port has a "handlepackets()" type function that runs low_level_input(), I 
pass the result of low_level_input() to netif->input().  For 1.3, I would send 
it to either etharp_ip_input() or etharp_arp_input() conditional upon 
ethhdr->type, now I just ensure it is either ETHTYPE_IP or ETHTYPE_ARP before 
passing it on and pbuf_free()'ing it.
5. I chose to drop my custom timer implementation for lwIP's built in one.  
This entailed creating a "sys_arch.c", define sys_init() and sys_now() (removed 
clock.c/h, which defined clock()).  add MEMP_NUM_SYS_TIMEOUT to lwipopts.h, 
ensure NO_SYS_NO_TIMERS is also correct.  I added a call to 
sys_check_timeouts() in my loop.

Some makefile changes:
build sys_arch.c instead of clock.c
add new /lwip/core/def.c to build
add new /lwip/core/timers.c to build

I apologize if any of this is (too) port specific... I run NO_SYS=1 in a 
FreeRTOS thread polling the MAC in low_level_input(). There were also some 
other changes for DHCP/AUTO_IP that I am not certain I have 100% correct...
 

MD





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

Reply via email to