diff options
author | Tim Harvey <tharvey@gateworks.com> | 2025-05-30 08:38:24 -0700 |
---|---|---|
committer | Jerome Forissier <jerome.forissier@linaro.org> | 2025-07-08 09:53:59 +0200 |
commit | e4e97f70526dd9f367f54a38f38115726336cd6a (patch) | |
tree | 9dbb28a2d4d8f479b3fa665761e4e4f52a041e01 /net/lwip/tftp.c | |
parent | 50a86eb97f05a2f300809deab32eed894f1860b9 (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.c | 7 |
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); |