Преглед изворни кода

[Bugfix]Update netdev info after registered

修复ifconfig命令无法正确显示IP,网关,掩码的问题
nicedayzhu пре 6 година
родитељ
комит
f5cb3ac760
1 измењених фајлова са 7 додато и 6 уклоњено
  1. 7 6
      components/net/lwip-2.0.2/src/netif/ethernetif.c

+ 7 - 6
components/net/lwip-2.0.2/src/netif/ethernetif.c

@@ -303,12 +303,6 @@ static int netdev_add(struct netif *lwip_netif)
         return -ERR_IF;
     }
 
-    netdev->flags = lwip_netif->flags;
-    netdev->mtu = lwip_netif->mtu;
-    netdev->ops = &lwip_netdev_ops;
-    netdev->hwaddr_len =  lwip_netif->hwaddr_len;
-    rt_memcpy(netdev->hwaddr, lwip_netif->hwaddr, lwip_netif->hwaddr_len);
-
 #ifdef SAL_USING_LWIP
     extern int sal_lwip_netdev_set_pf_info(struct netdev *netdev);
     /* set the lwIP network interface device protocol family information */
@@ -317,6 +311,13 @@ static int netdev_add(struct netif *lwip_netif)
 
     rt_strncpy(name, lwip_netif->name, LWIP_NETIF_NAME_LEN);
     result = netdev_register(netdev, name, (void *)lwip_netif);
+	
+    /* Update netdev info after registered */	
+    netdev->flags = lwip_netif->flags;
+    netdev->mtu = lwip_netif->mtu;
+    netdev->ops = &lwip_netdev_ops;
+    netdev->hwaddr_len =  lwip_netif->hwaddr_len;
+    rt_memcpy(netdev->hwaddr, lwip_netif->hwaddr, lwip_netif->hwaddr_len);
     netdev->ip_addr = lwip_netif->ip_addr;
     netdev->gw = lwip_netif->gw;
     netdev->netmask = lwip_netif->netmask;