Message ID | cover.1724419624.git.jerome.forissier@linaro.org |
---|---|
Headers | show |
Series | Introduce the lwIP network stack | expand |
On Fri, Aug 23, 2024 at 03:48:04PM +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 As an odd thing, the series leads to ethernut5 failing to build, strangely over the RTC driver it uses, for me. I did have to manually merge the CMD_WGET related patch, but I don't think that was what went wrong here.
On 8/23/24 23:18, Tom Rini wrote: > On Fri, Aug 23, 2024 at 03:48:04PM +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 > > As an odd thing, the series leads to ethernut5 failing to build, > strangely over the RTC driver it uses, for me. Weird. > I did have to manually > merge the CMD_WGET related patch, Weird. > but I don't think that was what went > wrong here. Could you try to build from GitHub perhaps? Branch https://github.com/jforissier/u-boot/tree/to-upstream/v9 builds fine here: $ ./tools/buildman/buildman ethernut5 Building current source for 1 boards (1 thread, 24 jobs per thread) arm: w+ ethernut5 +===================== WARNING ====================== +This board does not use CONFIG_DM_I2C (Driver Model +for I2C drivers). Please update the board to use +CONFIG_DM_I2C before the v2022.04 release. Failure to +update by the deadline may result in board removal. +See doc/develop/driver-model/migration.rst for more info. +==================================================== 0 1 0 /1 ethernut5 Thanks,
On Mon, Aug 26, 2024 at 01:45:10PM +0200, Jerome Forissier wrote: > > > On 8/23/24 23:18, Tom Rini wrote: > > On Fri, Aug 23, 2024 at 03:48:04PM +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 > > > > As an odd thing, the series leads to ethernut5 failing to build, > > strangely over the RTC driver it uses, for me. > > Weird. > > > I did have to manually > > merge the CMD_WGET related patch, > > Weird. > > > but I don't think that was what went > > wrong here. > > Could you try to build from GitHub perhaps? > Branch https://github.com/jforissier/u-boot/tree/to-upstream/v9 builds > fine here: > > $ ./tools/buildman/buildman ethernut5 > Building current source for 1 boards (1 thread, 24 jobs per thread) > arm: w+ ethernut5 > +===================== WARNING ====================== > +This board does not use CONFIG_DM_I2C (Driver Model > +for I2C drivers). Please update the board to use > +CONFIG_DM_I2C before the v2022.04 release. Failure to > +update by the deadline may result in board removal. > +See doc/develop/driver-model/migration.rst for more info. > +==================================================== > 0 1 0 /1 ethernut5 I think you weren't on latest next branch when you posted v9, and that's at least the merge conflict. I see the platform builds on your branch as well, but fails still, on mine.
On 8/26/24 16:47, Tom Rini wrote: > On Mon, Aug 26, 2024 at 01:45:10PM +0200, Jerome Forissier wrote: >> >> >> On 8/23/24 23:18, Tom Rini wrote: >>> On Fri, Aug 23, 2024 at 03:48:04PM +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 >>> >>> As an odd thing, the series leads to ethernut5 failing to build, >>> strangely over the RTC driver it uses, for me. >> >> Weird. >> >>> I did have to manually >>> merge the CMD_WGET related patch, >> >> Weird. >> >>> but I don't think that was what went >>> wrong here. >> >> Could you try to build from GitHub perhaps? >> Branch https://github.com/jforissier/u-boot/tree/to-upstream/v9 builds >> fine here: >> >> $ ./tools/buildman/buildman ethernut5 >> Building current source for 1 boards (1 thread, 24 jobs per thread) >> arm: w+ ethernut5 >> +===================== WARNING ====================== >> +This board does not use CONFIG_DM_I2C (Driver Model >> +for I2C drivers). Please update the board to use >> +CONFIG_DM_I2C before the v2022.04 release. Failure to >> +update by the deadline may result in board removal. >> +See doc/develop/driver-model/migration.rst for more info. >> +==================================================== >> 0 1 0 /1 ethernut5 > > I think you weren't on latest next branch when you posted v9, and that's > at least the merge conflict. I see the platform builds on your branch as > well, but fails still, on mine. I was on latest master as recommended by the documentation [1] but perhaps I missed an announcement that next should be used instead? Anyway I'm looking into the issues now. Thanks! [1] https://docs.u-boot.org/en/latest/develop/sending_patches.html -- Jerome
On Mon, Aug 26, 2024 at 05:08:10PM +0200, Jerome Forissier wrote: > > > On 8/26/24 16:47, Tom Rini wrote: > > On Mon, Aug 26, 2024 at 01:45:10PM +0200, Jerome Forissier wrote: > >> > >> > >> On 8/23/24 23:18, Tom Rini wrote: > >>> On Fri, Aug 23, 2024 at 03:48:04PM +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 > >>> > >>> As an odd thing, the series leads to ethernut5 failing to build, > >>> strangely over the RTC driver it uses, for me. > >> > >> Weird. > >> > >>> I did have to manually > >>> merge the CMD_WGET related patch, > >> > >> Weird. > >> > >>> but I don't think that was what went > >>> wrong here. > >> > >> Could you try to build from GitHub perhaps? > >> Branch https://github.com/jforissier/u-boot/tree/to-upstream/v9 builds > >> fine here: > >> > >> $ ./tools/buildman/buildman ethernut5 > >> Building current source for 1 boards (1 thread, 24 jobs per thread) > >> arm: w+ ethernut5 > >> +===================== WARNING ====================== > >> +This board does not use CONFIG_DM_I2C (Driver Model > >> +for I2C drivers). Please update the board to use > >> +CONFIG_DM_I2C before the v2022.04 release. Failure to > >> +update by the deadline may result in board removal. > >> +See doc/develop/driver-model/migration.rst for more info. > >> +==================================================== > >> 0 1 0 /1 ethernut5 > > > > I think you weren't on latest next branch when you posted v9, and that's > > at least the merge conflict. I see the platform builds on your branch as > > well, but fails still, on mine. > > I was on latest master as recommended by the documentation [1] but perhaps > I missed an announcement that next should be used instead? > Anyway I'm looking into the issues now. Thanks! > > [1] https://docs.u-boot.org/en/latest/develop/sending_patches.html Ah, OK. Yeah, so https://docs.u-boot.org/en/latest/develop/release_cycle.html was updated to reflect when next opens, but sending_patches needs to be clarified. I'll go look at that now. When the next branch is open, new work should be based on that.
Hi Jerome, > > Jerome Forissier (36): > Makefile: detect HOST_ARCH properly when CROSS_COMPILE is multi-word > flash: prefix error codes with FL_ > at91: rename mem_init() to at91_mem_init() > arm: omap2: add missing #include <netdev.h> > net: fm: call dtsec_init_phy() only when it is defined > net: wget: removed unused function wget_success() > net: phy: ncsi: depend on NET > net: ftgmac100: depend on NET > net: wget: allow EFI boot > net: fec_mxc_init(): do not ignore return status of fec_open() > test/py: net_boot: fix comment > test/py: test_efi_loader: add missing dependency on cmd_tftpboot > test/py: test_efi_loader: add HTTP (wget) test for the EFI loader All of the above look like they should be sent as a separate fixes series which the following can depend on, they all look like fixes that are separate to the rest and likely are useful on their own. It would have the advantage of slimming down the series. > net: introduce alternative implementation as net-lwip/ > configs: replace '# CONFIG_NET is not set' with CONFIG_NO_NET=y > net: split include/net.h into net{,-common,-legacy,-lwip}.h > net: move copy_filename() to new file net/net-common.c > net: eth-uclass: add function eth_start_udev() > net-lwip: build lwIP > net-lwip: add DHCP support and dhcp commmand > net-lwip: add TFTP support and tftpboot command > net-lwip: add ping command > net-lwip: add dns command > net: split cmd/net.c into cmd/net.c and cmd/net-common.c > net-lwip: add wget command > cmd: bdinfo: enable -e when CONFIG_CMD_NET_LWIP=y > configs: add qemu_arm64_lwip_defconfig > lwip: tftp: add support of blksize option to client > net-lwip: add TFTP_BLOCKSIZE > CI: add qemu_arm64_lwip to the test matrix > MAINTAINERS: net-lwip: add myself as a maintainer > Kconfig: fix undefined symbols (g_dnl*) when NET_LWIP is default > enabled > configs: use syntax CONFIG_FOO=n in tools-only_defconfig > [TESTING] Kconfig: enable NET_LWIP by default except for SANDBOX > [TESTING] configs: set CONFIG_NET=y for FTGMAC100 > [TESTING] configs: set CONFIG_NET=y when PXE is enabled > > Jonathan Humphreys (1): > net-lwip: lwIP wget supports user defined port in the uri, so allow > it. > > .azure-pipelines.yml | 7 + > Kconfig | 31 + > MAINTAINERS | 11 + > Makefile | 6 +- > arch/arm/mach-at91/include/mach/at91_common.h | 2 +- > arch/arm/mach-at91/spl_at91.c | 2 +- > arch/arm/mach-at91/spl_atmel.c | 2 +- > arch/arm/mach-omap2/omap3/emac.c | 1 + > .../atmel/at91sam9m10g45ek/at91sam9m10g45ek.c | 2 +- > board/atmel/at91sam9n12ek/at91sam9n12ek.c | 2 +- > board/atmel/at91sam9x5ek/at91sam9x5ek.c | 2 +- > .../atmel/sama5d27_som1_ek/sama5d27_som1_ek.c | 2 +- > .../sama5d27_wlsom1_ek/sama5d27_wlsom1_ek.c | 2 +- > board/atmel/sama5d2_icp/sama5d2_icp.c | 2 +- > .../atmel/sama5d2_xplained/sama5d2_xplained.c | 2 +- > .../atmel/sama5d3_xplained/sama5d3_xplained.c | 2 +- > board/atmel/sama5d3xek/sama5d3xek.c | 2 +- > .../atmel/sama5d4_xplained/sama5d4_xplained.c | 2 +- > board/atmel/sama5d4ek/sama5d4ek.c | 2 +- > board/cobra5272/flash.c | 26 +- > .../conclusive/kstr-sama5d27/kstr-sama5d27.c | 2 +- > board/engicam/imx8mp/icore_mx8mp.c | 2 +- > board/freescale/m5253demo/flash.c | 6 +- > board/gardena/smart-gateway-at91sam/spl.c | 2 +- > .../imx8mp_debix_model_a.c | 2 +- > board/siemens/corvus/board.c | 2 +- > board/siemens/smartweb/smartweb.c | 2 +- > board/siemens/taurus/taurus.c | 2 +- > board/ti/am335x/board.c | 3 +- > board/xilinx/common/board.c | 3 +- > boot/Kconfig | 4 +- > cmd/Kconfig | 129 ++- > cmd/Makefile | 9 +- > cmd/bdinfo.c | 5 +- > cmd/elf.c | 2 +- > cmd/net-common.c | 109 ++ > cmd/net-lwip.c | 45 + > cmd/net.c | 115 --- > common/Kconfig | 2 +- > common/board_r.c | 4 +- > common/flash.c | 44 +- > common/spl/Kconfig | 1 + > common/usb_kbd.c | 2 +- > configs/LicheePi_Zero_defconfig | 2 +- > configs/M5249EVB_defconfig | 2 +- > configs/ad401_defconfig | 1 + > configs/am335x_pdu001_defconfig | 2 +- > configs/am43xx_evm_defconfig | 1 + > configs/am43xx_evm_qspiboot_defconfig | 1 + > configs/am43xx_evm_rtconly_defconfig | 1 + > configs/am43xx_evm_usbhost_boot_defconfig | 1 + > configs/am43xx_hs_evm_defconfig | 1 + > configs/am43xx_hs_evm_qspi_defconfig | 1 + > configs/am57xx_evm_defconfig | 1 + > configs/am57xx_hs_evm_defconfig | 1 + > configs/am57xx_hs_evm_usb_defconfig | 1 + > configs/am62ax_evm_r5_defconfig | 2 +- > configs/am62px_evm_r5_defconfig | 2 +- > configs/am62x_beagleplay_r5_defconfig | 2 +- > configs/amcore_defconfig | 2 +- > configs/anbernic-rgxx3-rk3566_defconfig | 2 +- > configs/ap143_defconfig | 2 +- > configs/ap152_defconfig | 2 +- > configs/apple_m1_defconfig | 2 +- > configs/arndale_defconfig | 1 + > configs/astro_mcf5373l_defconfig | 2 +- > configs/at91sam9rlek_dataflash_defconfig | 2 +- > configs/at91sam9rlek_mmc_defconfig | 2 +- > configs/at91sam9rlek_nandflash_defconfig | 2 +- > configs/bananapi-cm4-cm4io_defconfig | 1 + > configs/bananapi-m2-pro_defconfig | 1 + > configs/bananapi-m2s_defconfig | 1 + > configs/bananapi-m5_defconfig | 1 + > configs/bcm7260_defconfig | 2 +- > configs/bcm7445_defconfig | 2 +- > configs/bcm968380gerg_ram_defconfig | 2 +- > configs/bcmns_defconfig | 2 +- > configs/beelink-gsking-x_defconfig | 1 + > configs/beelink-gt1-ultimate_defconfig | 1 + > configs/beelink-gtking_defconfig | 1 + > configs/beelink-gtkingpro_defconfig | 1 + > configs/chromebook_samus_tpl_defconfig | 2 +- > configs/clearfog_defconfig | 1 + > configs/clearfog_gt_8k_defconfig | 1 + > configs/clearfog_sata_defconfig | 1 + > configs/clearfog_spi_defconfig | 1 + > configs/cortina_presidio-asic-base_defconfig | 2 +- > configs/cortina_presidio-asic-pnand_defconfig | 2 +- > configs/dra7xx_evm_defconfig | 1 + > configs/dra7xx_hs_evm_defconfig | 1 + > configs/dra7xx_hs_evm_usb_defconfig | 1 + > configs/durian_defconfig | 2 +- > configs/e850-96_defconfig | 2 +- > configs/ea-lpc3250devkitv2_defconfig | 2 +- > configs/efi-x86_app32_defconfig | 2 +- > configs/efi-x86_app64_defconfig | 2 +- > configs/emsdp_defconfig | 2 +- > configs/evb-ast2500_defconfig | 1 + > configs/evb-ast2600_defconfig | 1 + > configs/evb-px5_defconfig | 2 +- > configs/generic-rk3568_defconfig | 2 +- > configs/generic-rk3588_defconfig | 2 +- > configs/hc2910_2aghd05_defconfig | 2 +- > configs/helios4_defconfig | 1 + > configs/igep00x0_defconfig | 2 +- > configs/imx6q_bosch_acc_defconfig | 2 +- > configs/imx6ulz_smm_m2_defconfig | 2 +- > configs/imx8mn_var_som_defconfig | 1 + > configs/iot_devkit_defconfig | 2 +- > configs/jethub_j100_defconfig | 1 + > configs/jethub_j80_defconfig | 1 + > configs/khadas-vim2_defconfig | 1 + > configs/khadas-vim3_defconfig | 1 + > configs/khadas-vim3l_defconfig | 1 + > configs/khadas-vim_defconfig | 1 + > configs/kontron-sl-mx6ul_defconfig | 1 + > configs/kontron-sl-mx8mm_defconfig | 1 + > configs/kontron_pitx_imx8m_defconfig | 1 + > configs/kontron_sl28_defconfig | 1 + > configs/legoev3_defconfig | 2 +- > configs/libretech-ac_defconfig | 1 + > configs/libretech-cc_defconfig | 1 + > configs/libretech-cc_v2_defconfig | 1 + > configs/libretech-s905d-pc_defconfig | 1 + > configs/libretech-s912-pc_defconfig | 1 + > configs/marsboard_defconfig | 1 + > configs/mk808_defconfig | 2 +- > configs/mvebu_crb_cn9130_defconfig | 1 + > configs/mvebu_db_armada8k_defconfig | 1 + > configs/mvebu_db_cn9130_defconfig | 1 + > configs/mvebu_mcbin-88f8040_defconfig | 1 + > configs/mvebu_puzzle-m801-88f8040_defconfig | 1 + > configs/mx23evk_defconfig | 2 +- > configs/mx28evk_defconfig | 2 +- > configs/mx53cx9020_defconfig | 1 + > configs/mx6cuboxi_defconfig | 1 + > configs/mx6memcal_defconfig | 2 +- > configs/mx6ulz_14x14_evk_defconfig | 2 +- > configs/mx7dsabresd_defconfig | 1 + > configs/mx7dsabresd_qspi_defconfig | 1 + > configs/mx7ulp_com_defconfig | 2 +- > configs/mx7ulp_evk_defconfig | 2 +- > configs/mx7ulp_evk_plugin_defconfig | 2 +- > configs/myir_mys_6ulx_defconfig | 1 + > configs/nanopi-k2_defconfig | 1 + > configs/netgear_cg3100d_ram_defconfig | 2 +- > configs/novena_defconfig | 1 + > configs/nsim_700_defconfig | 2 +- > configs/nsim_700be_defconfig | 2 +- > configs/nsim_hs38be_defconfig | 2 +- > configs/odroid-c2_defconfig | 1 + > configs/odroid-c4_defconfig | 1 + > configs/odroid-go-ultra_defconfig | 1 + > configs/odroid-hc4_defconfig | 1 + > configs/odroid-n2_defconfig | 1 + > configs/odroid-n2l_defconfig | 1 + > configs/odroid-xu3_defconfig | 1 + > configs/openpiton_riscv64_defconfig | 2 +- > configs/openpiton_riscv64_spl_defconfig | 2 +- > configs/origen_defconfig | 2 +- > configs/p200_defconfig | 1 + > configs/p201_defconfig | 1 + > configs/p212_defconfig | 1 + > configs/pe2201_defconfig | 2 +- > configs/peach-pi_defconfig | 1 + > configs/peach-pit_defconfig | 1 + > configs/phycore_pcl063_defconfig | 1 + > configs/pico-dwarf-imx6ul_defconfig | 1 + > configs/pico-dwarf-imx7d_defconfig | 1 + > configs/pico-hobbit-imx6ul_defconfig | 1 + > configs/pico-hobbit-imx7d_defconfig | 1 + > configs/pico-imx6ul_defconfig | 1 + > configs/pico-imx7d_bl33_defconfig | 1 + > configs/pico-imx7d_defconfig | 1 + > configs/pico-nymph-imx7d_defconfig | 1 + > configs/pico-pi-imx6ul_defconfig | 1 + > configs/pico-pi-imx7d_defconfig | 1 + > configs/pinecube_defconfig | 2 +- > configs/pm9261_defconfig | 2 +- > configs/qemu_arm64_lwip_defconfig | 10 + > configs/radxa-zero2_defconfig | 1 + > configs/radxa-zero_defconfig | 1 + > configs/riotboard_defconfig | 1 + > configs/s400_defconfig | 1 + > configs/s5p4418_nanopi2_defconfig | 2 +- > configs/s5p_goni_defconfig | 2 +- > configs/s5pc210_universal_defconfig | 2 +- > configs/sama5d27_giantboard_defconfig | 2 +- > configs/sama5d29_curiosity_mmc1_defconfig | 2 +- > configs/sama5d29_curiosity_mmc_defconfig | 2 +- > .../sama5d29_curiosity_qspiflash_defconfig | 2 +- > configs/sama7g54_curiosity_mmc_defconfig | 2 +- > .../sama7g54_curiosity_nandflash_defconfig | 2 +- > .../sama7g54_curiosity_qspiflash_defconfig | 2 +- > configs/seeed_npi_imx6ull_defconfig | 1 + > configs/sipeed_maix_bitm_defconfig | 2 +- > configs/sipeed_maix_smode_defconfig | 2 +- > configs/smdk5250_defconfig | 1 + > configs/smdk5420_defconfig | 1 + > configs/snow_defconfig | 1 + > configs/spring_defconfig | 1 + > configs/stemmy_defconfig | 2 +- > configs/stm32f429-discovery_defconfig | 2 +- > configs/stm32f429-evaluation_defconfig | 2 +- > configs/stm32f469-discovery_defconfig | 2 +- > configs/stm32h743-disco_defconfig | 2 +- > configs/stm32h743-eval_defconfig | 2 +- > configs/stm32h750-art-pi_defconfig | 2 +- > configs/stm32mp25_defconfig | 2 +- > configs/stmark2_defconfig | 2 +- > configs/ten64_tfa_defconfig | 1 + > configs/th1520_lpi4a_defconfig | 2 +- > configs/thunderx_88xx_defconfig | 2 +- > configs/tools-only_defconfig | 34 +- > configs/topic_miami_defconfig | 2 +- > configs/topic_miamilite_defconfig | 2 +- > configs/topic_miamiplus_defconfig | 2 +- > configs/total_compute_defconfig | 2 +- > configs/trats2_defconfig | 2 +- > configs/trats_defconfig | 2 +- > configs/turris_mox_defconfig | 1 + > configs/turris_omnia_defconfig | 1 + > configs/u200_defconfig | 1 + > configs/vexpress_aemv8a_juno_defconfig | 1 + > configs/vexpress_aemv8a_semi_defconfig | 1 + > configs/vexpress_aemv8r_defconfig | 1 + > configs/vexpress_ca9x4_defconfig | 1 + > configs/vexpress_fvp_defconfig | 1 + > configs/videostrong-kii-pro_defconfig | 1 + > configs/wandboard_defconfig | 1 + > configs/wetek-core2_defconfig | 1 + > configs/wetek-hub_defconfig | 1 + > configs/wetek-play2_defconfig | 1 + > configs/xenguest_arm64_defconfig | 2 +- > configs/xenguest_arm64_virtio_defconfig | 2 +- > configs/xilinx_versal_mini_defconfig | 2 +- > configs/xilinx_versal_mini_emmc0_defconfig | 2 +- > configs/xilinx_versal_mini_emmc1_defconfig | 2 +- > configs/xilinx_versal_mini_ospi_defconfig | 2 +- > configs/xilinx_versal_mini_qspi_defconfig | 2 +- > configs/xilinx_versal_net_mini_defconfig | 2 +- > configs/xilinx_versal_net_mini_emmc_defconfig | 2 +- > configs/xilinx_versal_net_mini_ospi_defconfig | 2 +- > configs/xilinx_versal_net_mini_qspi_defconfig | 2 +- > configs/xilinx_zynqmp_mini_defconfig | 2 +- > configs/xilinx_zynqmp_mini_emmc0_defconfig | 2 +- > configs/xilinx_zynqmp_mini_emmc1_defconfig | 2 +- > configs/xilinx_zynqmp_mini_nand_defconfig | 2 +- > .../xilinx_zynqmp_mini_nand_single_defconfig | 2 +- > configs/xilinx_zynqmp_mini_qspi_defconfig | 2 +- > configs/zynq_cse_nand_defconfig | 2 +- > configs/zynq_cse_nor_defconfig | 2 +- > configs/zynq_cse_qspi_defconfig | 2 +- > drivers/dfu/Kconfig | 2 + > drivers/fastboot/Kconfig | 1 + > drivers/mtd/altera_qspi.c | 4 +- > drivers/mtd/cfi_flash.c | 36 +- > drivers/net/Kconfig | 4 +- > drivers/net/fec_mxc.c | 3 +- > drivers/net/fm/eth.c | 2 + > drivers/net/phy/Kconfig | 3 +- > drivers/usb/gadget/Kconfig | 3 +- > include/flash.h | 20 +- > include/net-common.h | 490 +++++++++ > include/net-legacy.h | 560 +++++++++++ > include/net-lwip.h | 41 + > include/net.h | 943 +----------------- > lib/Makefile | 2 + > lib/lwip/Makefile | 55 + > lib/lwip/lwip/src/apps/tftp/tftp.c | 94 +- > .../lwip/src/include/lwip/apps/tftp_client.h | 1 + > lib/lwip/u-boot/arch/cc.h | 45 + > lib/lwip/u-boot/arch/sys_arch.h | 0 > lib/lwip/u-boot/limits.h | 0 > lib/lwip/u-boot/lwipopts.h | 157 +++ > lib/tiny-printf.c | 3 +- > net/Kconfig | 81 +- > net/Makefile | 20 +- > net/eth-uclass.c | 38 +- > net/lwip/Kconfig | 44 + > net/lwip/Makefile | 8 + > net/lwip/dhcp.c | 134 +++ > net/lwip/dns.c | 127 +++ > net/lwip/eth_internal.h | 35 + > net/lwip/net-lwip.c | 302 ++++++ > net/lwip/ping.c | 177 ++++ > net/lwip/tftp.c | 286 ++++++ > net/lwip/wget.c | 357 +++++++ > net/net-common.c | 13 + > net/net.c | 12 - > net/wget.c | 11 +- > test/py/tests/test_efi_loader.py | 62 +- > test/py/tests/test_net_boot.py | 2 +- > 293 files changed, 3704 insertions(+), 1437 deletions(-) > create mode 100644 cmd/net-common.c > create mode 100644 cmd/net-lwip.c > create mode 100644 configs/qemu_arm64_lwip_defconfig > create mode 100644 include/net-common.h > create mode 100644 include/net-legacy.h > create mode 100644 include/net-lwip.h > create mode 100644 lib/lwip/Makefile > create mode 100644 lib/lwip/u-boot/arch/cc.h > create mode 100644 lib/lwip/u-boot/arch/sys_arch.h > create mode 100644 lib/lwip/u-boot/limits.h > create mode 100644 lib/lwip/u-boot/lwipopts.h > create mode 100644 net/lwip/Kconfig > create mode 100644 net/lwip/Makefile > create mode 100644 net/lwip/dhcp.c > create mode 100644 net/lwip/dns.c > create mode 100644 net/lwip/eth_internal.h > create mode 100644 net/lwip/net-lwip.c > create mode 100644 net/lwip/ping.c > create mode 100644 net/lwip/tftp.c > create mode 100644 net/lwip/wget.c > create mode 100644 net/net-common.c > > -- > 2.40.1 >
Hi Peter, On 8/28/24 13:05, Peter Robinson wrote: > Hi Jerome, > >> >> Jerome Forissier (36): >> Makefile: detect HOST_ARCH properly when CROSS_COMPILE is multi-word >> flash: prefix error codes with FL_ >> at91: rename mem_init() to at91_mem_init() >> arm: omap2: add missing #include <netdev.h> >> net: fm: call dtsec_init_phy() only when it is defined >> net: wget: removed unused function wget_success() >> net: phy: ncsi: depend on NET >> net: ftgmac100: depend on NET >> net: wget: allow EFI boot >> net: fec_mxc_init(): do not ignore return status of fec_open() >> test/py: net_boot: fix comment >> test/py: test_efi_loader: add missing dependency on cmd_tftpboot >> test/py: test_efi_loader: add HTTP (wget) test for the EFI loader > > All of the above look like they should be sent as a separate fixes > series which the following can depend on, they all look like fixes > that are separate to the rest and likely are useful on their own. It > would have the advantage of slimming down the series. I agree. I'll send them soon. Thanks,