summaryrefslogtreecommitdiff
path: root/net/lwip/tftp.c
diff options
context:
space:
mode:
authorTim Harvey <tharvey@gateworks.com>2025-05-30 08:38:24 -0700
committerJerome Forissier <jerome.forissier@linaro.org>2025-07-08 09:53:59 +0200
commite4e97f70526dd9f367f54a38f38115726336cd6a (patch)
tree9dbb28a2d4d8f479b3fa665761e4e4f52a041e01 /net/lwip/tftp.c
parent50a86eb97f05a2f300809deab32eed894f1860b9 (diff)
net: lwip: tftp: add support for setting blocksize at runtime
Add support for setting the blocksize at runtime via the tftpblocksize env variable as such is done with the legacy stack (CONFIG_NET). Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Diffstat (limited to 'net/lwip/tftp.c')
-rw-r--r--net/lwip/tftp.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/lwip/tftp.c b/net/lwip/tftp.c
index 27914522722..94bacf63075 100644
--- a/net/lwip/tftp.c
+++ b/net/lwip/tftp.c
@@ -157,8 +157,10 @@ static void no_response(void *arg)
static int tftp_loop(struct udevice *udev, ulong addr, char *fname,
ip_addr_t srvip, uint16_t srvport)
{
+ int blksize = CONFIG_TFTP_BLOCKSIZE;
struct netif *netif;
struct tftp_ctx ctx;
+ const char *ep;
err_t err;
if (!fname || addr == 0)
@@ -187,7 +189,10 @@ static int tftp_loop(struct udevice *udev, ulong addr, char *fname,
if (!(err == ERR_OK || err == ERR_USE))
log_err("tftp_init_client err: %d\n", err);
- tftp_client_set_blksize(CONFIG_TFTP_BLOCKSIZE);
+ ep = env_get("tftpblocksize");
+ if (ep)
+ blksize = simple_strtol(ep, NULL, 10);
+ tftp_client_set_blksize(blksize);
ctx.start_time = get_timer(0);
err = tftp_get(&ctx, &srvip, srvport, fname, TFTP_MODE_OCTET);