summaryrefslogtreecommitdiff
path: root/net/lwip/dhcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/lwip/dhcp.c')
-rw-r--r--net/lwip/dhcp.c11
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);