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
Diff: ip4/udptcp4.cpp
- Revision:
- 59:e0e556c8bd46
- Parent:
- 56:35117a8b5c65
--- 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; }