Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> --- net/dhcp.c | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/net/dhcp.c b/net/dhcp.c index 0116ba4..c3c41a0 100644 --- a/net/dhcp.c +++ b/net/dhcp.c @@ -237,6 +237,7 @@ static int dhcp_set_string_options(struct dhcp_param *param, u8 *e) return str_len + 2; } +#define DHCP_HOSTNAME 12 #define DHCP_VENDOR_ID 60 #define DHCP_CLIENT_ID 61 #define DHCP_USER_CLASS 77 @@ -244,6 +245,10 @@ static int dhcp_set_string_options(struct dhcp_param *param, u8 *e) struct dhcp_param dhcp_params[] = { { + .option = DHCP_HOSTNAME, + .handle = dhcp_set_string_options, + .barebox_var_name = "hostname", + }, { .option = DHCP_VENDOR_ID, .handle = dhcp_set_string_options, .barebox_var_name = "dhcp_vendor_id", @@ -614,8 +619,10 @@ static int do_dhcp(int argc, char *argv[]) dhcp_reset_env(); - while((opt = getopt(argc, argv, "v:c:u:U:")) > 0) { + while((opt = getopt(argc, argv, "h:v:c:u:U:")) > 0) { switch(opt) { + case 'U': + dhcp_set_param_data(DHCP_HOSTNAME, optarg); case 'v': dhcp_set_param_data(DHCP_VENDOR_ID, optarg); break; @@ -698,7 +705,7 @@ BAREBOX_CMD_END BAREBOX_MAGICVAR(bootfile, "bootfile returned from DHCP request"); BAREBOX_MAGICVAR(nameserver, "Nameserver returned from DHCP request"); -BAREBOX_MAGICVAR(hostname, "hostname returned from DHCP request"); +BAREBOX_MAGICVAR(hostname, "hostname to send or returned from DHCP request"); BAREBOX_MAGICVAR(domainname, "domainname returned from DHCP request"); BAREBOX_MAGICVAR(rootpath, "rootpath returned from DHCP request"); BAREBOX_MAGICVAR(dhcp_vendor_id, "vendor id to send to the DHCP server"); -- 1.7.9.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox