* "last user address" is set even if bootp is used without parameters
(and it uses default address).
+======================================================================
+Modifications since 0.6.2:
+======================================================================
+
+* Add support for BOOTP Domain Name Server Option
+
======================================================================
Modifications for 0.6.2:
======================================================================
NetIPaddr (NetServerIP, tmp);
setenv("serverip", tmp);
}
+
+ if (NetOurDNSIP) {
+ NetIPaddr (NetOurDNSIP, tmp);
+ setenv("dnsip", tmp);
+ }
}
static void
#define CONFIG_BOOTP_NISDOMAIN 0x00000008
#define CONFIG_BOOTP_BOOTPATH 0x00000010
#define CONFIG_BOOTP_BOOTFILESIZE 0x00000020
+#define CONFIG_BOOTP_DNS 0x00000040
#define CONFIG_BOOTP_ALL (~0)
/** BOOTP EXTENTIONS **/
extern IPaddr_t NetOurGatewayIP; /* Our gateway IP addresse */
extern IPaddr_t NetOurSubnetMask; /* Our subnet mask (0 = unknown)*/
+extern IPaddr_t NetOurDNSIP; /* Our Domain Name Server (0 = unknown)*/
extern char NetOurNISDomain[32]; /* Our NIS domain */
extern char NetOurHostName[32]; /* Our hostname */
extern char NetOurRootPath[32]; /* Our root path */
break;
case 5: /* IEN-116 name server - Not yet supported */
break;
- case 6: /* Domain name server - Not yet supported */
+ case 6:
+ if (NetOurDNSIP == 0) {
+ memcpy(&NetOurDNSIP, ext+2, 4);
+ }
break;
case 7: /* Log server - Not yet supported */
break;
e += 4;
#endif
+#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_DNS)
+ *e++ = 6; /* Domain Name Server */
+ *e++ = 4;
+ e += 4;
+#endif
+
#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_HOSTNAME)
*e++ = 12; /* Host name request */
*e++ = 32;
/** BOOTP EXTENTIONS **/
IPaddr_t NetOurSubnetMask=0; /* Our subnet mask (0=unknown) */
-IPaddr_t NetOurGatewayIP=0; /* Our gateways IP addresses */
+IPaddr_t NetOurGatewayIP=0; /* Our gateways IP address */
+IPaddr_t NetOurDNSIP=0; /* Our DNS IP address */
char NetOurNISDomain[32]={0,}; /* Our NIS domain */
char NetOurHostName[32]={0,}; /* Our hostname */
char NetOurRootPath[32]={0,}; /* Our bootpath */