[PATCH v7 00/20] Introduce the lwIP network stack

Tom Rini trini at konsulko.com
Tue Aug 6 23:19:02 CEST 2024


On Tue, Aug 06, 2024 at 03:12:47PM -0600, Simon Glass wrote:
> Hi Tom,
> 
> On Fri, 2 Aug 2024 at 12:32, Tom Rini <trini at konsulko.com> wrote:
> >
> > On Fri, Aug 02, 2024 at 06:26:27PM +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. and
> > > Raymond M. (CC'd) have 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. using a secure, authenticated connection directly
> > > from the U-Boot shell. Several use cases:
> > >   * Authentication: prevent MITM attack (third party replacing the
> > > binary with a different one)
> > >   * Confidentiality: prevent third parties from grabbing a copy of the
> > > image as it is being downloaded
> > >   * Allow connection to servers that do not support plain HTTP anymore
> > > (this is becoming more and more common on the Internet these days)
> > > - Possibly benefit from additional features implemented in lwIP
> > > - Less code to maintain in U-Boot
> > >
> > > Prior to applying this series, the lwIP stack needs to be added as a
> > > Git subtree with the following command:
> > >
> > >  $  git subtree add --squash --prefix lib/lwip/lwip https://git.savannah.gnu.org/git/lwip.git STABLE-2_2_0_RELEASE
> >
> > On Pi 3 I'm again / still seeing:
> > ========================================== FAILURES ===========================================
> > ___________________________________ test_efi_helloworld_net ___________________________________
> > test/py/tests/test_efi_loader.py:163: in test_efi_helloworld_net
> >     assert expected_text in output
> > E   AssertionError: assert 'Hello, world' in 'No UEFI binary known at 200000'
> > ------------------------------------ Captured stdout call -------------------------------------
> > U-Boot> tftpboot 200000 EFI/arm64/helloworld.efi
> > Using smsc95xx_eth device
> > TFTP from server 192.168.1.10; our IP address is 192.168.1.100
> > Filename 'EFI/arm64/helloworld.efi'.
> > Load address: 0x200000
> > Loading: #
> >          883.8 KiB/s
> > done
> > Bytes transferred = 4528 (11b0 hex)
> > U-Boot> U-Boot> crc32 200000 $filesize
> > crc32 for 00200000 ... 002011af ==> 2b466005
> > U-Boot> U-Boot> bootefi 200000
> > No UEFI binary known at 200000
> > U-Boot>
> > =================================== short test summary info ===================================
> >
> > On a configuration that works fine with the legacy network stack.
> 
> BTW the "No UEFI binary known at 200000" is that hack that I would
> really like to improve on, by updating bootstd to keep track of which
> images are loaded.

I don't know, if I think about this I get worried that "bootFOO
$address" needs to know something more than "look at $address and check
if it's valid".

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20240806/304f65ac/attachment.sig>


More information about the U-Boot mailing list