summaryrefslogtreecommitdiffstats
path: root/net/bootp.c
diff options
context:
space:
mode:
authorstroese <stroese>2003-08-28 14:17:32 +0000
committerstroese <stroese>2003-08-28 14:17:32 +0000
commitfe389a82c9f9f29c54768e3b3ac947487ff85d59 (patch)
treefcc90efe718cf41f033b77417c87aa79cabf6464 /net/bootp.c
parentd94f92cbd7f4a4d3bf0d5d963b709c686e8f6633 (diff)
downloadtalos-obmc-uboot-fe389a82c9f9f29c54768e3b3ac947487ff85d59.tar.gz
talos-obmc-uboot-fe389a82c9f9f29c54768e3b3ac947487ff85d59.zip
- Added CONFIG_BOOTP_DNS2 and CONFIG_BOOTP_SEND_HOSTNAME to CONFIG_BOOTP_MASK.
Diffstat (limited to 'net/bootp.c')
-rw-r--r--net/bootp.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/net/bootp.c b/net/bootp.c
index 31b224327e..854ca16d6a 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -174,6 +174,11 @@ static void BootpVendorFieldProcess(u8 *ext)
if (NetOurDNSIP == 0) {
NetCopyIP(&NetOurDNSIP, (IPaddr_t*)(ext+2));
}
+#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_DNS2)
+ if ((NetOurDNS2IP == 0) && (size > 4)) {
+ NetCopyIP(&NetOurDNS2IP, (IPaddr_t*)(ext+2+4));
+ }
+#endif
break;
case 7: /* Log server - Not yet supported */
break;
@@ -365,6 +370,9 @@ static int DhcpExtended(u8 *e, int message_type, IPaddr_t ServerID, IPaddr_t Req
#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_VENDOREX)
u8 *x;
#endif
+#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_SEND_HOSTNAME)
+ uchar *hostname;
+#endif
*e++ = 99; /* RFC1048 Magic Cookie */
*e++ = 130;
@@ -402,6 +410,16 @@ static int DhcpExtended(u8 *e, int message_type, IPaddr_t ServerID, IPaddr_t Req
*e++ = tmp & 0xff;
}
+#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_SEND_HOSTNAME)
+ if ( (hostname = getenv("hostname")) ) {
+ int hostnamelen = strlen(hostname);
+ *e++ = 12; /* Hostname */
+ *e++ = hostnamelen;
+ memcpy(e,hostname,hostnamelen);
+ e += hostnamelen;
+ }
+#endif
+
#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_VENDOREX)
if ((x = dhcp_vendorex_prep (e)))
return x - start ;
@@ -690,6 +708,11 @@ static void DhcpOptionsProcess(uchar *popt)
break;
case 6:
NetCopyIP(&NetOurDNSIP, (popt+2));
+#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_DNS2)
+ if ( *(popt+1) > 4 ) {
+ NetCopyIP(&NetOurDNS2IP, (popt+2+4));
+ }
+#endif
break;
case 12:
size = truncate_sz ("Host Name",
OpenPOWER on IntegriCloud