diff -r 630d2f34d719 -r 07a122eea281 telephonyprotocols/rawipnif/src/IPv4Binder.cpp --- a/telephonyprotocols/rawipnif/src/IPv4Binder.cpp Tue Aug 31 16:23:08 2010 +0300 +++ b/telephonyprotocols/rawipnif/src/IPv4Binder.cpp Wed Sep 01 12:40:21 2010 +0100 @@ -20,12 +20,6 @@ @file */ - -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "IPv4BinderTraces.h" -#endif - #include #include #include "RawIPFlow.h" @@ -38,6 +32,8 @@ #include #endif +#define LOG_IP_ADDRESS(desc,addr) _LOG_L1C5(_L8(" " desc " = %d.%d.%d.%d"), \ + addr >> 24, (addr >> 16) & 0xFF, (addr >> 8) & 0xFF, addr & 0xFF); #ifdef __EABI__ // Patch data is used and KMtuIPv4 and KRMtuIPv4 can be modified to a different value in RawIpNif.iby file @@ -45,11 +41,11 @@ extern const TInt KRMtuIPv4 = KDefaultMtu; #endif -CIPv4Binder::CIPv4Binder(CRawIPFlow& aFlow) +CIPv4Binder::CIPv4Binder(CRawIPFlow& aFlow, CBttLogger* aTheLogger) /** * Constructor */ - : CBinderBase(aFlow), + : CBinderBase(aFlow,aTheLogger), iSpeedMetric(KDefaultSpeedMetric) { } @@ -85,7 +81,8 @@ * @return Standard error codes */ { - OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_CONTROL_1, "CIPv4Binder::Control [aLevel=%d, aName=%d]",aLevel, aName); + _LOG_L1C3(_L8("CIPv4Binder::Control [aLevel=%d, aName=%d]"), + aLevel, aName); if (aLevel == KSOLInterface) { @@ -162,7 +159,7 @@ TInt CIPv4Binder::GetConfig(TBinderConfig& aConfig) { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_GETCONFIG_1, "CIPv4Binder::GetConfig"); + _LOG_L1C1(_L8("CIPv4Binder::GetConfig")); TBinderConfig4* config = TBinderConfig::Cast(aConfig); @@ -192,8 +189,8 @@ config->iInfo.iSpeedMetric = iSpeedMetric; /* approximation of the interface speed in Kbps. */ - OstTraceDefExt4(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_GETCONFIG_2, "Local IP address from TBinderConfig = %u.%u.%u.%u",iSettings.iLocalAddr >> 24, (iSettings.iLocalAddr >> 16) & 0xFF, (iSettings.iLocalAddr >> 8) & 0xFF, iSettings.iLocalAddr & 0xFF); - + LOG_IP_ADDRESS("Local IP address from TBinderConfig", iSettings.iLocalAddr); + config->iAddress.SetAddress(iSettings.iLocalAddr); /* Interface IP address. */ config->iNetMask.SetAddress(iSettings.iNetMask); /* IP netmask. */ config->iBrdAddr.SetAddress(iSettings.iBroadcastAddr); /* IP broadcast address. */ @@ -214,7 +211,7 @@ * @return KErrArgument if an incorrect structure is passed, otherwise KErrNone */ { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_DELETECONTEXT_1, "CIPv4Binder::DeleteContext"); + _LOG_L1C1(_L8("CIPv4Binder::DeleteContext")); if (aContextParameters.Length() != sizeof(TContextParameters)) { @@ -247,7 +244,7 @@ */ void CIPv4Binder::UpdateContextConfigL(const TPacketDataConfigBase& aConfig) { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_1, "CIPv4Binder::UpdateContextConfig"); + _LOG_L1C1(_L8("CIPv4Binder::UpdateContextConfig")); // Get our IP address from the GPRS context config. TInetAddr address; @@ -273,13 +270,14 @@ if (ret == KErrNone) { iSettings.iLocalAddr = address.Address(); - OstTraceDefExt4(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_2, "Got local IP address from context = %u.%u.%u.%u",iSettings.iLocalAddr >> 24, (iSettings.iLocalAddr >> 16) & 0xFF, (iSettings.iLocalAddr >> 8) & 0xFF, iSettings.iLocalAddr & 0xFF); + LOG_IP_ADDRESS("Got local IP address from context", iSettings.iLocalAddr); iSettings.iDefGateway = address.Address(); - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_3, "Set Default Gateway to local IP address"); + _LOG_L1C1(_L8("Set Default Gateway to local IP address")); } else { - OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_4, "Couldn't get IP address from GPRS config (err: %d)",ret); + _LOG_L2C2(_L8("Couldn't get IP address from GPRS config (err: %d)"), + ret); // Don't leave on this error: we may still be OK if we read some // settings from CommDB. @@ -301,11 +299,12 @@ if (ret == KErrNone) { iSettings.iPrimaryDns = address.Address(); - OstTraceDefExt4(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_5, "Got primary DNS from context PCO = %u.%u.%u.%u",iSettings.iPrimaryDns >> 24, (iSettings.iPrimaryDns >> 16) & 0xFF, (iSettings.iPrimaryDns >> 8) & 0xFF, iSettings.iPrimaryDns & 0xFF); + LOG_IP_ADDRESS("Got primary DNS from context PCO", iSettings.iPrimaryDns); } else { - OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_6, "Couldn't get primary DNS address from GPRS config (err: %d)",ret); + _LOG_L2C2(_L8("Couldn't get primary DNS address from GPRS config (err: %d)"), + ret); // Don't leave on this error: we may still be OK if we read some // settings from CommDB. @@ -317,11 +316,12 @@ if (ret == KErrNone) { iSettings.iSecondaryDns = address.Address(); - OstTraceDefExt4(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_7, "Got secondary DNS from context PCO = %u.%u.%u.%u",iSettings.iSecondaryDns >> 24, (iSettings.iSecondaryDns >> 16) & 0xFF, (iSettings.iSecondaryDns >> 8) & 0xFF, iSettings.iSecondaryDns); + LOG_IP_ADDRESS("Got secondary DNS from context PCO", iSettings.iPrimaryDns); } else { - OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_8, "Couldn't get secondary DNS address from GPRS config (err: %d)",ret); + _LOG_L2C2(_L8("Couldn't get secondary DNS address from GPRS config (err: %d)"), + ret); // Don't leave on this error: we may still be OK if we read some // settings from CommDB. @@ -329,8 +329,8 @@ } else { - OstTraceDefExt4(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_9, "Using CommDB DNS address - Primary = %u.%u.%u.%u",iSettings.iPrimaryDns >> 24, (iSettings.iPrimaryDns >> 16) & 0xFF, (iSettings.iPrimaryDns >> 8) & 0xFF, iSettings.iPrimaryDns & 0xFF); - OstTraceDefExt4(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_10, " - Secondary = %u.%u.%u.%u",iSettings.iSecondaryDns >> 24, (iSettings.iSecondaryDns >> 16) & 0xFF, (iSettings.iSecondaryDns >> 8) & 0xFF, iSettings.iSecondaryDns); + LOG_IP_ADDRESS("Using CommDB DNS address - Primary ", iSettings.iPrimaryDns); + LOG_IP_ADDRESS(" - Secondary ", iSettings.iSecondaryDns); } @@ -352,7 +352,8 @@ } else { - OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_4, "Couldn't get default gateway from GPRS config (err: %d)",ret); + _LOG_L2C2(_L8("Couldn't get default gateway from GPRS config (err: %d)"), + ret); } }*/ } @@ -364,7 +365,7 @@ * @param aConnectionSpeed Our connection speed */ { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONNECTIONSPEED_1, "CIPv4Binder::UpdateConnectionSpeed"); + _LOG_L1C1(_L8("CIPv4Binder::UpdateConnectionSpeed")); iSpeedMetric = aConnectionSpeed; } @@ -378,7 +379,7 @@ * @return MLowerDataSender::ESendBlocked or ESendAccepted based on state of flow. */ { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_SEND_1, "CIPv4Binder::Send"); + _LOG_L1C1(_L8("CIPv4Binder::Send")); #ifdef __BTT_LOGGING__ LogPacket(aPdu); @@ -399,7 +400,7 @@ * @param aInfo Not used */ { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_NOTIFICATION_1, "CIPv4Binder::Notification"); + _LOG_L1C1(_L8("CIPv4Binder::Notification")); return KErrNone; } @@ -411,7 +412,7 @@ * @param aProtocol A pointer to a protocol */ { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_STARTSENDING_1, "CIPv4Binder::StartSending()"); + _LOG_L1C1(_L8("CIPv4Binder::StartSending()")); CBinderBase::StartSending(); } @@ -423,7 +424,8 @@ * @param aProtocolCode The protocol type */ { - OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_WANTSPROTOCOL_1, "CIPv4Binder::WantsProtocol [aProtocolCode=%X]",aProtocolCode); + _LOG_L1C2(_L8("CIPv4Binder::WantsProtocol [aProtocolCode=%X]"), + aProtocolCode); #ifdef RAWIP_HEADER_APPENDED_TO_PACKETS return ((aProtocolCode & 0x00FF) == KIp4FrameType); @@ -441,7 +443,7 @@ * @param aPdu The incoming packet */ { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_PROCESS_1, "CIPv4Binder::Process"); + _LOG_L1C1(_L8("CIPv4Binder::Process")); #ifdef __BTT_LOGGING__ LogPacket(aPdu); @@ -451,12 +453,12 @@ // been bound yet. if (iUpperReceiver) // ASSERT(iUpperReceiver) ? { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_PROCESS_2, "CIPv4Binder: Packet Sent to TCP/IP Protocol!!!"); + _LOG_L1C1(_L8("CIPv4Binder: Packet Sent to TCP/IP Protocol!!!")); iUpperReceiver->Process(aPdu); } else { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_PROCESS_3, "WARNING: dumping incoming packet, no protocol bound"); + _LOG_L2C1(_L8("WARNING: dumping incoming packet, no protocol bound")); aPdu.Free(); } } @@ -486,7 +488,7 @@ @param aProvision Provisioning structure from Control side. */ { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_SETPROVISION_1, "CIPv4Binder::SetProvision"); + _LOG_L1C1(_L8("CIPv4Binder::SetProvision")); iSettings.iLocalAddr = aProvision.GetIpAddress(); iSettings.iNetMask = aProvision.GetIpNetMask(); @@ -497,7 +499,7 @@ iSettings.iGetGatewayFromServer = aProvision.GetIpAddrFromServer(); iSettings.iGetDnsFromServer = aProvision.GetIp4DNSAddrFromServer(); - OstTraceDefExt4(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_SETPROVISION_2, "Local IP address from Provisioning = %u.%u.%u.%u",iSettings.iLocalAddr >> 24, (iSettings.iLocalAddr >> 16) & 0xFF, (iSettings.iLocalAddr >> 8) & 0xFF, iSettings.iLocalAddr & 0xFF); + LOG_IP_ADDRESS("Local IP address from Provisioning", iSettings.iLocalAddr); } #ifdef __BTT_LOGGING__ @@ -508,18 +510,19 @@ * @param aPacket The packet */ { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_1, "CIPv4Binder::LogPacket"); + _LOG_L1C1(_L8("CIPv4Binder::LogPacket")); TInt mBufLength = aPacket.Length() - aPacket.First()->Length(); - OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_2, "Analysis of %d byte packet:", mBufLength); + _LOG_L3C2(_L8("Analysis of %d byte packet:"), mBufLength); //Note: All the constants used on this method are a pragmatic guess of the //IP header fields. The only porpose of this method is logging. if (mBufLength < 20) { - OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_3, " -doesn't appear to be a valid IPv4 packet (length=%d)", mBufLength); + _LOG_L3C2(_L8(" -doesn't appear to be a valid IPv4 packet (length=%d)") + , mBufLength); return; } @@ -528,34 +531,39 @@ if ((payloadPtr[0] & 0xF0) != 0x40) { - OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_4, " - doesn't appear to be an IPv4 packet (version=0x%X)",(payloadPtr[0] & 0xF0) >> 4); + _LOG_L3C2(_L8(" - doesn't appear to be an IPv4 packet (version=0x%X)"), + (payloadPtr[0] & 0xF0) >> 4); return; } if ((payloadPtr[0] & 0xF) != 0x5) { - OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_5, " - doesn't have a standard IP header (length=0x%X)",payloadPtr[0] & 0xF); + _LOG_L3C2(_L8(" - doesn't have a standard IP header (length=0x%X)"), + payloadPtr[0] & 0xF); return; } - OstTraceDefExt4(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_6, " - src addr: %d.%d.%d.%d", payloadPtr[12], payloadPtr[13],payloadPtr[14], payloadPtr[15]); - OstTraceDefExt4(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_7, " - dst addr: %d.%d.%d.%d", payloadPtr[16], payloadPtr[17],payloadPtr[18], payloadPtr[19]); + _LOG_L3C5(_L8(" - src addr: %d.%d.%d.%d"), payloadPtr[12], payloadPtr[13], + payloadPtr[14], payloadPtr[15]); + _LOG_L3C5(_L8(" - dst addr: %d.%d.%d.%d"), payloadPtr[16], payloadPtr[17], + payloadPtr[18], payloadPtr[19]); if (payloadPtr[9] == 0x06) { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_8, " - appears to be a TCP packet"); + _LOG_L3C1(_L8(" - appears to be a TCP packet")); if (mBufLength < 40) { - OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_9, " - but is too short (length=0x%X)", mBufLength); + _LOG_L3C2(_L8(" - but is too short (length=0x%X)"), mBufLength); return; } - OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_10, " - src port: %d, dst port: %d",(payloadPtr[20] << 8) + payloadPtr[21],(payloadPtr[22] << 8) + payloadPtr[23]); - OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_11, " - seq #: 0x%08X, ack #: 0x%08X", - (payloadPtr[24] << 24) + (payloadPtr[25] << 16) + - (payloadPtr[26] << 8) + payloadPtr[27], - (payloadPtr[28] << 24) + (payloadPtr[29] << 16) + - (payloadPtr[30] << 8) + payloadPtr[31]); - + _LOG_L3C3(_L8(" - src port: %d, dst port: %d"), + (payloadPtr[20] << 8) + payloadPtr[21], + (payloadPtr[22] << 8) + payloadPtr[23]); + _LOG_L3C3(_L8(" - seq #: 0x%08X, ack #: 0x%08X"), + (payloadPtr[24] << 24) + (payloadPtr[25] << 16) + + (payloadPtr[26] << 8) + payloadPtr[27], + (payloadPtr[28] << 24) + (payloadPtr[29] << 16) + + (payloadPtr[30] << 8) + payloadPtr[31]); TBuf8<100> flagsSet; flagsSet.Copy(_L8(" - flags set: ")); @@ -585,7 +593,7 @@ { flagsSet.Append(_L8("URG ")); } - OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_12, "%s", flagsSet); + _LOG_L3C1(flagsSet); TInt dataOffset = payloadPtr[32] >> 2; // in bytes if ((dataOffset > 0) && (mBufLength > dataOffset + 30)) @@ -608,50 +616,55 @@ data.Append(TChar('?')); } } - OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_13, "%s", data); + _LOG_L3C1(data); } } else if (payloadPtr[9] == 0x01) { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_14, " - appears to be an ICMP packet"); + _LOG_L3C1(_L8(" - appears to be an ICMP packet")); if (mBufLength < 24) { - OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_15, " - but is too short (length=0x%X)", mBufLength); + _LOG_L3C2(_L8(" - but is too short (length=0x%X)"), mBufLength); return; } if (payloadPtr[20] == 0x8) { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_16, " - is an echo request"); + _LOG_L3C1(_L8(" - is an echo request")); } else if (payloadPtr[20] == 0x0) { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_17, " - is an echo reply"); + _LOG_L3C1(_L8(" - is an echo reply")); } else { - OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_18, " - unknown type (0x%02X)", payloadPtr[20]); + _LOG_L3C2(_L8(" - unknown type (0x%02X)"), payloadPtr[20]); return; } if (mBufLength >= 28) { - OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_19, " - ID: 0x%04X, seq #: 0x%04X",(payloadPtr[24] << 8) + payloadPtr[25],(payloadPtr[26] << 8) + payloadPtr[27]); + _LOG_L3C3(_L8(" - ID: 0x%04X, seq #: 0x%04X"), + (payloadPtr[24] << 8) + payloadPtr[25], + (payloadPtr[26] << 8) + payloadPtr[27]); } } else if (payloadPtr[9] == 0x11) { - OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_20, " - appears to be a UDP packet"); + _LOG_L3C1(_L8(" - appears to be a UDP packet")); if (mBufLength < 28) { - OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_21, " - but is too short (length=0x%X)", mBufLength); + _LOG_L3C2(_L8(" - but is too short (length=0x%X)"), mBufLength); return; } - OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_22, " - src port: %d, dst port: %d",(payloadPtr[20] << 8) + payloadPtr[21],(payloadPtr[22] << 8) + payloadPtr[23]); + _LOG_L3C3(_L8(" - src port: %d, dst port: %d"), + (payloadPtr[20] << 8) + payloadPtr[21], + (payloadPtr[22] << 8) + payloadPtr[23]); } else { - OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_23, " - appears to be for an unknown protocol (0x%X)",payloadPtr[9]); + _LOG_L3C2(_L8(" - appears to be for an unknown protocol (0x%X)"), + payloadPtr[9]); } } #endif // __BTT_LOGGING__