U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Dahl <ada@thorsis.com>
To: Maxim Uvarov <maxim.uvarov@linaro.org>
Cc: u-boot@lists.denx.de, pbrobinson@gmail.com,
	ilias.apalodimas@linaro.org, trini@konsulko.com,
	goldsimon@gmx.de
Subject: Re: [PATHv11 00/43] net/lwip: add lwip library for the network stack
Date: Tue, 19 Dec 2023 11:12:49 +0100	[thread overview]
Message-ID: <20231219-49026ec51e53dffb0c4d4e20@thorsis.com> (raw)
In-Reply-To: <20231127125726.3735-1-maxim.uvarov@linaro.org>

Hello Maxim,

Am Mon, Nov 27, 2023 at 06:56:43PM +0600 schrieb Maxim Uvarov:
> Hello,
> 
> Please find updated version of lwip patches. Changes are in the
> changelog bellow.
> 
> Thank you,
> Maxim. 
> 
> changelog:
> 	v11: - v11 is mosly respin of v10 patches with CI error fixes.
>                 Gitlab CI: 
>                 https://source.denx.de/u-boot/custodians/u-boot-tpm/-/pipelines/18368
>                 Azure CI:
>                 https://dev.azure.com/u-boot/u-boot/_build/results?buildId=7366&view=results
>                 (Azure CI, which is connected to github. Sometime I can see
>                  tftp timeout after some part of download there, but that can not be
>                  reproduced locally. While Gitblab CI is stable. Because of num tries in
>                  CI I suspect this CI was not always reliable.)
>                 Azure and Gitlab also have different toolchains and I 
>                 would say Gitlab generates bigger code then Azure CI.
>                 
>                 Also many boards have a binary limit size of 800k (even
>                 qemu has limits). And increased limits to fit all the code. Specially did it
>                 patch by board config to show which boards are failing to build. There I have
>                 a question if we really want to support new functionality for old boards (mips,
>                 arm32 and etc...). I hope board owners can help me if
>                 it's valid to increase these limits.

In general one can not simply increase that limit without knowing
details on where U-Boot binary is supposed to be stored on a
particular board.  For example there are boards where U-Boot is stored
on NAND flash with fixed sized (mtd) partitions.  Changing the
partition layout on a running board is quite risky from my point of
view, so you can assume that partition sizes fixed at all times.
Those sizes determine the limit however.  That said: it has to be
checked board by board if such a limit can be increased at all.

Greets
Alex

