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:
59:e0e556c8bd46
Parent:
56:35117a8b5c65
diff -r d48c899e482f -r e0e556c8bd46 ip4/udptcp4.cpp
--- a/ip4/udptcp4.cpp	Thu Dec 07 20:44:32 2017 +0000
+++ b/ip4/udptcp4.cpp	Thu Dec 14 20:55:40 2017 +0000
@@ -73,36 +73,32 @@
         default: LogTimeF("UdpTcp4 - traceback unrecognised protocol %d\r\n", tracePacketProtocol); break;
     }
 }
-int Tcp4HandleReceivedPacket(void (*traceback)(void), uint32_t* pSrcIp, uint32_t* pDstIp, int* pSize, void * pPacket)
+int Tcp4HandleReceivedPacket(void (*traceback)(void), void* pPacketRx, int sizeRx, void* pPacketTx, int* pSizeTx, uint32_t* pSrcIp, uint32_t* pDstIp)
 {   
     pTraceBack = traceback;
     tracePacketProtocol = TCP;
-    calculatedChecksum = calculateChecksum(TCP, *pSrcIp, *pDstIp, *pSize, pPacket);
- 
-    TcpReadHeader(pPacket, *pSize);
+    calculatedChecksum = calculateChecksum(TCP, *pSrcIp, *pDstIp, sizeRx, pPacketRx);
         
-    int action = TcpHandleReceivedPacket(trace, pSize, pPacket);
+    int action = TcpHandleReceivedPacket(trace, sizeRx, pPacketRx, pSizeTx, pPacketTx);
     
     *pDstIp = *pSrcIp;
     
-    finalisePacket(TCP, action, pPacket, *pSize, pSrcIp, pDstIp);
+    finalisePacket(TCP, action, pPacketTx, *pSizeTx, pSrcIp, pDstIp);
   
     return action;
 }
 
-int Udp4HandleReceivedPacket(void (*traceback)(void), uint32_t* pSrcIp, uint32_t* pDstIp, int* pSize, void* pPacket)
+int Udp4HandleReceivedPacket(void (*traceback)(void), void* pPacketRx, int sizeRx, void* pPacketTx, int* pSizeTx, uint32_t* pSrcIp, uint32_t* pDstIp)
 {   
     pTraceBack = traceback;
     tracePacketProtocol = UDP;
-    calculatedChecksum = calculateChecksum(UDP, *pSrcIp, *pDstIp, *pSize, pPacket);
- 
-    UdpReadHeader(pPacket, *pSize);
-    
-    int action = UdpHandleReceivedPacket(trace, pSize, pPacket);
+    calculatedChecksum = calculateChecksum(UDP, *pSrcIp, *pDstIp, sizeRx, pPacketRx);
+     
+    int action = UdpHandleReceivedPacket(trace, sizeRx, pPacketRx, pSizeTx, pPacketTx);
 
     *pDstIp = *pSrcIp;
     
-    finalisePacket(UDP, action, pPacket, *pSize, pSrcIp, pDstIp); //Note that the ports are reversed here
+    finalisePacket(UDP, action, pPacketTx, *pSizeTx, pSrcIp, pDstIp); //Note that the ports are reversed here
   
     return action;
 }