<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/cmd/lwip, branch next</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/cmd/lwip?h=next</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/cmd/lwip?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>cmd: lwip: wget: free mbedtls x509 cert context to avoid memory leak</title>
<updated>2026-07-23T15:05:20Z</updated>
<author>
<name>Naveen Kumar Chaudhary</name>
<email>naveen.osdev@gmail.com</email>
</author>
<published>2026-07-10T15:21:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=495368c5538303c3026eb32afd6f7027fbc88a0e'/>
<id>urn:sha1:495368c5538303c3026eb32afd6f7027fbc88a0e</id>
<content type='text'>
_set_cacert() calls mbedtls_x509_crt_init(&amp;crt) followed by
mbedtls_x509_crt_parse(), which allocates internal storage (parsed
cert fields, chain links, raw buffers) inside the crt object. The
function then returns on both the error and success paths without
calling mbedtls_x509_crt_free(&amp;crt), so all of that internal state
is leaked when the stack-allocated crt goes out of scope. Every
invocation of "wget cacert ..." leaks memory.

Free the cert object on both return paths.

Signed-off-by: Naveen Kumar Chaudhary &lt;naveen.osdev@gmail.com&gt;
Reviewed-by: Jerome Forissier &lt;jerome.forissier@arm.com&gt;
</content>
</entry>
<entry>
<title>cmd: lwip: sntp: fix netif leak when ntpserverip is unset</title>
<updated>2026-07-23T15:05:20Z</updated>
<author>
<name>Naveen Kumar Chaudhary</name>
<email>naveen.osdev@gmail.com</email>
</author>
<published>2026-07-10T15:20:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=2e7e0dbb1594bcb909d369be92a951b17e511a31'/>
<id>urn:sha1:2e7e0dbb1594bcb909d369be92a951b17e511a31</id>
<content type='text'>
sntp_loop() allocates a netif via net_lwip_new_netif() and normally
releases it with net_lwip_remove_netif() before returning. The error
path taken when no explicit server IP is passed and ntp_server_known()
is false returns -1 directly without freeing the netif, leaking the
lwIP netif structure (and its associated state) on every failed
invocation of the sntp command.

Call net_lwip_remove_netif(netif) before returning on this path so it
matches the other exits.

Signed-off-by: Naveen Kumar Chaudhary &lt;naveen.osdev@gmail.com&gt;
Reviewed-by: Jerome Forissier &lt;jerome.forissier@arm.com&gt;
</content>
</entry>
<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: introduce net_lwip_eth_stop() function</title>
<updated>2026-06-23T11:13:16Z</updated>
<author>
<name>David Lechner</name>
<email>dlechner@baylibre.com</email>
</author>
<published>2026-06-11T23:36:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9f7906a58cf194fc43484f5be4b65e368fa59040'/>
<id>urn:sha1:9f7906a58cf194fc43484f5be4b65e368fa59040</id>
<content type='text'>
Add a introduce net_lwip_eth_stop() function and use that to stop the
network interface after each command that uses the network.

This makes the behavior the same as the legacy net code and avoids
potential issues with the network interface being left in an active
state after a command finishes.

The start/stop is reference-counted since there is at least one command
(dhcp) that calls another command (tftp) to avoid starting and stopping
the network interface multiple times in a single command.

Signed-off-by: David Lechner &lt;dlechner@baylibre.com&gt;
Reviewed-by: Jerome Forissier &lt;jerome.forissier@arm.com&gt;
</content>
</entry>
<entry>
<title>net: lwip: Use ipaddr helpers</title>
<updated>2026-02-04T08:04:36Z</updated>
<author>
<name>Jonas Karlman</name>
<email>jonas@kwiboo.se</email>
</author>
<published>2026-01-17T00:24:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8d89b16ea4bae5b0df1080f0c3b8ea4a751f40ea'/>
<id>urn:sha1:8d89b16ea4bae5b0df1080f0c3b8ea4a751f40ea</id>
<content type='text'>
The ip_addr_t of lwIP has support for both IPv6 and IPv4 addresses.
Some lwIP commans is directly accessing the internal addr field of the
ip_addr_t instead of using ipaddr helper functions.

Change to use ipaddr helper functions where appropriate to remove direct
access of the internal addr field. Also change a few instances from ip4
to the version less ipaddr helpers.

There is no intended functional change, besides the change from using
ip4 addr helper to using version less ipaddr helper.

