changeset 2173:4f828d6c4183

* 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.
author asl
date Wed, 29 Mar 2006 10:31:23 +0000
parents bdd97848f65e
children d07decb23fa2
files packages/io/eth/current/ChangeLog packages/io/eth/current/src/lwip/eth_drv.c
diffstat 2 files changed, 13 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/packages/io/eth/current/ChangeLog
+++ b/packages/io/eth/current/ChangeLog
@@ -1,3 +1,9 @@
+2006-03-26  Uwe Kindler  <uwe_kindler@web.de>
+
+	* 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  <gary@mlbassoc.com>
 
 	* src/net/eth_drv.c (eth_drv_send): Better check for overflow
--- 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);
 }