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:
30:e34173b7585c
Parent:
29:39277bf2003d
Child:
34:e3a7bff69bfc
--- a/ip6/ip6.cpp	Mon Aug 07 12:13:52 2017 +0000
+++ b/ip6/ip6.cpp	Thu Aug 10 17:45:37 2017 +0000
@@ -1,15 +1,16 @@
-#include    "mbed.h"
-#include     "log.h"
-#include     "net.h"
-#include   "icmp6.h"
-#include "udptcp6.h"
-#include      "ar.h"
-#include   "slaac.h"
-#include     "eth.h"
-#include      "ip.h"
-#include     "ip6.h"
-#include      "ra.h"
-#include      "io.h"
+#include     "mbed.h"
+#include      "log.h"
+#include      "net.h"
+#include    "icmp6.h"
+#include  "udptcp6.h"
+#include       "ar.h"
+#include "dnscache.h"
+#include    "slaac.h"
+#include      "eth.h"
+#include       "ip.h"
+#include      "ip6.h"
+#include       "ra.h"
+#include       "io.h"
 
 #define DEBUG false
 
@@ -188,13 +189,14 @@
     }
     
     ArAdd6(pSrcMac, Ip6Src);
+    DnsCacheMakeRequestForNameFromIp6(Ip6Src);
     
     if (DEBUG) logHeader("IP6 packet received");
 
     int action = DO_NOTHING;
     switch (protocol)
     {
-        case HOPOPT: action = DO_NOTHING;                                                          break;
+        case HOPOPT: action = DO_NOTHING;                                                    break;
         case ICMP6:  action = Icmp6HandleReceivedPacket(Ip6Src, Ip6Dst, &dataLength, pData); break;
         case UDP:    action =  Udp6HandleReceivedPacket(Ip6Src, Ip6Dst, &dataLength, pData); break;
         case TCP:    action =  Tcp6HandleReceivedPacket(Ip6Src, Ip6Dst, &dataLength, pData); break;