]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
net: lwip: dhcp: support arguments for TFTP file download
authorJerome Forissier <jerome.forissier@linaro.org>
Thu, 14 Nov 2024 17:20:07 +0000 (18:20 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 22 Nov 2024 20:51:26 +0000 (14:51 -0600)
The dhcp command is supposed to have the following syntax as per
"help dhcp":

  dhcp [loadAddress] [[hostIPaddr:]bootfilename]

In other words, any arguments should be passed to an implicit
tftpboot command after the DHCP exchange has occurred.

Add the missing code to the lwIP version of do_dhcp().

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
net/lwip/dhcp.c

index bfc72ca6c5795ce30622114e117723c1cfd16c52..9b882cf5b87a1e446ada8f27fa1e27de68679569 100644 (file)
@@ -111,9 +111,21 @@ static int dhcp_loop(struct udevice *udev)
 
 int do_dhcp(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
+       int ret;
+
        eth_set_current();
 
-       return dhcp_loop(eth_get_dev());
+       ret = dhcp_loop(eth_get_dev());
+       if (ret)
+               return ret;
+
+       if (argc > 1) {
+               struct cmd_tbl cmdtp = {};
+
+               return do_tftpb(&cmdtp, 0, argc, argv);
+       }
+
+       return CMD_RET_SUCCESS;
 }
 
 int dhcp_run(ulong addr, const char *fname, bool autoload)