@@ -863,40 +863,38 @@ void InitNetwork()
863863 {
864864 CollectTapAddresses (addrsVec, gNetworkOptions .TapDeviceName [j]);
865865 }
866+
866867#if INET_CONFIG_ENABLE_IPV4
867- #if LWIP_VERSION_MAJOR > 1
868- ip4_addr_t ip4Addr, ip4Netmask, ip4Gateway;
869- #else // LWIP_VERSION_MAJOR <= 1
870- ip_addr_t ip4Addr, ip4Netmask, ip4Gateway;
871- #endif // LWIP_VERSION_MAJOR <= 1
872- ip4Addr = nl::Inet::IPAddress::Any.ToIPv4 ();
868+
869+ IPAddress ip4Addr = (j < gNetworkOptions .LocalIPv4Addr .size ())
870+ ? gNetworkOptions .LocalIPv4Addr [j]
871+ : IPAddress::Any;
873872 for (size_t n = 0 ; n < addrsVec.size (); n++)
874873 {
875874 IPAddress auto_addr;
876875 if (IPAddress::FromString (addrsVec[n], auto_addr) && auto_addr.IsIPv4 ())
877876 {
878- ip4Addr = auto_addr. ToIPv4 () ;
877+ ip4Addr = auto_addr;
879878 }
880879 }
881880
882- if ((IPAddress::FromIPv4 (ip4Addr) == nl::Inet::IPAddress::Any) &&
883- (j < gNetworkOptions .LocalIPv4Addr .size ()))
884- {
885- ip4Addr = gNetworkOptions .LocalIPv4Addr [j].ToIPv4 ();
886- }
887-
888- IP4_ADDR (&ip4Netmask, 255 , 255 , 255 , 0 );
881+ IPAddress ip4Gateway = (j < gNetworkOptions .IPv4GatewayAddr .size ())
882+ ? gNetworkOptions .IPv4GatewayAddr [j]
883+ : IPAddress::Any;
889884
890- if (j < gNetworkOptions .IPv4GatewayAddr .size ())
891885 {
892- ip4Gateway = gNetworkOptions .IPv4GatewayAddr [j].ToIPv4 ();
893- }
894- else
895- {
896- ip4Gateway = nl::Inet::IPAddress::Any.ToIPv4 ();
886+ #if LWIP_VERSION_MAJOR > 1
887+ ip4_addr_t ip4AddrLwIP, ip4NetmaskLwIP, ip4GatewayLwIP;
888+ #else // LWIP_VERSION_MAJOR <= 1
889+ ip_addr_t ip4AddrLwIP, ip4NetmaskLwIP, ip4GatewayLwIP;
890+ #endif // LWIP_VERSION_MAJOR <= 1
891+
892+ ip4AddrLwIP = ip4Addr.ToIPv4 ();
893+ IP4_ADDR (&ip4NetmaskLwIP, 255 , 255 , 255 , 0 );
894+ ip4GatewayLwIP = ip4Gateway.ToIPv4 ();
895+ netif_add (&(netIFs[j]), &ip4AddrLwIP, &ip4NetmaskLwIP, &ip4GatewayLwIP, &(tapIFs[j]), TapInterface_SetupNetif, tcpip_input);
897896 }
898897
899- netif_add (&(netIFs[j]), &ip4Addr, &ip4Netmask, &ip4Gateway, &(tapIFs[j]), TapInterface_SetupNetif, tcpip_input);
900898#endif // INET_CONFIG_ENABLE_IPV4
901899
902900 netif_create_ip6_linklocal_address (&(netIFs[j]), 1 );
0 commit comments