A stack which works with or without an Mbed os library. Provides IPv4 or IPv6 with a full 1500 byte buffer.

Dependents:   oldheating gps motorhome heating

Revision:
42:222a4f45f916
Parent:
37:793b39683406
Child:
43:bc028d5a6424
diff -r db727df5f98b -r 222a4f45f916 udp/ntp.cpp
--- a/udp/ntp.cpp	Fri Oct 06 10:18:01 2017 +0000
+++ b/udp/ntp.cpp	Sun Oct 15 17:54:09 2017 +0000
@@ -16,6 +16,8 @@
 
 #define HEADER_SIZE 48
 
+#define USE_IP4 false
+
 #define CLIENT 3
 #define SERVER 4
 
@@ -230,17 +232,28 @@
         NtpClientRequest = false;
         return DO_NOTHING;
     }
-    resolve6(NtpServerName, NtpServerIp6);
-    if (!resolve4(NtpServerName, &NtpServerIp4)) return DO_NOTHING;
-    if (type != IPV4) return DO_NOTHING;      //Only have an IP4 address at this moment
+    
+    if (type == IPV4)
+    {
+        if (!resolve4(NtpServerName, &NtpServerIp4)) return DO_NOTHING;
+    }
+    else if (type == IPV6)
+    {
+        if (!resolve6(NtpServerName, NtpServerIp6)) return DO_NOTHING;
+    }
+    else
+    {
+        return DO_NOTHING;
+    }
 
     //Have IP and MAC so send request
-    int action = sendRequest(pPacket, pSize);
-    if (ActionGetTracePart(action))
+    NtpClientRequest = false;
+    int dest = sendRequest(pPacket, pSize);
+    if (NtpTrace)
     {
         LogTimeF("Sending NTP request\r\n");
+        logHeader((struct header*)pPacket);
     }
-    NtpClientRequest = false;
-    return action;
+    return ActionMakeFromDestAndTrace(dest, NtpTrace && NetTraceForward);
 }