* derived from our own IP address)
* We want: - load the boot file
* Next step: none
+ *
+ * SNTP:
+ *
+ * Prerequisites: - own ethernet address
+ * - own IP address
+ * We want: - network time
+ * Next step: none
*/
#include <status_led.h>
#include <miiphy.h>
#endif
+#if (CONFIG_COMMANDS & CFG_CMD_SNTP)
+#include "sntp.h"
+#endif
#if (CONFIG_COMMANDS & CFG_CMD_NET)
static void CDPStart(void);
#endif
+#if (CONFIG_COMMANDS & CFG_CMD_SNTP)
+IPaddr_t NetNtpServerIP; /* NTP server IP address */
+int NetTimeOffset=0; /* offset time from UTC */
+#endif
+
#ifdef CONFIG_NETCONSOLE
void NcStart(void);
int nc_input_packet(uchar *pkt, unsigned dest, unsigned src, unsigned len);
#endif
#if (CONFIG_COMMANDS & CFG_CMD_PING)
case PING:
+#endif
+#if (CONFIG_COMMANDS & CFG_CMD_SNTP)
+ case SNTP:
#endif
case NETCONS:
case TFTP:
case PING:
/* nothing */
break;
+#endif
+#if (CONFIG_COMMANDS & CFG_CMD_SNTP)
+ case SNTP:
+ /* nothing */
+ break;
#endif
default:
break;
#if (CONFIG_COMMANDS & CFG_CMD_DHCP)
case DHCP:
/* Start with a clean slate... */
+ BootpTry = 0;
NetOurIP = 0;
NetServerIP = getenv_IPaddr ("serverip");
DhcpRequest(); /* Basically same as BOOTP */
case NETCONS:
NcStart();
break;
+#endif
+#if (CONFIG_COMMANDS & CFG_CMD_SNTP)
+ case SNTP:
+ SntpStart();
+ break;
#endif
default:
break;
/*
* Main packet reception loop. Loop receiving packets until
- * someone sets `NetQuit'.
+ * someone sets `NetState' to a state that terminates.
*/
for (;;) {
WATCHDOG_RESET();
thand_f *x;
#if defined(CONFIG_MII) || (CONFIG_COMMANDS & CFG_CMD_MII)
-#if defined(CFG_FAULT_ECHO_LINK_DOWN) && defined(CONFIG_STATUS_LED) && defined(STATUS_LED_RED)
+# if defined(CFG_FAULT_ECHO_LINK_DOWN) &&
+ defined(CONFIG_STATUS_LED) &&
+ defined(STATUS_LED_RED)
/*
* Echo the inverted link state to the fault LED.
*/
} else {
status_led_set (STATUS_LED_RED, STATUS_LED_ON);
}
-#endif /* CFG_FAULT_ECHO_LINK_DOWN, ... */
+# endif /* CFG_FAULT_ECHO_LINK_DOWN, ... */
#endif /* CONFIG_MII, ... */
x = timeHandler;
timeHandler = (thand_f *)0;
void
-NetSetTimeout(int iv, thand_f * f)
+NetSetTimeout(ulong iv, thand_f * f)
{
if (iv == 0) {
timeHandler = (thand_f *)0;
#endif
return;
}
+ break;
case PROT_RARP:
#ifdef ET_DEBUG
}
goto common;
#endif
+#if (CONFIG_COMMANDS & CFG_CMD_SNTP)
+ case SNTP:
+ if (NetNtpServerIP == 0) {
+ puts ("*** ERROR: NTP server address not given\n");
+ return (1);
+ }
+ goto common;
+#endif
#if (CONFIG_COMMANDS & CFG_CMD_NFS)
case NFS:
#endif
puts ("*** ERROR: `serverip' not set\n");
return (1);
}
-#if (CONFIG_COMMANDS & CFG_CMD_PING)
+#if (CONFIG_COMMANDS & (CFG_CMD_PING | CFG_CMD_SNTP))
common:
#endif