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:
80:4ef1500fca1d
Parent:
74:c3756bfa960e
Child:
136:8a65abb0dc63
--- a/ip6/udptcp6.c	Sun Nov 11 15:44:23 2018 +0000
+++ b/ip6/udptcp6.c	Thu Nov 15 16:55:29 2018 +0000
@@ -87,7 +87,7 @@
     tracePacketProtocol = TCP;
     calculatedChecksum = calculateChecksum(TCP, pSrcIp, pDstIp, sizeRx, pPacketRx);
     
-    int action = TcpHandleReceivedPacket(trace, sizeRx, pPacketRx, pSizeTx, pPacketTx, IPV6, remArIndex);
+    int action = TcpHandleReceivedPacket(trace, sizeRx, pPacketRx, pSizeTx, pPacketTx, IPV6, remArIndex, scope);
     
     Ip6AddressCopy(pDstIp, pSrcIp);
     
@@ -113,12 +113,12 @@
 int Tcp6PollForPacketToSend(void* pPacket, int* pSize, char* pSrcIp, char* pDstIp)
 {
     int remArIndex = -1;
-    int action = TcpPollForPacketToSend(pSize, pPacket, IPV6, &remArIndex);
+    int locIpScope = SCOPE_LOCAL;
+    int action = TcpPollForPacketToSend(pSize, pPacket, IPV6, &remArIndex, &locIpScope);
     if (action && remArIndex >= 0) Ar6IndexToIp(remArIndex, pDstIp);
     
-    int scope = SCOPE_LOCAL;
 
-    finalisePacket(TCP, action, scope, pPacket, *pSize, pSrcIp, pDstIp);
+    finalisePacket(TCP, action, locIpScope, pPacket, *pSize, pSrcIp, pDstIp);
                 
     return action;