Skip to content
This repository was archived by the owner on Dec 20, 2023. It is now read-only.

Commit 1d5bb1c

Browse files
author
Jay Logue
committed
Fix for Issue #281: not able to set --node-addr for lwip device
-- Corrected a small logic bug in ToolCommon.cpp, InitNetwork() that resulted in the --node-addr argument being ignored when configuring an LwIP netif. I also took this opportunity to simplify the code in this area a bit.
1 parent 1eea311 commit 1d5bb1c

File tree

1 file changed

+19
-21
lines changed

1 file changed

+19
-21
lines changed

src/test-apps/ToolCommon.cpp

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)