
On 6/18/24 19:59, Tom Rini wrote:
On Mon, Jun 17, 2024 at 05:32:54PM +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. Network support is either NO_NET, NET (legacy stack) or NET_LWIP. 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 and FASTBOOT are not compatible with NET_LWIP because of dependencies on net_loop(), tftp_timeout_ms, tftp_timeout_count_max and other NET things. Let's add a dependency on !NET_LWIP for now.
As for SANDBOX, NET_LWIP cannot be used either because of strong assumptions on the network stack. Make NET_LWIP depend on !SANDBOX so that the NET_LWIP alternative is not visible in make menuconfig when sandbox_defconfig is used.
[snip]
diff --git a/Kconfig b/Kconfig index 82df59f176e..cfe2a6d3eac 100644 --- a/Kconfig +++ b/Kconfig @@ -745,7 +745,48 @@ source "dts/Kconfig"
source "env/Kconfig"
+choice
- prompt "Networking stack"
- default NET
+config NO_NET
- bool "No networking support"
+config NET
- bool "Legacy U-Boot networking stack"
- imply NETDEVICES
+config NET_LWIP
- bool "Use lwIP for networking stack"
- imply NETDEVICES
- depends on !SANDBOX
- help
Include networking support based on the lwIP (lightweight IP)
TCP/IP stack (https://nongnu.org/lwip). This is a replacement for
the default U-Boot network stack and applications located in net/
and enabled via CONFIG_NET as well as other pieces of code that
depend on CONFIG_NET (such as cmd/net.c enabled via CONFIG_CMD_NET).
Therefore the two symbols CONFIG_NET and CONFIG_NET_LWIP are mutually
exclusive.
+endchoice
For ease of reviewability the next patch in the series should change all of the configs with '# CONFIG_NET is not set' to 'CONFIG_NO_NET=y' so that they functionally don't change. It's 105 files and so while it will be folded in when lwIP is ready for merge, keeping it separate for now will make review easier.
OK, done in v6.
Thanks,