# HG changeset patch # User asl # Date 1143628283 0 # Node ID 4f828d6c418304a4d6109e92e35ec957c4d6bcd0 # Parent bdd97848f65eb5c8e77a5e23cfae07234af70885 * src/lwip/eth_drv.c Add call to lwip_dhcp_init() for start of DHCP client. Fixed ecosif_output() for lwip 1.1.1 support. diff --git a/packages/io/eth/current/ChangeLog b/packages/io/eth/current/ChangeLog --- a/packages/io/eth/current/ChangeLog +++ b/packages/io/eth/current/ChangeLog @@ -1,3 +1,9 @@ +2006-03-26 Uwe Kindler + + * src/lwip/eth_drv.c Add call to lwip_dhcp_init() for + start of DHCP client. Fixed ecosif_output() for + lwip 1.1.1 support. + 2006-01-18 Gary Thomas * src/net/eth_drv.c (eth_drv_send): Better check for overflow diff --git a/packages/io/eth/current/src/lwip/eth_drv.c b/packages/io/eth/current/src/lwip/eth_drv.c --- a/packages/io/eth/current/src/lwip/eth_drv.c +++ b/packages/io/eth/current/src/lwip/eth_drv.c @@ -88,6 +88,7 @@ int cyg_io_eth_net_debug = CYGDBG_IO_ETH extern void lwip_dsr_stuff(void); extern void lwip_set_addr(struct netif *); +extern void lwip_dhcp_init(struct netif *); //DSR called from the low level driver.Signals the input_thread void @@ -126,7 +127,10 @@ eth_drv_init(struct eth_drv_sc *sc, unsi } } #endif - + // + // we call this after the driver was started successfully + // + lwip_dhcp_init(netif); } // @@ -277,13 +281,8 @@ low_level_output(struct netif *netif, st static err_t ecosif_output(struct netif *netif, struct pbuf *p, struct ip_addr *ipaddr) { - - p = etharp_output(netif, ipaddr, p); - if (p) { - low_level_output(netif, p); - p = NULL; - } - return ERR_OK; + // resolve hardware address, then send (or queue) packet + return etharp_output(netif, ipaddr, p); }