summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJonas Karlman <[email protected]>2026-03-09 21:06:39 +0000
committerTom Rini <[email protected]>2026-03-13 10:52:02 -0600
commitb3ee14ea6d233a507a7983ccb5f1328cc8d683c2 (patch)
tree1a8f4b347e2c7e3a620d3f046960e9eb6a4937c3 /lib
parent1939a7f7fb0559f83eb5a53c00b6ddcf4d350128 (diff)
net: lwip: Fix PBUF_POOL_BUFSIZE when PROT_TCP_LWIP is disabled
The PBUF_POOL_BUFSIZE ends up being only 592 bytes, instead of 1514, when PROT_TCP_LWIP Kconfig option is disabled. This results in a full Ethernet frame requiring three PBUFs instead of just one. This happens because the PBUF_POOL_BUFSIZE constant depends on the value of a TCP_MSS constant, something that defaults to 536 when PROT_TCP_LWIP is disabled. PBUF_POOL_BUFSIZE = LWIP_MEM_ALIGN_SIZE(TCP_MSS + 40 + PBUF_LINK_HLEN) Ensure that a full Ethernet frame fits inside a single PBUF by moving the define of TCP_MSS outside the PROT_TCP_LWIP ifdef block. Fixes: 1c41a7afaa15 ("net: lwip: build lwIP") Acked-by: Jerome Forissier <[email protected]> Signed-off-by: Jonas Karlman <[email protected]>
Diffstat (limited to 'lib')
-rw-r--r--lib/lwip/u-boot/lwipopts.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/lwip/u-boot/lwipopts.h b/lib/lwip/u-boot/lwipopts.h
index e8a2c9d7a0a..1550870fa86 100644
--- a/lib/lwip/u-boot/lwipopts.h
+++ b/lib/lwip/u-boot/lwipopts.h
@@ -121,9 +121,13 @@
#define LWIP_UDP 0
#endif
+/*
+ * PBUF_POOL_BUFSIZE is derived from TCP_MSS even when
+ * CONFIG_PROT_TCP_LWIP is not defined
+ */
+#define TCP_MSS 1460
#if defined(CONFIG_PROT_TCP_LWIP)
#define LWIP_TCP 1
-#define TCP_MSS 1460
#define TCP_WND CONFIG_LWIP_TCP_WND
#define LWIP_WND_SCALE 1
#define TCP_RCV_SCALE 0x7