Merge pull request #735 from JianRuiqian/master

[lwIP] Update ethernetif.c
This commit is contained in:
Bernard Xiong 2017-05-15 23:24:45 +08:00 committed by GitHub
commit e760d655b1
2 changed files with 18 additions and 10 deletions

View File

@ -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; struct ip_addr ipaddr, netmask, gw;
#if !LWIP_DHCP #if LWIP_DHCP
IP4_ADDR(&ipaddr, RT_LWIP_IPADDR0, RT_LWIP_IPADDR1, RT_LWIP_IPADDR2, RT_LWIP_IPADDR3); if (dev->flags & NETIF_FLAG_DHCP)
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(&ipaddr, 0, 0, 0, 0);
IP4_ADDR(&gw, 0, 0, 0, 0); IP4_ADDR(&gw, 0, 0, 0, 0);
IP4_ADDR(&netmask, 0, 0, 0, 0); IP4_ADDR(&netmask, 0, 0, 0, 0);
}
else
#endif #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); netifapi_netif_add(netif, &ipaddr, &netmask, &gw, dev, eth_netif_device_init, tcpip_input);
} }

View File

@ -122,7 +122,10 @@ static rt_err_t _low_level_dhcp_send(struct netif *netif,
memcpy((char *)udphdr + sizeof(struct udp_hdr), memcpy((char *)udphdr + sizeof(struct udp_hdr),
buffer, size); buffer, size);
return netif->linkoutput(netif, p); netif->linkoutput(netif, p);
pbuf_free(p);
return RT_EOK;
} }
static void dhcpd_thread_entry(void *parameter) static void dhcpd_thread_entry(void *parameter)