summaryrefslogtreecommitdiff
path: root/net/bootp.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/bootp.c')
-rw-r--r--net/bootp.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/net/bootp.c b/net/bootp.c
index 4bca50d..ee0982e 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -448,6 +448,10 @@ static int DhcpExtended (u8 * e, int message_type, IPaddr_t ServerID, IPaddr_t R
*e++ = 1; /* Subnet Mask */
*cnt += 1;
#endif
+#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_TIMEOFFSET)
+ *e++ = 2;
+ *cnt += 1;
+#endif
#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_GATEWAY)
*e++ = 3; /* Router Option */
*cnt += 1;
@@ -472,6 +476,10 @@ static int DhcpExtended (u8 * e, int message_type, IPaddr_t ServerID, IPaddr_t R
*e++ = 40; /* NIS Domain name request */
*cnt += 1;
#endif
+#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_NTPSERVER)
+ *e++ = 42;
+ *cnt += 1;
+#endif
*e++ = 255; /* End of the list */
/* Pad to minimal length */
@@ -718,6 +726,12 @@ static void DhcpOptionsProcess (uchar * popt)
case 1:
NetCopyIP (&NetOurSubnetMask, (popt + 2));
break;
+#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_TIMEOFFSET)
+ case 2: /* Time offset */
+ NetCopyLong (&NetTimeOffset, (ulong *) (popt + 2));
+ NetTimeOffset = ntohl (NetTimeOffset);
+ break;
+#endif
case 3:
NetCopyIP (&NetOurGatewayIP, (popt + 2));
break;
@@ -741,6 +755,11 @@ static void DhcpOptionsProcess (uchar * popt)
memcpy (&NetOurRootPath, popt + 2, size);
NetOurRootPath[size] = 0;
break;
+#if (CONFIG_BOOTP_MASK & CONFIG_BOOTP_NTPSERVER)
+ case 42: /* NTP server IP */
+ NetCopyIP (&NetNtpServerIP, (popt + 2));
+ break;
+#endif
case 51:
NetCopyLong (&dhcp_leasetime, (ulong *) (popt + 2));
break;