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>,
	Anton Antonov <Anton.Antonov@arm.com>
Subject: Re: [PATCH v10 00/25] Introduce the lwIP network stack
Date: Mon, 9 Sep 2024 10:19:32 -0600	[thread overview]
Message-ID: <20240909161932.GC4252@bill-the-cat> (raw)
In-Reply-To: <4b66d045-5410-4991-96e5-1d9cd98cbdf9@linaro.org>

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

On Mon, Sep 09, 2024 at 04:11:37PM +0200, Jerome Forissier wrote:
> 
> 
> On 9/6/24 19:54, Tom Rini wrote:
> > On Fri, Sep 06, 2024 at 02:33:16PM +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
> > 
> > On am64x-sk (am64x_evm_a53_defconfig) I'm seeing:
> > => tftpboot 80200000 EFI/arm64/grubaa64.efi
> > Using ethernet@8000000port@1 device
> > TFTP from server 192.168.116.10; our IP address is 192.168.116.23
> > Filename 'EFI/arm64/grubaa64.efi'.
> > Load address: 0x80200000
> > Loading:
> > ... silent hang ...
> > 
> > Which I didn't see with v9. I can test other TI K3 platforms if it would
> > help.
> 
> Weird. I compared v9 and v10 (rebased onto the same commit as v9) but
> I saw nothing obvious. Would you mind running the test again with these
> traces added?
> 
> diff --git a/net/lwip/net-lwip.c b/net/lwip/net-lwip.c
> index 1948fc1c309..9bbfd8ee5a7 100644
> --- a/net/lwip/net-lwip.c
> +++ b/net/lwip/net-lwip.c
> @@ -35,6 +35,7 @@ static err_t linkoutput(struct netif *netif, struct pbuf *p)
>  	void *pp = NULL;
>  	int err;
>  
> +	printf("[OUT|%d]", p->len);
>  	if ((unsigned long)p->payload % PKTALIGN) {
>  		/*
>  		 * Some net drivers have strict alignment requirements and may
> @@ -252,12 +253,16 @@ int net_lwip_rx(struct udevice *udev, struct netif *netif)
>  	int len;
>  	int i;
>  
> -	if (!eth_is_active(udev))
> +	printf("[IN]");
> +	if (!eth_is_active(udev)) {
> +		printf("ERR: !eth_is_active()\n");
>  		return -EINVAL;
> +	}
>  
>  	flags = ETH_RECV_CHECK_DEVICE;
>  	for (i = 0; i < ETH_PACKETS_BATCH_RECV; i++) {
>  		len = eth_get_ops(udev)->recv(udev, flags, &packet);
> +		printf("[IN|%d]", len);
>  		flags = 0;
>  
>  		if (len > 0) {

I have the log, if it helps. However, with debug prints added, now it
completes. And I can see (as part of trimming down my test setup) that
without the prints, some tests are OK. The much smaller "helloworld.efi"
file and test is fine.

-- 
Tom

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

  reply	other threads:[~2024-09-09 16:19 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-06 12:33 [PATCH v10 00/25] Introduce the lwIP network stack Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 01/25] Miscellaneous fixes Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 02/25] net: introduce alternative implementation as net-lwip/ Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 03/25] configs: replace '# CONFIG_NET is not set' with CONFIG_NO_NET=y Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 04/25] net: split include/net.h into net{, -common, -legacy, -lwip}.h Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 05/25] net: move copy_filename() to new file net/net-common.c Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 06/25] net: eth-uclass: add function eth_start_udev() Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 07/25] net-lwip: build lwIP Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 08/25] net-lwip: add DHCP support and dhcp commmand Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 09/25] net-lwip: add TFTP support and tftpboot command Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 10/25] net-lwip: add ping command Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 11/25] net-lwip: add dns command Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 12/25] net: split cmd/net.c into cmd/net.c and cmd/net-common.c Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 13/25] net-lwip: add wget command Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 14/25] net-lwip: lwIP wget supports user defined port in the uri, so allow it Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 15/25] cmd: bdinfo: enable -e when CONFIG_CMD_NET_LWIP=y Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 16/25] configs: add qemu_arm64_lwip_defconfig Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 17/25] lwip: tftp: add support of blksize option to client Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 18/25] net-lwip: add TFTP_BLOCKSIZE Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 19/25] CI: add qemu_arm64_lwip to the test matrix Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 20/25] MAINTAINERS: net-lwip: add myself as a maintainer Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 21/25] Kconfig: fix undefined symbols (g_dnl*) when NET_LWIP is default enabled Jerome Forissier
2024-09-09 14:32   ` Tom Rini
2024-09-09 14:35   ` Marek Vasut
2024-09-10  9:50     ` Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 22/25] configs: use syntax CONFIG_FOO=n in tools-only_defconfig Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 23/25] [TESTING] configs: set CONFIG_NET=y for FTGMAC100 Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 24/25] [TESTING] configs: set CONFIG_NET=y when PXE is enabled Jerome Forissier
2024-09-06 12:33 ` [PATCH v10 25/25] [TESTING] Kconfig: enable NET_LWIP by default except for SANDBOX Jerome Forissier
2024-09-06 17:54 ` [PATCH v10 00/25] Introduce the lwIP network stack Tom Rini
2024-09-09 14:11   ` Jerome Forissier
2024-09-09 16:19     ` Tom Rini [this message]
2024-09-13  9:33       ` Jerome Forissier
2024-09-13 13:59         ` Tom Rini
2024-09-13 14:37           ` 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=20240909161932.GC4252@bill-the-cat \
    --to=trini@konsulko.com \
    --cc=Anton.Antonov@arm.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