summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWu Fengguang <fengguang.wu@intel.com>2010-05-30 17:19:53 +0000
committerDavid S. Miller <davem@davemloft.net>2010-06-02 07:05:03 -0700
commit130c0f47fdf9c533deb1136cad5136f6cb7020f0 (patch)
tree38ab94d926bf68fc2dd5cb8941777574bcb26a11
parent614f60fa9d73a9e8fdff3df83381907fea7c5649 (diff)
downloadlinux-3.10-130c0f47fdf9c533deb1136cad5136f6cb7020f0.tar.gz
linux-3.10-130c0f47fdf9c533deb1136cad5136f6cb7020f0.tar.bz2
linux-3.10-130c0f47fdf9c533deb1136cad5136f6cb7020f0.zip
ipconfig: send host-name in DHCP requests
Normally dhclient can be configured to send the "host-name" option in DHCP requests to update the client's DNS record. However for an NFSROOT system, dhclient shall never be called (which may change the IP addr and therefore lose your root NFS mount connection). So enable updating the DNS record with kernel parameter ip=::::$HOST_NAME::dhcp Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv4/ipconfig.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c
index b9d84e800cf..3a6e1ec5e9a 100644
--- a/net/ipv4/ipconfig.c
+++ b/net/ipv4/ipconfig.c
@@ -665,6 +665,13 @@ ic_dhcp_init_options(u8 *options)
memcpy(e, ic_req_params, sizeof(ic_req_params));
e += sizeof(ic_req_params);
+ if (ic_host_name_set) {
+ *e++ = 12; /* host-name */
+ len = strlen(utsname()->nodename);
+ *e++ = len;
+ memcpy(e, utsname()->nodename, len);
+ e += len;
+ }
if (*vendor_class_identifier) {
printk(KERN_INFO "DHCP: sending class identifier \"%s\"\n",
vendor_class_identifier);