Signed-off-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
Reviewed-by: Jerome Forissier &lt;jerome.forissier@arm.com&gt;
</content>
</entry>
<entry>
<title>net: lwip: nfs: Port the NFS code to work with lwIP</title>
<updated>2026-01-15T10:09:28Z</updated>
<author>
<name>Andrew Goodbody</name>
<email>andrew.goodbody@linaro.org</email>
</author>
<published>2025-12-12T11:32:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=230cf3bc277622081b27e33469f5f1f59fc48180'/>
<id>urn:sha1:230cf3bc277622081b27e33469f5f1f59fc48180</id>
<content type='text'>
After the preparatory patches moved most of the NFS code into common
files we now add the code to enable NFS support with lwIP.

Signed-off-by: Andrew Goodbody &lt;andrew.goodbody@linaro.org&gt;
Acked-by: Jerome Forissier &lt;jerome.forissier@linaro.org&gt;
</content>
</entry>
<entry>
<title>cmd: lwip/wget: avoid NULL dereference in _set_cacert()</title>
<updated>2025-12-18T15:27:15Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>heinrich.schuchardt@canonical.com</email>
</author>
<published>2025-12-01T15:17:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=a8a81af848b88d7ecee64d98a08f6415630305b3'/>
<id>urn:sha1:a8a81af848b88d7ecee64d98a08f6415630305b3</id>
<content type='text'>
Running `wget cacert builtin` leads to a crash in _set_cacert():

    Unhandled exception: Load access fault

Function _set_cacert() dereferences variable wget_info.
We must initialize it before executing the cacert sub-command.

Fixes: d3761a31ef09 ("lwip: split net/lwip/wget.c")
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;
</content>
</entry>
<entry>
<title>net: lwip: ping: set net_try_count to 1</title>
<updated>2025-08-18T13:47:58Z</updated>
<author>
<name>Jerome Forissier</name>
<email>jerome.forissier@linaro.org</email>
</author>
<published>2025-08-04T12:51:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=90c05f68fcab57d669233033d34e52b8d55d57dd'/>
<id>urn:sha1:90c05f68fcab57d669233033d34e52b8d55d57dd</id>
<content type='text'>
The legacy network stack sets net_try_count to 1 at the beginning of the
net_loop() function. This is required for net_start_again() to work
properly. Therefore, set the variable accordingly in the do_ping()
function when NET_LWIP=y. This fixes an issue where a ping to an
unreachable destination would run twice on the same network device. For
example with qemu_arm64_lwip_defconfig:

 =&gt; dhcp
 DHCP client bound to address 10.0.2.15 (3 ms)
 =&gt; ping 10.0.0.1
 Using virtio-net#32 device
 ping failed; host 10.0.0.1 is not alive
 Using virtio-net#32 device
 ping failed; host 10.0.0.1 is not alive
 =&gt; QEMU: Terminated

Signed-off-by: Jerome Forissier &lt;jerome.forissier@linaro.org&gt;
</content>
</entry>
<entry>
<title>lwip: sntp: remove redundant sys_check_timeouts()</title>
<updated>2025-08-18T13:47:58Z</updated>
<author>
<name>Jerome Forissier</name>
<email>jerome.forissier@linaro.org</email>
</author>
<published>2025-08-01T08:12:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8f80e305792419000e141828cef7539eb3180fc9'/>
<id>urn:sha1:8f80e305792419000e141828cef7539eb3180fc9</id>
<content type='text'>
Now that sys_check_timeouts() is called in net_lwip_rx(), there is no
need to call it from the SNTP receive loop. Remove the redundant call.

Signed-off-by: Jerome Forissier &lt;jerome.forissier@linaro.org&gt;
</content>
</entry>
<entry>
<title>net: introduce CONFIG_DNS</title>
<updated>2025-08-18T13:47:58Z</updated>
<author>
<name>Jerome Forissier</name>
<email>jerome.forissier@linaro.org</email>
</author>
<published>2025-07-18T10:48:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=512be8979666a9c62e5ffb8f331d6cd3052623a4'/>
<id>urn:sha1:512be8979666a9c62e5ffb8f331d6cd3052623a4</id>
<content type='text'>
Introduce the DNS Kconfig symbol so that various network commands may
use host names without the dns command (CMD_DNS) being selected.

Signed-off-by: Jerome Forissier &lt;jerome.forissier@linaro.org&gt;
CC: E Shattow &lt;e@freeshell.de&gt;
</content>
</entry>
</feed>
