[PATCH] net: lwip: Fix PBUF_POOL_BUFSIZE when PROT_TCP_LWIP is disabled
Jerome Forissier
jerome.forissier at arm.com
Mon Mar 9 09:15:03 CET 2026
Hi Jonas,
On 05/03/2026 23:36, Jonas Karlman wrote:
> 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 constants depends on the
> value of a TCP_MSS constant, something that defaults to 536 when
> PROT_TCP_LWIP=n.
>
> 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")
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
> ---
> lib/lwip/u-boot/lwipopts.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/lwip/u-boot/lwipopts.h b/lib/lwip/u-boot/lwipopts.h
> index e8a2c9d7a0a6..96aae3ad1f4f 100644
> --- a/lib/lwip/u-boot/lwipopts.h
> +++ b/lib/lwip/u-boot/lwipopts.h
> @@ -121,9 +121,9 @@
> #define LWIP_UDP 0
> #endif
>
> +#define TCP_MSS 1460
LGTM, but I would appreciate a comment here, Something like:
/*
* PBUF_POOL_BUFSIZE is derived from TCP_MSS even when
* CONFIG_PROT_TCP_LWIP is not defined
*/
With that:
Acked-by: Jerome Forissier <jerome.forissier at arm.com>
> #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
More information about the U-Boot
mailing list