[PATHv11 00/43] net/lwip: add lwip library for the network stack
Maxim Uvarov
maxim.uvarov at linaro.org
Mon Nov 27 13:56:43 CET 2023
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 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
More information about the U-Boot
mailing list