On Mon, Nov 27, 2023 at 06:56:53PM +0600, Maxim Uvarov wrote: > Implement port of lwIP stack to the U-Boot. lwIP is well known full IP stack > which provides wide functionality, various examples, API closer to linux > userland. > Rich debug printing and possibility to run lwIP apps under linux make it > easier to develop and debug apps. > U-Boot implementation keeps the original file structure widely used for lwIP > ports. > (i.e. port/if.c port/sys-arch.c). That should allow us to easy port apps to or > from U-Boot. Multiply ethernet devices are supported and "ethact" env variable > chooses the active device. > Having a rich IP stack inside U-Boot will allow us to have such applications > as http or https clients. [snip] > diff --git a/lib/Kconfig b/lib/Kconfig > index 19649517a3..915402e843 100644 > --- a/lib/Kconfig > +++ b/lib/Kconfig > @@ -258,7 +258,7 @@ config REGEX > choice > prompt "Pseudo-random library support type" > depends on NET_RANDOM_ETHADDR || RANDOM_UUID || CMD_UUID || \ > - RNG_SANDBOX || UT_LIB && AES || FAT_WRITE > + RNG_SANDBOX || UT_LIB && AES || FAT_WRITE || LWIP > default LIB_RAND > help > Select the library to provide pseudo-random number generator
So here we say that you must configure one of the "random" providers, either software-based or hardware-based. > diff --git a/net/eth-uclass.c b/net/eth-uclass.c > index 3d0ec91dfa..f57da423f5 100644 > --- a/net/eth-uclass.c > +++ b/net/eth-uclass.c [snip] > @@ -587,18 +602,26 @@ static int eth_post_probe(struct udevice *dev) > /* Override the ROM MAC address */ > memcpy(pdata->enetaddr, env_enetaddr, ARP_HLEN); > } else if (is_valid_ethaddr(pdata->enetaddr)) { > - eth_env_set_enetaddr_by_index("eth", dev_seq(dev), > - pdata->enetaddr); > + ret = eth_env_set_enetaddr_by_index("eth", dev_seq(dev), > + pdata->enetaddr); > + if (ret) { > + log_err("Error update env for eth%d\n", dev_seq(dev)); > + return -EINVAL; > + } > } else if (is_zero_ethaddr(pdata->enetaddr) || > !is_valid_ethaddr(pdata->enetaddr)) { > #ifdef CONFIG_NET_RANDOM_ETHADDR > net_random_ethaddr(pdata->enetaddr); > printf("\nWarning: %s (eth%d) using random MAC address - %pM\n", > dev->name, dev_seq(dev), pdata->enetaddr); > - eth_env_set_enetaddr_by_index("eth", dev_seq(dev), > - pdata->enetaddr); > + ret = eth_env_set_enetaddr_by_index("eth", dev_seq(dev), > + pdata->enetaddr); > + if (ret) { > + log_err("Error update env for eth%d\n", dev_seq(dev)); > + return -EINVAL; > + } > #else > - printf("\nError: %s No valid MAC address found.\n", > + log_err("\nError: %s No valid MAC address found.\n", > dev->name); > return -EINVAL; > #endif This is a general fix, yes? > diff --git a/net/lwip/Kconfig b/net/lwip/Kconfig > index 295261a042..9135dee6b4 100644 > --- a/net/lwip/Kconfig > +++ b/net/lwip/Kconfig > @@ -1,6 +1,7 @@ > menu "lwIP" > config LWIP > bool "Support LWIP library" > + select LIB_RAND > help > Enable the lwIP library code with > all dependencies (commands are implemented with lwIP And this part is wrong. We don't _need_ anything here due to the change in lib/Kconfig. -- Tom
signature.asc
Description: PGP signature