ntp.fs 837 B

123456789101112131415161718192021222324252627282930313233343536
  1. ( NTP JCB 09:54 11/17/10)
  2. : ntp-server
  3. \ h# 02830a00.
  4. \ ip# 91.189.94.4 \ time.ubuntu
  5. ip# 17.151.16.20 \ time.apple.com
  6. ;
  7. : ntp-request
  8. d# 123 d# 9999
  9. ntp-server
  10. net-my-ip
  11. 2over arp-lookup
  12. ( dst-port src-port dst-ip src-ip *ethaddr )
  13. udp-header
  14. h# 2304 mac-pkt-, h# 04ec mac-pkt-,
  15. d# 6 mac-pkt-,0
  16. d# 4 mac-pkt-,0 \ originate
  17. d# 4 mac-pkt-,0 \ reference
  18. d# 4 mac-pkt-,0 \ receive
  19. \ d# 4 mac-pkt-,0 \ transmit
  20. time@ mac-pkt-d, d# 2 mac-pkt-,0
  21. udp-wrapup mac-send
  22. ;
  23. : ntp-handler
  24. IP_PROTO_UDP ip-isproto
  25. ETH.IP.UDP.SOURCEPORT packet@ d# 123 = and
  26. ETH.IP.UDP.DESTPORT packet@ d# 9999 = and
  27. if
  28. ETH.IP.UDP.NTP.TRANSMIT packetd@ setdate
  29. time@ ETH.IP.UDP.NTP.ORIGINATE packetd@ d- setdelay
  30. then
  31. ;