|
@@ -230,15 +230,20 @@ rt_err_t eth_device_init_with_flag(struct eth_device *dev, char *name, rt_uint16
|
|
|
{
|
|
|
struct ip_addr ipaddr, netmask, gw;
|
|
|
|
|
|
-#if !LWIP_DHCP
|
|
|
- IP4_ADDR(&ipaddr, RT_LWIP_IPADDR0, RT_LWIP_IPADDR1, RT_LWIP_IPADDR2, RT_LWIP_IPADDR3);
|
|
|
- IP4_ADDR(&gw, RT_LWIP_GWADDR0, RT_LWIP_GWADDR1, RT_LWIP_GWADDR2, RT_LWIP_GWADDR3);
|
|
|
- IP4_ADDR(&netmask, RT_LWIP_MSKADDR0, RT_LWIP_MSKADDR1, RT_LWIP_MSKADDR2, RT_LWIP_MSKADDR3);
|
|
|
-#else
|
|
|
- IP4_ADDR(&ipaddr, 0, 0, 0, 0);
|
|
|
- IP4_ADDR(&gw, 0, 0, 0, 0);
|
|
|
- IP4_ADDR(&netmask, 0, 0, 0, 0);
|
|
|
-#endif
|
|
|
+ #if LWIP_DHCP
|
|
|
+ if (dev->flags & NETIF_FLAG_DHCP)
|
|
|
+ {
|
|
|
+ IP4_ADDR(&ipaddr, 0, 0, 0, 0);
|
|
|
+ IP4_ADDR(&gw, 0, 0, 0, 0);
|
|
|
+ IP4_ADDR(&netmask, 0, 0, 0, 0);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ #endif
|
|
|
+ {
|
|
|
+ IP4_ADDR(&ipaddr, RT_LWIP_IPADDR0, RT_LWIP_IPADDR1, RT_LWIP_IPADDR2, RT_LWIP_IPADDR3);
|
|
|
+ IP4_ADDR(&gw, RT_LWIP_GWADDR0, RT_LWIP_GWADDR1, RT_LWIP_GWADDR2, RT_LWIP_GWADDR3);
|
|
|
+ IP4_ADDR(&netmask, RT_LWIP_MSKADDR0, RT_LWIP_MSKADDR1, RT_LWIP_MSKADDR2, RT_LWIP_MSKADDR3);
|
|
|
+ }
|
|
|
|
|
|
netifapi_netif_add(netif, &ipaddr, &netmask, &gw, dev, eth_netif_device_init, tcpip_input);
|
|
|
}
|