
On Fri, May 24, 2024 at 06:19:55PM +0200, Jerome Forissier wrote:
Prepare the introduction of the lwIP (lightweight IP) TCP/IP stack by adding a new net-lwip/ directory and the NET_LWIP symbol. At this point, enabling NET_LWIP simply disables NET. Subsequent commits will introduce the lwIP code, re-work the NETDEVICE integration and port some of the NET commands and features to lwIP.
SPL_NET cannot be enabled when NET_LWIP=y. SPL_NET pulls some symbols that are part of NET (such as arp_init(), arp_timeout_check(), arp_receive(), net_arp_wait_packet_ip()). lwIP support in SPL may be added later.
Similarly, DFU_TFTP is not compatible with NET_LWIP because it depends on net_loop(), tftp_timeout_ms, tftp_timeout_count_max. Let's add a dependency on !NET_LWIP for now.
Signed-off-by: Jerome Forissier jerome.forissier@linaro.org
[snip]
diff --git a/Kconfig b/Kconfig index 82df59f176e..758256ab121 100644 --- a/Kconfig +++ b/Kconfig @@ -747,6 +747,8 @@ source "env/Kconfig"
source "net/Kconfig"
+source "net-lwip/Kconfig"
source "drivers/Kconfig"
source "fs/Kconfig"
I think we need to instead rework this to a choice statement instead so that in the end we have something like: choice "Networking stack" config NO_NET bool "No networking support" config NET bool "Legacy U-Boot networking stack" config NET_LWIP bool "Use lwIP for networking stack"
if NET_LEGACY source "net/Kconfig" endif
if NET_LWIP source "net-lwip/Kconfig" endif
And then SPL_NET still depends on !NET_LWIP for now and we sort out the problems with different networking stacks in SPL vs full U-Boot later on.