U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Rini <trini@konsulko.com>
To: Jerome Forissier <jerome.forissier@linaro.org>
Cc: u-boot@lists.denx.de,
	Ilias Apalodimas <ilias.apalodimas@linaro.org>,
	Javier Tia <javier.tia@linaro.org>,
	Raymond Mao <raymond.mao@linaro.org>,
	Maxim Uvarov <muvarov@gmail.com>,
	Tim Harvey <tharvey@gateworks.com>
Subject: Re: [PATCH v8 00/23] Introduce the lwIP network stack
Date: Fri, 16 Aug 2024 12:40:19 -0600	[thread overview]
Message-ID: <20240816184019.GD1626301@bill-the-cat> (raw)
In-Reply-To: <d9fe273b-ab60-44eb-bef8-cbde3af8ab1b@linaro.org>

[-- Attachment #1: Type: text/plain, Size: 3316 bytes --]

On Fri, Aug 16, 2024 at 06:21:24PM +0200, Jerome Forissier wrote:
> 
> 
> On 8/7/24 22:44, Tom Rini wrote:
> > On Wed, Aug 07, 2024 at 07:11:44PM +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
> > 
> > For v9, I think it would be good to do a CI run with NET_LWIP default
> > and seeing what fails from that too. There's a few problems still
> > leading to a lot of failures, in that case. Thanks.
> >
> 
> See here: https://github.com/u-boot/u-boot/pull/635
> 
> I fixed a number of issues, see the commit descriptions. As for the
> remaining ones:
> - There is no http server in the CI so the wget test I added fails

Ah yes. So the test needs some enable-me type flag, like other tests
that require external configuration.

> - tftp is super slow in QEMU (~145 KiB/s) which causes timeouts. This is
> for two reasons: (1) the tftp windowsize option is not supported in lwIP
> (while the legacy NET does support it) so the sender waits for an ACK
> before sending a new packet; and (2) the latency is very high due to
> memcpy() being incredibly slow in QEMU (I am mainly referring to the
> memcpy() call in tftp_write() in net/lwip/tftp.c). I measured ~20-60 ms
> to copy a few hundred bytes (!) and if CONFIG_USE_ARCH_MEMCPY is enabled
> it is slightly better but not much (~15 ms). Also it seems the QEMU
> networking emulation is fragmenting the UDP packets because with
> CONFIG_TFTP_BLOCKSIZE=1468 the tftp_write() function never receives
> 1468 bytes but only a few hundreds at a time (max 544 bytes).

I thought you fixed that? Or was that only for on real hardware?

But also, some of those numbers sound unusually terrible to me. We can
get some bad luck with the free instances, but, still.  Are you sure
there's nothing else going on?

> - The r2dplus_* tests fail for reasons I don't understand.

Consistently, too?

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

  reply	other threads:[~2024-08-16 18:40 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-07 17:11 [PATCH v8 00/23] Introduce the lwIP network stack Jerome Forissier
2024-08-07 17:11 ` [PATCH v8 01/23] flash: prefix error codes with FL_ Jerome Forissier
2024-08-07 17:11 ` [PATCH v8 02/23] net: wget: removed unused function wget_success() Jerome Forissier
2024-08-09 10:50   ` Ilias Apalodimas
2024-08-07 17:11 ` [PATCH v8 03/23] net: wget: allow EFI boot Jerome Forissier
2024-08-09 10:53   ` Ilias Apalodimas
2024-08-09 12:38     ` Jerome Forissier
2024-08-07 17:11 ` [PATCH v8 04/23] net: introduce alternative implementation as net-lwip/ Jerome Forissier
2024-08-07 17:11 ` [PATCH v8 05/23] configs: replace '# CONFIG_NET is not set' with CONFIG_NO_NET=y Jerome Forissier
2024-08-07 17:11 ` [PATCH v8 06/23] net: fec_mxc_init(): do not ignore return status of fec_open() Jerome Forissier
2024-08-07 18:05   ` Fabio Estevam
2024-08-08 13:01     ` Jerome Forissier
2024-08-07 17:11 ` [PATCH v8 07/23] net: split include/net.h into net{, -common, -legacy, -lwip}.h Jerome Forissier
2024-08-07 17:11 ` [PATCH v8 08/23] net: eth-uclass: add function eth_start_udev() Jerome Forissier
2024-08-07 17:11 ` [PATCH v8 09/23] net-lwip: build lwIP Jerome Forissier
2024-08-07 17:11 ` [PATCH v8 10/23] net-lwip: add DHCP support and dhcp commmand Jerome Forissier
2024-08-07 17:11 ` [PATCH v8 11/23] net-lwip: add TFTP support and tftpboot command Jerome Forissier
2024-08-07 17:11 ` [PATCH v8 12/23] net-lwip: add ping command Jerome Forissier
2024-08-07 17:11 ` [PATCH v8 13/23] net-lwip: add dns command Jerome Forissier
2024-08-07 17:11 ` [PATCH v8 14/23] net: split cmd/net.c into cmd/net.c and cmd/net-common.c Jerome Forissier
2024-08-07 17:11 ` [PATCH v8 15/23] net-lwip: add wget command Jerome Forissier
2024-08-07 17:12 ` [PATCH v8 16/23] net-lwip: lwIP wget supports user defined port in the uri, so allow it Jerome Forissier
2024-08-07 17:12 ` [PATCH v8 17/23] cmd: bdinfo: enable -e when CONFIG_CMD_NET_LWIP=y Jerome Forissier
2024-08-07 17:12 ` [PATCH v8 18/23] configs: add qemu_arm64_lwip_defconfig Jerome Forissier
2024-08-07 17:12 ` [PATCH v8 19/23] lwip: tftp: add support of blksize option to client Jerome Forissier
2024-08-07 17:12 ` [PATCH v8 20/23] net-lwip: add TFTP_BLOCKSIZE Jerome Forissier
2024-08-07 17:12 ` [PATCH v8 21/23] CI: add qemu_arm64_lwip to the test matrix Jerome Forissier
2024-08-07 17:12 ` [PATCH v8 22/23] test/py: add HTTP (wget) test for the EFI loader Jerome Forissier
2024-08-07 17:52   ` Tom Rini
2024-08-08 13:15     ` Jerome Forissier
2024-08-07 17:57   ` Tom Rini
2024-08-08 13:06     ` Jerome Forissier
2024-08-08 15:52       ` Tom Rini
2024-08-08 16:10         ` Jerome Forissier
2024-08-08 16:20       ` Tom Rini
2024-08-08 16:30         ` Jerome Forissier
2024-08-07 17:12 ` [PATCH v8 23/23] MAINTAINERS: net-lwip: add myself as a maintainer Jerome Forissier
2024-08-07 20:44 ` [PATCH v8 00/23] Introduce the lwIP network stack Tom Rini
2024-08-08 16:41   ` Jerome Forissier
2024-08-08 17:24     ` Tom Rini
2024-08-09 13:19       ` Jerome Forissier
2024-08-09 19:46         ` Tom Rini
2024-08-16 16:21   ` Jerome Forissier
2024-08-16 18:40     ` Tom Rini [this message]
2024-08-19 14:53       ` Jerome Forissier
2024-08-19 22:08         ` Tom Rini
2024-08-21  9:04           ` Jerome Forissier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240816184019.GD1626301@bill-the-cat \
    --to=trini@konsulko.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=javier.tia@linaro.org \
    --cc=jerome.forissier@linaro.org \
    --cc=muvarov@gmail.com \
    --cc=raymond.mao@linaro.org \
    --cc=tharvey@gateworks.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox