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:
88:1ba13e6062a3
Parent:
86:55bc5ddac16c
Child:
96:43eb7a110f1a
--- a/ip4/udptcp4.c	Sun Nov 18 15:34:56 2018 +0000
+++ b/ip4/udptcp4.c	Tue Nov 20 17:21:38 2018 +0000
@@ -80,6 +80,7 @@
 }
 int Tcp4HandleReceivedPacket(void (*traceback)(void), void* pPacketRx, int sizeRx, void* pPacketTx, int* pSizeTx, uint32_t* pSrcIp, uint32_t* pDstIp, int remArIndex)
 {   
+    Led3Set(true);
     pTraceBack = traceback;
     tracePacketProtocol = TCP;
     calculatedChecksum = calculateChecksum(TCP, *pSrcIp, *pDstIp, sizeRx, pPacketRx);
@@ -90,12 +91,12 @@
     
     finalisePacket(TCP, action, pPacketTx, *pSizeTx, pSrcIp, pDstIp);
   
+    Led3Set(false);
     return action;
 }
 
 int Udp4HandleReceivedPacket(void (*traceback)(void), void* pPacketRx, int sizeRx, void* pPacketTx, int* pSizeTx, uint32_t* pSrcIp, uint32_t* pDstIp)
 {   
-    Led3Set(true);
     pTraceBack = traceback;
     tracePacketProtocol = UDP;
     calculatedChecksum = calculateChecksum(UDP, *pSrcIp, *pDstIp, sizeRx, pPacketRx);
@@ -106,7 +107,6 @@
     
     finalisePacket(UDP, action, pPacketTx, *pSizeTx, pSrcIp, pDstIp); //Note that the ports are reversed here
     
-    Led3Set(false);
     return action;
 }
 int Tcp4PollForPacketToSend(void* pPacket, int* pSize, uint32_t* pSrcIp, uint32_t* pDstIp)