[PATCHv10 00/15] net/lwip: add lwip library for the network stack

Maxim Uvarov
2023-09-26T09:43:44Z

changelog:
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 (15):
submodule: add lwIP as git submodule
Makefile: init submodules
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

.gitmodules | 3 +
Makefile | 5 +-
boot/bootmeth_efi.c | 18 +-
boot/bootmeth_pxe.c | 21 +-
cmd/Makefile | 1 +
cmd/net-lwip.c | 286 ++++++++++++++++++++++
cmd/net.c | 86 +------
cmd/pxe.c | 19 +-
doc/develop/index.rst | 1 +
doc/develop/net_lwip.rst | 75 ++++++
include/net.h | 197 +--------------
include/net/arp.h | 7 +
include/net/eth.h | 190 +++++++++++++++
include/net/lwip.h | 73 ++++++
include/net/ulwip.h | 64 +++++
net/Kconfig | 3 +
net/Makefile | 1 +
net/eth-uclass.c | 8 +
net/lwip/.gitignore | 8 +
net/lwip/Kconfig | 25 ++
net/lwip/Makefile | 70 ++++++
net/lwip/apps/dhcp/lwip-dhcp.c | 85 +++++++
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 | 27 +++
net/lwip/apps/tftp/Makefile | 7 +
net/lwip/apps/tftp/lwip-tftp.c | 129 ++++++++++
net/lwip/lwip-external | 1 +
net/lwip/lwipopts.h | 178 ++++++++++++++
net/lwip/port/if.c | 332 ++++++++++++++++++++++++++
net/lwip/port/include/arch/cc.h | 38 +++
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 | 20 +-
39 files changed, 1951 insertions(+), 290 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