[PATCH v2 00/14] Introduce the lwIP network stack
Jerome Forissier
jerome.forissier at linaro.org
Thu Jun 6 11:15:54 CEST 2024
On 5/27/24 17:34, Tom Rini wrote:
> On Fri, May 24, 2024 at 06:19:54PM +0200, Jerome Forissier wrote:
>
>> This is a rework of a patch series by Maxim Uvarov: "net/lwip: add lwip
>> library for the network stack" [1]. The goal is to introduce the lwIP TCP/IP
>> stack [2] [3] as an alternative to the current implementation in net/,
>> selectable with Kconfig, and ultimately keep only lwIP if possible. Some
>> reasons for doing so are:
>> - Make the support of HTTPS in the wget command easier. Javier T. (CC'd)
>> has some additional lwIP and Mbed TLS patches to do so. With that it
>> becomes possible to fetch and launch a distro installer such as Debian
>> etc. directly from the U-Boot shell.
>> - Possibly benefit from additional features implemented in lwIP
>> - Less code to maintain in U-Boot
>>
>> The first patch introduces a new Kconfig symbol: NET_LWIP, which selects
>> the lwIP implementation instead of the current one (NET). Contrary to the
>> approach chosen by Maxim in [1], NET_LWIP and NET cannot be enabled
>> simultaneously. The rationale is we want to start from a clean state and
>> not pull potentially duplicated functionality from both stacks. Note
>> however that a few files are still built in net/, they are the ones
>> related to ethernet device management and the ethernet bootflow.
>>
>> The second patch imports the lwIP code as a Git subtree under
>> lib/lwip/lwip. Some glue code is added under lib/lwip/u-boot.
>
> For next time, please just make it a pre-req to run the git subtree
> command (and note it in the cover letter).
>
> In more specific feedback, I tried this on a Pi 3, and:
> U-Boot> tftpboot 200000 EFI/arm64/helloworld.efi
> TFTP from server 192.168.1.10; our IP address is 192.168.1.100
> Filename 'EFI/arm64/helloworld.efi'.
> Load address: 0x200000
> Loading:
> ....
> FAILED test/py/tests/test_efi_loader.py::test_efi_helloworld_net - u_boot_spawn.Timeout
>
> So some amount of networking is working (that's a reasonable dhcp
> response it got), but tftp'ing a file fails.
Thanks for testing! This fails because I changed the command output. The
legacy command prints "Bytes transferred =" while the newer one prints
"%lu bytes transferred" plus throughput information. I will use the older
message in v3 because several tests as well as documentation would need
updating. We'll do that later if desired.
Thanks,
--
Jerome
More information about the U-Boot
mailing list