|
@@ -434,10 +434,25 @@ static void dhcpd_thread_entry(void *parameter)
|
|
// DHCP_OPTION_DNS_SERVER, use the default DNS server address in lwIP
|
|
// DHCP_OPTION_DNS_SERVER, use the default DNS server address in lwIP
|
|
*dhcp_opt++ = DHCP_OPTION_DNS_SERVER;
|
|
*dhcp_opt++ = DHCP_OPTION_DNS_SERVER;
|
|
*dhcp_opt++ = 4;
|
|
*dhcp_opt++ = 4;
|
|
- *dhcp_opt++ = 208;
|
|
|
|
- *dhcp_opt++ = 67;
|
|
|
|
- *dhcp_opt++ = 222;
|
|
|
|
- *dhcp_opt++ = 222;
|
|
|
|
|
|
+
|
|
|
|
+#ifndef DHCP_DNS_SERVER_IP
|
|
|
|
+ *dhcp_opt++ = DHCPD_SERVER_IPADDR0;
|
|
|
|
+ *dhcp_opt++ = DHCPD_SERVER_IPADDR1;
|
|
|
|
+ *dhcp_opt++ = DHCPD_SERVER_IPADDR2;
|
|
|
|
+ *dhcp_opt++ = 1;
|
|
|
|
+#else
|
|
|
|
+ struct ip_addr dns_addr;
|
|
|
|
+ ip4addr_aton(DHCP_DNS_SERVER_IP, &dns_addr);
|
|
|
|
+ DNS_SERVER_IPADDR0 = (ntohl(dns_addr.addr) >> 24) & 0xFF;
|
|
|
|
+ DNS_SERVER_IPADDR1 = (ntohl(dns_addr.addr) >> 16) & 0xFF;
|
|
|
|
+ DNS_SERVER_IPADDR2 = (ntohl(dns_addr.addr) >> 8) & 0xFF;
|
|
|
|
+ DNS_SERVER_IPADDR3 = (ntohl(dns_addr.addr) >> 0) & 0xFF;
|
|
|
|
+
|
|
|
|
+ *dhcp_opt++ = DNS_SERVER_IPADDR0;
|
|
|
|
+ *dhcp_opt++ = DNS_SERVER_IPADDR1;
|
|
|
|
+ *dhcp_opt++ = DNS_SERVER_IPADDR2;
|
|
|
|
+ *dhcp_opt++ = DNS_SERVER_IPADDR3;
|
|
|
|
+#endif
|
|
|
|
|
|
// DHCP_OPTION_LEASE_TIME
|
|
// DHCP_OPTION_LEASE_TIME
|
|
*dhcp_opt++ = DHCP_OPTION_LEASE_TIME;
|
|
*dhcp_opt++ = DHCP_OPTION_LEASE_TIME;
|