- Added CONFIG_BOOTP_DNS2 and CONFIG_BOOTP_SEND_HOSTNAME to CONFIG_BOOTP_MASK.
This commit is contained in:
parent
d94f92cbd7
commit
fe389a82c9
24
README
24
README
@ -901,6 +901,29 @@ The following options need to be configured:
|
|||||||
4th and following
|
4th and following
|
||||||
BOOTP requests: delay 0 ... 8 sec
|
BOOTP requests: delay 0 ... 8 sec
|
||||||
|
|
||||||
|
- DHCP Advanced Options:
|
||||||
|
CONFIG_BOOTP_MASK
|
||||||
|
|
||||||
|
You can fine tune the DHCP functionality by adding
|
||||||
|
these flags to the CONFIG_BOOTP_MASK define:
|
||||||
|
|
||||||
|
CONFIG_BOOTP_DNS2 - If a DHCP client requests the DNS
|
||||||
|
serverip from a DHCP server, it is possible that more
|
||||||
|
than one DNS serverip is offered to the client.
|
||||||
|
If CONFIG_BOOTP_DNS2 is enabled, the secondary DNS
|
||||||
|
serverip will be stored in the additional environment
|
||||||
|
variable "dnsip2". The first DNS serverip is always
|
||||||
|
stored in the variable "dnsip", when CONFIG_BOOTP_DNS
|
||||||
|
is added to the CONFIG_BOOTP_MASK.
|
||||||
|
|
||||||
|
CONFIG_BOOTP_SEND_HOSTNAME - Some DHCP servers are capable
|
||||||
|
to do a dynamic update of a DNS server. To do this, they
|
||||||
|
need the hostname of the DHCP requester.
|
||||||
|
If CONFIG_BOOP_SEND_HOSTNAME is added to the
|
||||||
|
CONFIG_BOOTP_MASK, the content of the "hostname"
|
||||||
|
environment variable is passed as option 12 to
|
||||||
|
the DHCP server.
|
||||||
|
|
||||||
- Status LED: CONFIG_STATUS_LED
|
- Status LED: CONFIG_STATUS_LED
|
||||||
|
|
||||||
Several configurations allow to display the current
|
Several configurations allow to display the current
|
||||||
@ -2118,6 +2141,7 @@ depending the information provided by your boot server:
|
|||||||
|
|
||||||
bootfile - see above
|
bootfile - see above
|
||||||
dnsip - IP address of your Domain Name Server
|
dnsip - IP address of your Domain Name Server
|
||||||
|
dnsip2 - IP address of your secondary Domain Name Server
|
||||||
gatewayip - IP address of the Gateway (Router) to use
|
gatewayip - IP address of the Gateway (Router) to use
|
||||||
hostname - Target hostname
|
hostname - Target hostname
|
||||||
ipaddr - see above
|
ipaddr - see above
|
||||||
|
@ -116,6 +116,13 @@ static void netboot_update_env(void)
|
|||||||
setenv("dnsip", tmp);
|
setenv("dnsip", tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_DNS2)
|
||||||
|
if (NetOurDNS2IP) {
|
||||||
|
ip_to_string (NetOurDNS2IP, tmp);
|
||||||
|
setenv("dnsip2", tmp);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (NetOurNISDomain[0])
|
if (NetOurNISDomain[0])
|
||||||
setenv("domain", NetOurNISDomain);
|
setenv("domain", NetOurNISDomain);
|
||||||
|
|
||||||
|
@ -148,6 +148,8 @@
|
|||||||
#define CONFIG_BOOTP_BOOTPATH 0x00000010
|
#define CONFIG_BOOTP_BOOTPATH 0x00000010
|
||||||
#define CONFIG_BOOTP_BOOTFILESIZE 0x00000020
|
#define CONFIG_BOOTP_BOOTFILESIZE 0x00000020
|
||||||
#define CONFIG_BOOTP_DNS 0x00000040
|
#define CONFIG_BOOTP_DNS 0x00000040
|
||||||
|
#define CONFIG_BOOTP_DNS2 0x00000080
|
||||||
|
#define CONFIG_BOOTP_SEND_HOSTNAME 0x00000100
|
||||||
|
|
||||||
#define CONFIG_BOOTP_VENDOREX 0x80000000
|
#define CONFIG_BOOTP_VENDOREX 0x80000000
|
||||||
|
|
||||||
|
@ -69,12 +69,10 @@
|
|||||||
#define CONFIG_MII 1 /* MII PHY management */
|
#define CONFIG_MII 1 /* MII PHY management */
|
||||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||||
|
|
||||||
#if 0 /* test-only */
|
#define CONFIG_BOOTP_MASK (CONFIG_BOOTP_DEFAULT | \
|
||||||
#define CONFIG_BOOTP_MASK (CONFIG_BOOTP_DEFAULT | \
|
CONFIG_BOOTP_DNS | \
|
||||||
CONFIG_BOOTP_VENDOREX)
|
CONFIG_BOOTP_DNS2 | \
|
||||||
#else
|
CONFIG_BOOTP_SEND_HOSTNAME )
|
||||||
#define CONFIG_BOOTP_MASK (CONFIG_BOOTP_DEFAULT)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define CONFIG_COMMANDS ( CONFIG_CMD_DFL | \
|
#define CONFIG_COMMANDS ( CONFIG_CMD_DFL | \
|
||||||
CFG_CMD_DHCP | \
|
CFG_CMD_DHCP | \
|
||||||
|
@ -72,12 +72,10 @@
|
|||||||
|
|
||||||
#define CONFIG_RTC_M48T35A 1 /* ST Electronics M48 timekeeper */
|
#define CONFIG_RTC_M48T35A 1 /* ST Electronics M48 timekeeper */
|
||||||
|
|
||||||
#if 0 /* test-only */
|
#define CONFIG_BOOTP_MASK (CONFIG_BOOTP_DEFAULT | \
|
||||||
#define CONFIG_BOOTP_MASK (CONFIG_BOOTP_DEFAULT | \
|
CONFIG_BOOTP_DNS | \
|
||||||
CONFIG_BOOTP_VENDOREX)
|
CONFIG_BOOTP_DNS2 | \
|
||||||
#else
|
CONFIG_BOOTP_SEND_HOSTNAME )
|
||||||
#define CONFIG_BOOTP_MASK (CONFIG_BOOTP_DEFAULT)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define CONFIG_COMMANDS ( CONFIG_CMD_DFL | \
|
#define CONFIG_COMMANDS ( CONFIG_CMD_DFL | \
|
||||||
CFG_CMD_DHCP | \
|
CFG_CMD_DHCP | \
|
||||||
|
@ -65,7 +65,10 @@
|
|||||||
|
|
||||||
#define CONFIG_RTC_M48T35A 1 /* ST Electronics M48 timekeeper */
|
#define CONFIG_RTC_M48T35A 1 /* ST Electronics M48 timekeeper */
|
||||||
|
|
||||||
#define CONFIG_BOOTP_MASK (CONFIG_BOOTP_DEFAULT)
|
#define CONFIG_BOOTP_MASK (CONFIG_BOOTP_DEFAULT | \
|
||||||
|
CONFIG_BOOTP_DNS | \
|
||||||
|
CONFIG_BOOTP_DNS2 | \
|
||||||
|
CONFIG_BOOTP_SEND_HOSTNAME )
|
||||||
|
|
||||||
#define CONFIG_COMMANDS ( CONFIG_CMD_DFL | \
|
#define CONFIG_COMMANDS ( CONFIG_CMD_DFL | \
|
||||||
CFG_CMD_DHCP | \
|
CFG_CMD_DHCP | \
|
||||||
|
@ -275,6 +275,9 @@ typedef struct icmphdr {
|
|||||||
extern IPaddr_t NetOurGatewayIP; /* Our gateway IP addresse */
|
extern IPaddr_t NetOurGatewayIP; /* Our gateway IP addresse */
|
||||||
extern IPaddr_t NetOurSubnetMask; /* Our subnet mask (0 = unknown)*/
|
extern IPaddr_t NetOurSubnetMask; /* Our subnet mask (0 = unknown)*/
|
||||||
extern IPaddr_t NetOurDNSIP; /* Our Domain Name Server (0 = unknown)*/
|
extern IPaddr_t NetOurDNSIP; /* Our Domain Name Server (0 = unknown)*/
|
||||||
|
#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_DNS2)
|
||||||
|
extern IPaddr_t NetOurDNS2IP; /* Our 2nd Domain Name Server (0 = unknown)*/
|
||||||
|
#endif
|
||||||
extern char NetOurNISDomain[32]; /* Our NIS domain */
|
extern char NetOurNISDomain[32]; /* Our NIS domain */
|
||||||
extern char NetOurHostName[32]; /* Our hostname */
|
extern char NetOurHostName[32]; /* Our hostname */
|
||||||
extern char NetOurRootPath[64]; /* Our root path */
|
extern char NetOurRootPath[64]; /* Our root path */
|
||||||
|
23
net/bootp.c
23
net/bootp.c
@ -174,6 +174,11 @@ static void BootpVendorFieldProcess(u8 *ext)
|
|||||||
if (NetOurDNSIP == 0) {
|
if (NetOurDNSIP == 0) {
|
||||||
NetCopyIP(&NetOurDNSIP, (IPaddr_t*)(ext+2));
|
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;
|
break;
|
||||||
case 7: /* Log server - Not yet supported */
|
case 7: /* Log server - Not yet supported */
|
||||||
break;
|
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)
|
#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_VENDOREX)
|
||||||
u8 *x;
|
u8 *x;
|
||||||
#endif
|
#endif
|
||||||
|
#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_SEND_HOSTNAME)
|
||||||
|
uchar *hostname;
|
||||||
|
#endif
|
||||||
|
|
||||||
*e++ = 99; /* RFC1048 Magic Cookie */
|
*e++ = 99; /* RFC1048 Magic Cookie */
|
||||||
*e++ = 130;
|
*e++ = 130;
|
||||||
@ -402,6 +410,16 @@ static int DhcpExtended(u8 *e, int message_type, IPaddr_t ServerID, IPaddr_t Req
|
|||||||
*e++ = tmp & 0xff;
|
*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 (CONFIG_BOOTP_MASK & CONFIG_BOOTP_VENDOREX)
|
||||||
if ((x = dhcp_vendorex_prep (e)))
|
if ((x = dhcp_vendorex_prep (e)))
|
||||||
return x - start ;
|
return x - start ;
|
||||||
@ -690,6 +708,11 @@ static void DhcpOptionsProcess(uchar *popt)
|
|||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
NetCopyIP(&NetOurDNSIP, (popt+2));
|
NetCopyIP(&NetOurDNSIP, (popt+2));
|
||||||
|
#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_DNS2)
|
||||||
|
if ( *(popt+1) > 4 ) {
|
||||||
|
NetCopyIP(&NetOurDNS2IP, (popt+2+4));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case 12:
|
case 12:
|
||||||
size = truncate_sz ("Host Name",
|
size = truncate_sz ("Host Name",
|
||||||
|
@ -84,6 +84,9 @@
|
|||||||
IPaddr_t NetOurSubnetMask=0; /* Our subnet mask (0=unknown) */
|
IPaddr_t NetOurSubnetMask=0; /* Our subnet mask (0=unknown) */
|
||||||
IPaddr_t NetOurGatewayIP=0; /* Our gateways IP address */
|
IPaddr_t NetOurGatewayIP=0; /* Our gateways IP address */
|
||||||
IPaddr_t NetOurDNSIP=0; /* Our DNS 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 NetOurNISDomain[32]={0,}; /* Our NIS domain */
|
||||||
char NetOurHostName[32]={0,}; /* Our hostname */
|
char NetOurHostName[32]={0,}; /* Our hostname */
|
||||||
char NetOurRootPath[64]={0,}; /* Our bootpath */
|
char NetOurRootPath[64]={0,}; /* Our bootpath */
|
||||||
|
Loading…
Reference in New Issue
Block a user