net: lwip: dhcp: support arguments for TFTP file download

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>
This commit is contained in:
Jerome Forissier 2024-11-14 18:20:07 +01:00 committed by Tom Rini
parent 2cde2f4a00
commit 13e13f5867

View 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)