Merge pull request #2282 from qiaoqidui/master

fix lwip2.1.0 port bug
This commit is contained in:
Bernard Xiong 2019-01-29 04:36:26 +08:00 committed by GitHub
commit 7069de3a26
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 4 deletions

View File

@ -49,6 +49,8 @@
#include "lwip/dhcp.h" #include "lwip/dhcp.h"
#include "lwip/inet.h" #include "lwip/inet.h"
#include "netif/etharp.h"
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>
@ -75,6 +77,10 @@ static err_t netif_device_init(struct netif *netif)
/* copy device flags to netif flags */ /* copy device flags to netif flags */
netif->flags = ethif->flags; netif->flags = ethif->flags;
netif->mtu = ETHERNET_MTU;
/* set output */
netif->output = etharp_output;
return ERR_OK; return ERR_OK;
} }

View File

@ -157,6 +157,9 @@ static err_t eth_netif_device_init(struct netif *netif)
netif->flags = (ethif->flags & 0xff); netif->flags = (ethif->flags & 0xff);
netif->mtu = ETHERNET_MTU; netif->mtu = ETHERNET_MTU;
/* set output */
netif->output = etharp_output;
#if LWIP_IPV6 #if LWIP_IPV6
netif->output_ip6 = ethip6_output; netif->output_ip6 = ethip6_output;
netif->ip6_autoconfig_enabled = 1; netif->ip6_autoconfig_enabled = 1;
@ -239,6 +242,9 @@ rt_err_t eth_device_init_with_flag(struct eth_device *dev, char *name, rt_uint16
/* maximum transfer unit */ /* maximum transfer unit */
netif->mtu = ETHERNET_MTU; netif->mtu = ETHERNET_MTU;
/* set linkoutput */
netif->linkoutput = ethernetif_linkoutput;
/* get hardware MAC address */ /* get hardware MAC address */
rt_device_control(&(dev->parent), NIOCTL_GADDR, netif->hwaddr); rt_device_control(&(dev->parent), NIOCTL_GADDR, netif->hwaddr);
@ -262,10 +268,6 @@ rt_err_t eth_device_init_with_flag(struct eth_device *dev, char *name, rt_uint16
IP4_ADDR(&netmask, 0, 0, 0, 0); IP4_ADDR(&netmask, 0, 0, 0, 0);
#endif #endif
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);
/* set output */
netif->output = etharp_output;
netif->linkoutput = ethernetif_linkoutput;
} }
return RT_EOK; return RT_EOK;