From 083e6d6b4bfddedd917af9ab9a68c149a81ed63a Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Wed, 20 May 2015 15:21:53 +1000 Subject: libnetworking: Send the hostname if set in the network configuration. This allows a suitably configured DHCP server with DDNS to enter the name into the DNS table making it addressiable via it's host name. --- cpukit/libnetworking/rtems/rtems_dhcp.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/cpukit/libnetworking/rtems/rtems_dhcp.c b/cpukit/libnetworking/rtems/rtems_dhcp.c index 957a30a822..c938ee028f 100644 --- a/cpukit/libnetworking/rtems/rtems_dhcp.c +++ b/cpukit/libnetworking/rtems/rtems_dhcp.c @@ -1,4 +1,4 @@ -/* +/* * DCHP client for RTEMS * Andrew Bythell, * based on and uses subroutines from c/src/libnetworking/nfs/bootp_subr.c @@ -543,6 +543,20 @@ dhcp_discover_req (struct dhcp_packet* call, call->vend[len++] = 1; call->vend[len++] = DHCP_DISCOVER; + /* + * If a host name is set add it to the request. + */ + if (rtems_bsdnet_config.hostname && \ + (strlen (rtems_bsdnet_config.hostname) > 1) && + (strlen (rtems_bsdnet_config.hostname) < 32)) { + call->vend[len++] = DHCP_HOST; + call->vend[len++] = strlen (rtems_bsdnet_config.hostname); + memcpy (&call->vend[len], + rtems_bsdnet_config.hostname, + strlen (rtems_bsdnet_config.hostname)); + len += strlen (rtems_bsdnet_config.hostname); + } + /* * DHCP Parameter request list */ @@ -880,7 +894,7 @@ dhcp_init (int update_files) struct proc *procp = NULL; clean_dns_entries(); - + /* * If we are to update the files create the root * file structure. -- cgit v1.2.3