> 
> 		In this version I used git submodules and friend CI with
> 		submodules. But I don't mind if you decide to maintain it in a different
> 		way.
> 
> 
> 	v10: - fix ping with following tftp command issue with incorrect
> 		ping timeout clear.
> 	     - Makefile on make will init submodules and if needed will
> 	       do git clone.
> 	     - wget - some minor code style changes.
> 	v9: - added first patch describing git submodule for lwip. So
> 	      the build procedure is:
> 		git submodule init
> 		git submodule update
> 		make
> 	    - reworked a little bit dhcp cmd state polling
> 	    - fixed review comments for v8
> 	v8: - comments for previous review
> 	    - removed lwip timeout callback pointer
> 	    - made lwip timeouts works, that also allowed to remove
> 	      static vars.
> 	    - setenv for filesize tftp and wget has to be in hex.
> 	    - Makefile changes always compile it tftp,dns,wget,ping due
> 	      to it can be used not only by CONFIG_CMD_.
> 	    - Kconfig changes - simplify lwIP settings and support only
> 	      one configuration.
> 	    - tested with mini debian.iso load over http or tftp, mount
> 	      and boot it (qemu, arm64).
> 	v7: - more review fixes.
> 	    - support of multiply eth devices, were "ethact" selects the
> 	      active device.
> 	v6: - fixed review comments for v5 (thanks Ilias and Simon).
> 	v5: - fixed Iliases comments and split big patch on the small
> 		ones.
> 	v4: - tested with tests/py/ did some minor fixes (out of tree
> 		build, variables set after downloads).
> 	    - accounted review comments for documentation.
> 	    - implemented dns command
>             - corrected wget command to not use serverip variable and use just
> 		url string.
> 	v3: - use lwip commands for ping,tftp,wget,dhcp if this patch
> 	      applied. Drop CONFIG_LIB_LWIP_REPLACE_<COMMAND> option.
> 	    - docs: use rst variant and drop references to RFC.
> 
> Maxim Uvarov (43):
>   submodule: add lwIP as git submodule
>   net/lwip: add doc/develop/net_lwip.rst
>   net/lwip: integrate lwIP library
>   net/lwip: implement dns cmd
>   net/lwip: implement dhcp cmd
>   net/lwip: implement tftp cmd
>   net/lwip: implement wget cmd
>   net/lwip: implement ping cmd
>   net/lwip: add lwIP configuration
>   net/lwip: implement lwIP port to U-Boot
>   net/lwip: update .gitignore with lwIP
>   net/lwip: connection between cmd and lwip apps
>   net/lwip: replace original net commands with lwip
>   net/lwip: split net.h to net.h, arp.h and eth.h
>   test_efi_loader.py: use $filesize var
>   test_net: print out net list
>   net: sandbox: fix NULL pointer derefences
>   net/smc911x: fix return from smc911x_send
>   sandbox: eth-raw-os: successful return code is 0
>   driver/net/rtl8139: remove debug print
>   mach-socfpga: do not overlap defines with lwip
>   bcm_ns3: fix overlap define with lwip
>   rcar3_salvator-x_defconfig: increase binary size limit
>   lwip: omap3: rename mem_init
>   configs/turris_omnia_defconfig set limit to 0xf6000
>   configs/tbs2910_defconfig inc limit
>   configs/socfpga_secu1_defconfig: enable LTO
>   configs/turris_omnia_defconfig: enable LTO
>   configs/am335x_boneblack_vboot_defconfig: enable LTO and increase SPL
>     size
>   configs/sheevaplug_defconfig: enable LTO and inc size
>   configs/lschlv2_defconfig: enable LTO and inc size
>   configs/lsxhl_defconfig: LTO + size
>   configs/am335x_evm_defconfig: inc SPL size
>   configs/bk4r1_defconfig: inc size
>   configs/linkit-smart-7688_defconfig: increse size
>   configs/gardena-smart-gateway-mt7688_defconfig: increase size
>   configs/rcar3_ulcb_defconfig: increase size
>   configs/qemu-x86_64_defconfig: increase ROM size
>   Makefile: add dtbs to clean
>   .azure-pipelines: init submodules
>   mach-mtmips: inc SPL size limit
>   configs/linkit-smart-7688_defconfig: increase board limit
>   .gitlab-ci.yml: change ownership of the git files
> 
>  .azure-pipelines.yml                          |  10 +-
>  .gitlab-ci.yml                                |  15 +-
>  .gitmodules                                   |   4 +
>  Makefile                                      |  12 +-
>  arch/arm/include/asm/arch-omap3/mem.h         |   2 +-
>  arch/arm/mach-omap2/omap3/board.c             |   2 +-
>  arch/arm/mach-omap2/omap3/emif4.c             |   4 +-
>  arch/arm/mach-omap2/omap3/sdrc.c              |   6 +-
>  .../mach-socfpga/include/mach/handoff_soc64.h |   6 -
>  arch/arm/mach-socfpga/wrap_handoff_soc64.c    |   9 +
>  arch/mips/mach-mtmips/Kconfig                 |   2 +-
>  arch/sandbox/cpu/eth-raw-os.c                 |   2 +-
>  boot/bootmeth_efi.c                           |  18 +-
>  boot/bootmeth_pxe.c                           |  21 +-
>  cmd/Makefile                                  |   1 +
>  cmd/net-lwip.c                                | 307 ++++++++++++++++
>  cmd/net.c                                     |  86 +----
>  cmd/pxe.c                                     |  19 +-
>  configs/am335x_boneblack_vboot_defconfig      |   3 +
>  configs/am335x_evm_defconfig                  |   1 +
>  configs/bk4r1_defconfig                       |   2 +-
>  .../gardena-smart-gateway-mt7688_defconfig    |   2 +-
>  configs/linkit-smart-7688_defconfig           |   2 +-
>  configs/lschlv2_defconfig                     |   3 +-
>  configs/lsxhl_defconfig                       |   3 +-
>  configs/qemu-x86_64_defconfig                 |   5 +-
>  configs/rcar3_salvator-x_defconfig            |   3 +-
>  configs/rcar3_ulcb_defconfig                  |   1 +
>  configs/sheevaplug_defconfig                  |   3 +-
>  configs/socfpga_secu1_defconfig               |   1 +
>  configs/tbs2910_defconfig                     |   2 +-
>  configs/turris_omnia_defconfig                |   3 +-
>  doc/develop/index.rst                         |   1 +
>  doc/develop/net_lwip.rst                      |  75 ++++
>  drivers/net/rtl8139.c                         |   1 -
>  drivers/net/sandbox.c                         |   5 +
>  drivers/net/smc911x.c                         |   2 +-
>  include/configs/bcm_ns3.h                     |   6 +-
>  include/net.h                                 | 197 +----------
>  include/net/arp.h                             |   9 +
>  include/net/eth.h                             | 194 +++++++++++
>  include/net/lwip.h                            |  73 ++++
>  include/net/ulwip.h                           |  67 ++++
>  lib/Kconfig                                   |   2 +-
>  net/Kconfig                                   |   3 +
>  net/Makefile                                  |   1 +
>  net/eth-uclass.c                              |  37 +-
>  net/lwip/.gitignore                           |   8 +
>  net/lwip/Kconfig                              |  34 ++
>  net/lwip/Makefile                             |  70 ++++
>  net/lwip/apps/dhcp/lwip-dhcp.c                |  86 +++++
>  net/lwip/apps/dns/lwip-dns.c                  |  63 ++++
>  net/lwip/apps/http/Makefile                   |   6 +
>  net/lwip/apps/http/lwip-wget.c                | 105 ++++++
>  net/lwip/apps/ping/Makefile                   |  12 +
>  net/lwip/apps/ping/lwip_ping.c                |  39 +++
>  net/lwip/apps/ping/lwip_ping.h                |  15 +
>  net/lwip/apps/ping/ping.h                     |  28 ++
>  net/lwip/apps/tftp/Makefile                   |   7 +
>  net/lwip/apps/tftp/lwip-tftp.c                | 132 +++++++
>  net/lwip/lwip-external                        |   1 +
>  net/lwip/lwipopts.h                           | 178 ++++++++++
>  net/lwip/port/if.c                            | 327 ++++++++++++++++++
>  net/lwip/port/include/arch/cc.h               |  44 +++
>  net/lwip/port/include/arch/sys_arch.h         |  10 +
>  net/lwip/port/include/limits.h                |   0
>  net/lwip/port/sys-arch.c                      |  13 +
>  net/net.c                                     |  44 ++-
>  test/py/tests/test_efi_loader.py              |   4 +-
>  test/py/tests/test_net.py                     |   2 +
>  70 files changed, 2113 insertions(+), 348 deletions(-)
>  create mode 100644 .gitmodules
>  create mode 100644 cmd/net-lwip.c
>  create mode 100644 doc/develop/net_lwip.rst
>  create mode 100644 include/net/arp.h
>  create mode 100644 include/net/eth.h
>  create mode 100644 include/net/lwip.h
>  create mode 100644 include/net/ulwip.h
>  create mode 100644 net/lwip/.gitignore
>  create mode 100644 net/lwip/Kconfig
>  create mode 100644 net/lwip/Makefile
>  create mode 100644 net/lwip/apps/dhcp/lwip-dhcp.c
>  create mode 100644 net/lwip/apps/dns/lwip-dns.c
>  create mode 100644 net/lwip/apps/http/Makefile
>  create mode 100644 net/lwip/apps/http/lwip-wget.c
>  create mode 100644 net/lwip/apps/ping/Makefile
>  create mode 100644 net/lwip/apps/ping/lwip_ping.c
>  create mode 100644 net/lwip/apps/ping/lwip_ping.h
>  create mode 100644 net/lwip/apps/ping/ping.h
>  create mode 100644 net/lwip/apps/tftp/Makefile
>  create mode 100644 net/lwip/apps/tftp/lwip-tftp.c
>  create mode 160000 net/lwip/lwip-external
>  create mode 100644 net/lwip/lwipopts.h
>  create mode 100644 net/lwip/port/if.c
>  create mode 100644 net/lwip/port/include/arch/cc.h
>  create mode 100644 net/lwip/port/include/arch/sys_arch.h
>  create mode 100644 net/lwip/port/include/limits.h
>  create mode 100644 net/lwip/port/sys-arch.c
> 
> -- 
> 2.30.2
> 

  parent reply	other threads:[~2023-12-19 10:13 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-27 12:56 [PATHv11 00/43] net/lwip: add lwip library for the network stack Maxim Uvarov
2023-11-27 12:56 ` [PATHv11 01/43] submodule: add lwIP as git submodule Maxim Uvarov
2023-11-27 18:16   ` Tom Rini
2023-11-30  2:45     ` Simon Glass
2023-11-30 11:43       ` Michal Suchánek
2023-11-27 12:56 ` [PATHv11 02/43] net/lwip: add doc/develop/net_lwip.rst Maxim Uvarov
2023-11-27 12:56 ` [PATHv11 03/43] net/lwip: integrate lwIP library Maxim Uvarov
2023-11-27 12:56 ` [PATHv11 04/43] net/lwip: implement dns cmd Maxim Uvarov
2023-11-27 18:27   ` Tom Rini
2023-11-27 12:56 ` [PATHv11 05/43] net/lwip: implement dhcp cmd Maxim Uvarov
2023-11-27 12:56 ` [PATHv11 06/43] net/lwip: implement tftp cmd Maxim Uvarov
2023-11-28 16:34   ` neil.armstrong
2023-11-28 19:09     ` Maxim Uvarov
2023-11-29  9:24   ` neil.armstrong
2023-11-27 12:56 ` [PATHv11 07/43] net/lwip: implement wget cmd Maxim Uvarov
2023-11-28 11:32   ` Fabio Estevam
2023-11-28 19:07     ` Maxim Uvarov
2023-11-28 19:12       ` Fabio Estevam
2023-11-28 20:41         ` Tim Harvey
2023-11-28 20:43           ` Tom Rini
2023-11-29  7:18             ` Maxim Uvarov
2023-11-27 12:56 ` [PATHv11 08/43] net/lwip: implement ping cmd Maxim Uvarov
2023-11-27 12:56 ` [PATHv11 09/43] net/lwip: add lwIP configuration Maxim Uvarov
2023-11-27 12:56 ` [PATHv11 10/43] net/lwip: implement lwIP port to U-Boot Maxim Uvarov
2023-11-27 18:31   ` Tom Rini
2023-11-27 12:56 ` [PATHv11 11/43] net/lwip: update .gitignore with lwIP Maxim Uvarov
2023-11-27 12:56 ` [PATHv11 12/43] net/lwip: connection between cmd and lwip apps Maxim Uvarov
2023-11-27 12:56 ` [PATHv11 13/43] net/lwip: replace original net commands with lwip Maxim Uvarov
2023-11-27 12:56 ` [PATHv11 14/43] net/lwip: split net.h to net.h, arp.h and eth.h Maxim Uvarov
2023-11-27 12:56 ` [PATHv11 15/43] test_efi_loader.py: use $filesize var Maxim Uvarov
2023-11-27 18:18   ` Tom Rini
2023-11-28 11:05     ` neil.armstrong
2023-11-27 12:56 ` [PATHv11 16/43] test_net: print out net list Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 17/43] net: sandbox: fix NULL pointer derefences Maxim Uvarov
2023-11-27 18:19   ` Tom Rini
2023-12-02 18:33     ` Simon Glass
2023-12-02 19:04       ` Tom Rini
2023-11-27 12:57 ` [PATHv11 18/43] net/smc911x: fix return from smc911x_send Maxim Uvarov
2023-11-27 18:20   ` Tom Rini
2023-11-27 12:57 ` [PATHv11 19/43] sandbox: eth-raw-os: successful return code is 0 Maxim Uvarov
2023-11-30  2:45   ` Simon Glass
2023-11-27 12:57 ` [PATHv11 20/43] driver/net/rtl8139: remove debug print Maxim Uvarov
2023-11-27 18:33   ` Tom Rini
2023-11-27 12:57 ` [PATHv11 21/43] mach-socfpga: do not overlap defines with lwip Maxim Uvarov
2023-11-27 18:35   ` Tom Rini
2023-11-27 12:57 ` [PATHv11 22/43] bcm_ns3: fix overlap define " Maxim Uvarov
2023-11-27 18:36   ` Tom Rini
2023-11-27 12:57 ` [PATHv11 23/43] rcar3_salvator-x_defconfig: increase binary size limit Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 24/43] lwip: omap3: rename mem_init Maxim Uvarov
2023-11-27 13:12   ` Tom Rini
2023-11-27 12:57 ` [PATHv11 25/43] configs/turris_omnia_defconfig set limit to 0xf6000 Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 26/43] configs/tbs2910_defconfig inc limit Maxim Uvarov
2023-11-27 13:11   ` Tom Rini
2023-11-27 21:20     ` Soeren Moch
2023-11-28  7:09       ` Maxim Uvarov
2023-12-05 13:15         ` Maxim Uvarov
2023-12-05 15:49           ` Soeren Moch
2023-12-05 16:25             ` Maxim Uvarov
2023-12-05 18:25               ` Soeren Moch
2023-12-05 20:00                 ` Maxim Uvarov
2023-12-06  7:06                   ` Soeren Moch
2023-12-06 10:40                     ` Maxim Uvarov
2023-12-07 11:10                       ` Sören Moch
2023-12-09 20:32                 ` Tom Rini
2023-12-09 20:21             ` Tom Rini
2023-11-27 12:57 ` [PATHv11 27/43] configs/socfpga_secu1_defconfig: enable LTO Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 28/43] configs/turris_omnia_defconfig: " Maxim Uvarov
2023-11-27 15:59   ` marek.behun
2023-12-19  9:38   ` Marek Behún
2023-12-19 14:37     ` Marek Behún
2023-11-27 12:57 ` [PATHv11 29/43] configs/am335x_boneblack_vboot_defconfig: enable LTO and increase SPL size Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 30/43] configs/sheevaplug_defconfig: enable LTO and inc size Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 31/43] configs/lschlv2_defconfig: " Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 32/43] configs/lsxhl_defconfig: LTO + size Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 33/43] configs/am335x_evm_defconfig: inc SPL size Maxim Uvarov
2023-11-27 13:08   ` Tom Rini
2023-11-27 14:06     ` Maxim Uvarov
2023-11-27 14:08       ` Tom Rini
2023-11-27 15:31         ` Maxim Uvarov
2023-11-27 15:33           ` Tom Rini
2023-11-27 15:52           ` Peter Robinson
2023-11-27 16:31             ` Tom Rini
2023-11-28  9:35               ` Maxim Uvarov
2023-11-28 15:07                 ` Tom Rini
2023-11-27 14:06     ` Peter Robinson
2023-11-27 12:57 ` [PATHv11 34/43] configs/bk4r1_defconfig: inc size Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 35/43] configs/linkit-smart-7688_defconfig: increse size Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 36/43] configs/gardena-smart-gateway-mt7688_defconfig: increase size Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 37/43] configs/rcar3_ulcb_defconfig: " Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 38/43] configs/qemu-x86_64_defconfig: increase ROM size Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 39/43] Makefile: add dtbs to clean Maxim Uvarov
2023-11-27 18:17   ` Tom Rini
2023-11-27 12:57 ` [PATHv11 40/43] .azure-pipelines: init submodules Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 41/43] mach-mtmips: inc SPL size limit Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 42/43] configs/linkit-smart-7688_defconfig: increase board limit Maxim Uvarov
2023-11-27 12:57 ` [PATHv11 43/43] .gitlab-ci.yml: change ownership of the git files Maxim Uvarov
2023-11-27 18:37 ` [PATHv11 00/43] net/lwip: add lwip library for the network stack Tom Rini
2023-11-27 18:59 ` Tom Rini
2023-11-28 10:37 ` neil.armstrong
2023-11-28 19:13   ` Maxim Uvarov
2023-11-28 23:05 ` Tim Harvey
2023-11-28 23:21   ` Fabio Estevam
2023-11-29  0:10     ` Tim Harvey
2023-11-29  0:16       ` Fabio Estevam
2023-11-30  8:39         ` Maxim Uvarov
2023-11-30 13:00           ` Fabio Estevam
2023-11-30 13:14             ` Maxim Uvarov
2023-11-30 13:18               ` Fabio Estevam
2023-11-30 11:09 ` Peter Robinson
2023-11-30 13:05   ` Maxim Uvarov
2023-12-19 10:12 ` Alexander Dahl [this message]
2024-01-02 17:30   ` Maxim Uvarov
2024-01-03 14:30     ` Fabio Estevam
2024-01-04 15:02       ` Maxim Uvarov
2024-01-04 20:45         ` Fabio Estevam
2024-01-08  8:41           ` Maxim Uvarov
2024-01-08 11:39             ` Fabio Estevam

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=20231219-49026ec51e53dffb0c4d4e20@thorsis.com \
    --to=ada@thorsis.com \
    --cc=goldsimon@gmx.de \
    --cc=ilias.apalodimas@linaro.org \
    --cc=maxim.uvarov@linaro.org \
    --cc=pbrobinson@gmail.com \
    --cc=trini@konsulko.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