From fe389a82c9f9f29c54768e3b3ac947487ff85d59 Mon Sep 17 00:00:00 2001 From: stroese Date: Thu, 28 Aug 2003 14:17:32 +0000 Subject: - Added CONFIG_BOOTP_DNS2 and CONFIG_BOOTP_SEND_HOSTNAME to CONFIG_BOOTP_MASK. --- net/bootp.c | 23 +++++++++++++++++++++++ net/net.c | 3 +++ 2 files changed, 26 insertions(+) (limited to 'net') 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", diff --git a/net/net.c b/net/net.c index dafcc561e6..a139742292 100644 --- a/net/net.c +++ b/net/net.c @@ -84,6 +84,9 @@ IPaddr_t NetOurSubnetMask=0; /* Our subnet mask (0=unknown) */ IPaddr_t NetOurGatewayIP=0; /* Our gateways IP address */ IPaddr_t NetOurDNSIP=0; /* Our DNS IP address */ +#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_DNS2) +IPaddr_t NetOurDNS2IP=0; /* Our 2nd DNS IP address */ +#endif char NetOurNISDomain[32]={0,}; /* Our NIS domain */ char NetOurHostName[32]={0,}; /* Our hostname */ char NetOurRootPath[64]={0,}; /* Our bootpath */ -- cgit v1.2.1