diff options
Diffstat (limited to 'net/lwip/dhcp.c')
-rw-r--r-- | net/lwip/dhcp.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/net/lwip/dhcp.c b/net/lwip/dhcp.c index a2cc25d88f5..23b56226921 100644 --- a/net/lwip/dhcp.c +++ b/net/lwip/dhcp.c @@ -119,11 +119,20 @@ int do_dhcp(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) int dhcp_run(ulong addr, const char *fname, bool autoload) { char *dhcp_argv[] = {"dhcp", NULL, }; +#ifdef CONFIG_CMD_TFTPBOOT + char *tftp_argv[] = {"tftpboot", boot_file_name, NULL, }; +#endif struct cmd_tbl cmdtp = {}; /* dummy */ if (autoload) { - /* Will be supported when TFTP is added */ +#ifdef CONFIG_CMD_TFTPBOOT + /* Assume DHCP was already performed */ + if (boot_file_name[0]) + return do_tftpb(&cmdtp, 0, 2, tftp_argv); + return 0; +#else return -EOPNOTSUPP; +#endif } return do_dhcp(&cmdtp, 0, 1, dhcp_argv); |