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:
71:736a5747ade1
Parent:
61:aad055f1b0d1
Child:
73:43e3d7fb3d60
--- a/ip6/udptcp6.c	Fri Feb 16 17:31:52 2018 +0000
+++ b/ip6/udptcp6.c	Sat Oct 20 18:56:13 2018 +0000
@@ -76,13 +76,13 @@
     }
 }
 
-int Tcp6HandleReceivedPacket(void (*traceback)(void), int scope, void* pPacketRx, int sizeRx, void* pPacketTx, int* pSizeTx, char* pSrcIp, char* pDstIp)
+int Tcp6HandleReceivedPacket(void (*traceback)(void), int scope, void* pPacketRx, int sizeRx, void* pPacketTx, int* pSizeTx, char* pSrcIp, char* pDstIp, char* pCachedRemIp)
 {
     pTraceBack = traceback;
     tracePacketProtocol = TCP;
     calculatedChecksum = calculateChecksum(TCP, pSrcIp, pDstIp, sizeRx, pPacketRx);
     
-    int action = TcpHandleReceivedPacket(trace, sizeRx, pPacketRx, pSizeTx, pPacketTx);
+    int action = TcpHandleReceivedPacket(trace, sizeRx, pPacketRx, pSizeTx, pPacketTx, IPV6, pCachedRemIp);
     
     Ip6AddressCopy(pDstIp, pSrcIp);
     
@@ -105,6 +105,17 @@
         
     return action;
 }
+int Tcp6PollForPacketToSend(void* pPacket, int* pSize, char* pSrcIp, char* pDstIp)
+{        
+    int action = TcpPollForPacketToSend(pSize, pPacket, IPV6, pDstIp);
+    
+    int scope = SCOPE_LOCAL;
+
+    finalisePacket(TCP, action, scope, pPacket, *pSize, pSrcIp, pDstIp);
+                
+    return action;
+
+}
 int Udp6PollForPacketToSend(void* pPacket, int* pSize, char* pSrcIp, char* pDstIp)
 {        
     int action = UdpPollForPacketToSend(IPV6, pSize, pPacket);