[PATCH 1/3] net: dhcp: add support to send the hostname to the dhcp server
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Sun Apr 15 00:05:37 EDT 2012
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
---
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
More information about the barebox
mailing list