<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/lib/lwip/u-boot, branch next</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/lib/lwip/u-boot?h=next</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/lib/lwip/u-boot?h=next'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2026-07-23T15:05:20Z</updated>
<entry>
<title>net: lwip: add tftpsrv command</title>
<updated>2026-07-23T15:05:20Z</updated>
<author>
<name>James Hilliard</name>
<email>james.hilliard1@gmail.com</email>
</author>
<published>2026-07-08T19:31:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=0601d2d9a2908d92cfad23f6a1dfcf1eaccad8b7'/>
<id>urn:sha1:0601d2d9a2908d92cfad23f6a1dfcf1eaccad8b7</id>
<content type='text'>
The legacy network stack supports tftpsrv, which listens for an
incoming TFTP write request and receives the first file into memory.
Despite the old command help wording, the command returns after
receiving the file and does not boot it automatically.

The lwIP stack already builds the lwIP TFTP application, but only wires
it up for client-side tftpboot. Add a lwIP tftpsrv command and
implement the server path with tftp_init_server(). Reuse the existing
lwIP TFTP write callback and memory copy path so LMB checks, progress
output, filesize/fileaddr updates and EFI bootdev handling stay
consistent with tftpboot.

Track receive timeout and write-failure state around the lwIP callbacks
so a stalled or rejected receive is not reported as a successful close.

Move CMD_TFTPSRV out of the legacy-only Kconfig block so it can be
enabled with either network stack. Update the command help text and add
usage documentation for the receive-only behavior.

Add pytest coverage for tftpsrv using a generated host file and curl's
TFTP upload support. Enable the command in qemu_arm64_lwip_defconfig so
the test can be run with the existing lwIP QEMU build when the boardenv
provides env__net_tftpsrv_file.

Signed-off-by: James Hilliard &lt;james.hilliard1@gmail.com&gt;
[Jerome Forissier: remove trailing ':' after SPDX tag]
Signed-off-by: Jerome Forissier &lt;jerome.forissier@arm.com&gt;
Reviewed-by: Jerome Forissier &lt;jerome.forissier@arm.com&gt;
</content>
</entry>
<entry>
<title>net: lwip: scale buffer pool size with TFTP block size</title>
<updated>2026-03-13T16:52:02Z</updated>
<author>
<name>Pranav Tilak</name>
<email>pranav.vinaytilak@amd.com</email>
</author>
<published>2026-03-10T12:58:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=67586012490a4b2b4db6b79647aaf946f03eb767'/>
<id>urn:sha1:67586012490a4b2b4db6b79647aaf946f03eb767</id>
<content type='text'>
TFTP transfers fail when tftpblocksize is set to 8192 or larger due to
insufficient buffer resources for IP fragment reassembly.

Calculate PBUF_POOL_SIZE and IP_REASS_MAX_PBUFS dynamically based on
CONFIG_TFTP_BLOCKSIZE using IP fragmentation boundaries (1480 usable
bytes per fragment at 1500 MTU). The pool size includes headroom for
TX, ARP, and protocol overhead, while ensuring PBUF_POOL_SIZE remains
greater than IP_REASS_MAX_PBUFS as required by lwIP.

Signed-off-by: Pranav Tilak &lt;pranav.vinaytilak@amd.com&gt;
</content>
</entry>
<entry>
<title>net: lwip: Fix PBUF_POOL_BUFSIZE when PROT_TCP_LWIP is disabled</title>
<updated>2026-03-13T16:52:02Z</updated>
<author>
<name>Jonas Karlman</name>
<email>jonas@kwiboo.se</email>
</author>
<published>2026-03-09T21:06:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b3ee14ea6d233a507a7983ccb5f1328cc8d683c2'/>
<id>urn:sha1:b3ee14ea6d233a507a7983ccb5f1328cc8d683c2</id>
<content type='text'>
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 &lt;jerome.forissier@arm.com&gt;
Signed-off-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
</content>
</entry>
<entry>
<title>net: lwip: enable debug traces for SNTP when CONFIG_LWIP_DEBUG is set</title>
<updated>2025-09-30T10:01:36Z</updated>
<author>
<name>Jerome Forissier</name>
<email>jerome.forissier@linaro.org</email>
</author>
<published>2025-09-22T09:35:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4462ab9a0b559a45c2b3e2dfb3912303e3449c9b'/>
<id>urn:sha1:4462ab9a0b559a45c2b3e2dfb3912303e3449c9b</id>
<content type='text'>
Now that SNTP is supported, enable SNTP debug traces when LWIP_DEBUG is
enabled. In particular, this allows to see which NTP servers are
received during DHCP.

Signed-off-by: Jerome Forissier &lt;jerome.forissier@linaro.org&gt;
</content>
</entry>
<entry>
<title>net: lwip: add Kconfig option to show ICMP unreachable errors</title>
<updated>2025-08-18T12:08:57Z</updated>
<author>
<name>Jerome Forissier</name>
<email>jerome.forissier@linaro.org</email>
</author>
<published>2025-08-12T12:43:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=6b914d5596d947ebea4e8697004e210df1abe61e'/>
<id>urn:sha1:6b914d5596d947ebea4e8697004e210df1abe61e</id>
<content type='text'>
Add Kconfig symbol LWIP_ICMP_SHOW_UNREACH which, when enabled, prints a
message to the console upon reception of ICMP unreachable messages. For
example:

 $ make qemu_arm64_lwip_defconfig
 $ qemu-system-aarch64 -M virt -cpu max -nographic -bios u-boot.bin
 [...]
 =&gt; dhcp
 DHCP client bound to address 10.0.2.15 (0 ms)
 =&gt; tftp 192.168.0.100:69:Image
 Using virtio-net#32 device
 TFTP from server 192.168.0.100; our IP address is 10.0.2.15
 Filename 'Image'.
 Load address: 0x40200000
 Loading: ICMP destination unreachable (host unreachable) from 192.168.0.16
 Timeout!
 =&gt; tftp 192.168.0.16:69:Image
 Using virtio-net#32 device
 TFTP from server 192.168.0.16; our IP address is 10.0.2.15
 Filename 'Image'.
 Load address: 0x40200000
 Loading: ICMP destination unreachable (port unreachable) from 192.168.0.16
 Timeout!
 =&gt;

Submitted upstream as https://github.com/lwip-tcpip/lwip/pull/73.

Signed-off-by: Jerome Forissier &lt;jerome.forissier@linaro.org&gt;
</content>
</entry>
<entry>
<title>lwip: provide a sntp_format_time() function</title>
<updated>2025-08-01T07:30:47Z</updated>
<author>
<name>Jerome Forissier</name>
<email>jerome.forissier@linaro.org</email>
</author>
<published>2025-07-24T15:26:35Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=71056afe2094b5a6fad4a2dd940252d1def55e7e'/>
<id>urn:sha1:71056afe2094b5a6fad4a2dd940252d1def55e7e</id>
<content type='text'>
Provide a trivial implementation of sntp_format_time() to fix a build
error when CONFIG_LWIP_DEBUG=y:

lib/lwip/lwip/src/apps/sntp/sntp.c: In function ‘sntp_format_time’:
lib/lwip/lwip/src/apps/sntp/sntp.c:283:10: error: implicit declaration of function ‘ctime’ [-Werror=implicit-function-declaration]
  283 |   return ctime(&amp;ut);
      |          ^~~~~

Signed-off-by: Jerome Forissier &lt;jerome.forissier@linaro.org&gt;
</content>
</entry>
<entry>
<title>lwip: add sntp command</title>
<updated>2025-07-08T09:07:37Z</updated>
<author>
<name>Jerome Forissier</name>
<email>jerome.forissier@linaro.org</email>
</author>
<published>2025-06-25T13:19:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=a2a0c7527eb86e69bc7a78d9250eb5a1068ae5b7'/>
<id>urn:sha1:a2a0c7527eb86e69bc7a78d9250eb5a1068ae5b7</id>
<content type='text'>
Implement the sntp command when NET_LWIP=y.

Signed-off-by: Jerome Forissier &lt;jerome.forissier@linaro.org&gt;
</content>
</entry>
<entry>
<title>net: lwip: enable IP_FRAG and IP_REASSEMBLY</title>
<updated>2025-07-08T07:53:59Z</updated>
<author>
<name>Tim Harvey</name>
<email>tharvey@gateworks.com</email>
</author>
<published>2025-05-30T15:38:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=50a86eb97f05a2f300809deab32eed894f1860b9'/>
<id>urn:sha1:50a86eb97f05a2f300809deab32eed894f1860b9</id>
<content type='text'>
Enable IP_FRAG and IP_REASSEMBLY to allow packets larger than MTU.

Signed-off-by: Tim Harvey &lt;tharvey@gateworks.com&gt;
Reviewed-by: Jerome Forissier &lt;jerome.forissier@linaro.org&gt;
Acked-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
</content>
</entry>
<entry>
<title>net: use strnstr() for lwip_strnstr()</title>
<updated>2025-02-12T18:37:19Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>heinrich.schuchardt@canonical.com</email>
</author>
<published>2025-02-03T09:12:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=331d75544fc843f93275eb3767753e4a0a712a39'/>
<id>urn:sha1:331d75544fc843f93275eb3767753e4a0a712a39</id>
<content type='text'>
Using strstr() instead of strnstr() creates a security concern.

Fixes: 1c41a7afaa15 ("net: lwip: build lwIP")
Signed-off-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
Reviewed-by: Jerome Forissier &lt;jerome.forissier@linaro.org&gt;
Reviewed-by: Ilias Apalodimas &lt;ilias.apalodimas@linaro.org&gt;
Signed-off-by: Jerome Forissier &lt;jerome.forissier@linaro.org&gt;
</content>
</entry>
<entry>
<title>net: disable MBEDTLS in SPL</title>
<updated>2024-12-06T23:47:23Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>heinrich.schuchardt@canonical.com</email>
</author>
<published>2024-12-06T11:37:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=c7401fc1d99b88a3a3d16519f07974473908cd46'/>
<id>urn:sha1:c7401fc1d99b88a3a3d16519f07974473908cd46</id>
<content type='text'>
Building SPL fails with MBEDTLS enabled.
Currently we don't need it there.

Signed-off-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
Acked-by: Jerome Forissier &lt;jerome.forissier@linaro.org&gt;
</content>
</entry>
</feed>
