diff -r 17af172ffa5f -r 630d2f34d719 telephonyprotocols/rawipnif/rawipnif2/src/IPv4Binder.cpp --- a/telephonyprotocols/rawipnif/rawipnif2/src/IPv4Binder.cpp Thu Aug 19 11:03:36 2010 +0300 +++ b/telephonyprotocols/rawipnif/rawipnif2/src/IPv4Binder.cpp Tue Aug 31 16:23:08 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -20,6 +20,12 @@ @file */ + +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "IPv4BinderTraces.h" +#endif + #include #include #include "RawIP2Flow.h" @@ -30,14 +36,12 @@ #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); -CIPv4Binder::CIPv4Binder(CRawIP2Flow& aFlow, CBttLogger* aTheLogger) +CIPv4Binder::CIPv4Binder(CRawIP2Flow& aFlow) /** * Constructor */ - : CBinderBase(aFlow,aTheLogger), + : CBinderBase(aFlow), iSpeedMetric(KDefaultSpeedMetric) { } @@ -73,8 +77,7 @@ * @return Standard error codes */ { - _LOG_L1C3(_L8("CIPv4Binder::Control [aLevel=%d, aName=%d]"), - aLevel, aName); + OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_CONTROL_1, "CIPv4Binder::Control [aLevel=%d, aName=%d]",aLevel, aName); if (aLevel == KSOLInterface) { @@ -153,7 +156,7 @@ TInt CIPv4Binder::GetConfig(TBinderConfig& aConfig) { - _LOG_L1C1(_L8("CIPv4Binder::GetConfig")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_GETCONFIG_1, "CIPv4Binder::GetConfig"); TBinderConfig4* config = TBinderConfig::Cast(aConfig); if(config == NULL) @@ -167,8 +170,9 @@ config->iInfo.iMtu = KDefaultMtu; /* Maximum transmission unit. */ config->iInfo.iRMtu = KDefaultMtu; /* Maximum transmission unit for receiving. */ config->iInfo.iSpeedMetric = iSpeedMetric; /* approximation of the interface speed in Kbps. */ - LOG_IP_ADDRESS("Local IP address from TBinderConfig", iSettings.iLocalAddr); - + + 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); + config->iAddress.SetAddress(iSettings.iLocalAddr); /* Interface IP address. */ config->iNetMask.SetAddress(iSettings.iNetMask); /* IP netmask. */ config->iBrdAddr.SetAddress(iSettings.iBroadcastAddr); /* IP broadcast address. */ @@ -189,7 +193,7 @@ * @return KErrArgument if an incorrect structure is passed, otherwise KErrNone */ { - _LOG_L1C1(_L8("CIPv4Binder::DeleteContext")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_DELETECONTEXT_1, "CIPv4Binder::DeleteContext"); if (aContextParameters.Length() != sizeof(TContextParameters)) { @@ -223,7 +227,7 @@ */ void CIPv4Binder::UpdateContextConfigL(const TPacketDataConfigBase& aConfig) { - _LOG_L1C1(_L8("CIPv4Binder::UpdateContextConfig")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_1, "CIPv4Binder::UpdateContextConfig"); // Get our IP address from the GPRS context config. TInetAddr address; @@ -249,14 +253,13 @@ if (ret == KErrNone) { iSettings.iLocalAddr = address.Address(); - LOG_IP_ADDRESS("Got local IP address from context", iSettings.iLocalAddr); + 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); iSettings.iDefGateway = address.Address(); - _LOG_L1C1(_L8("Set Default Gateway to local IP address")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_3, "Set Default Gateway to local IP address"); } else { - _LOG_L2C2(_L8("Couldn't get IP address from GPRS config (err: %d)"), - ret); + OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_4, "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. @@ -278,12 +281,11 @@ if (ret == KErrNone) { iSettings.iPrimaryDns = address.Address(); - LOG_IP_ADDRESS("Got primary DNS from context PCO", iSettings.iPrimaryDns); + 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); } else { - _LOG_L2C2(_L8("Couldn't get primary DNS address from GPRS config (err: %d)"), - ret); + OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_6, "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. @@ -295,12 +297,11 @@ if (ret == KErrNone) { iSettings.iSecondaryDns = address.Address(); - LOG_IP_ADDRESS("Got secondary DNS from context PCO", iSettings.iPrimaryDns); + 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); } else { - _LOG_L2C2(_L8("Couldn't get secondary DNS address from GPRS config (err: %d)"), - ret); + OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_8, "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. @@ -308,8 +309,8 @@ } else { - LOG_IP_ADDRESS("Using CommDB DNS address - Primary ", iSettings.iPrimaryDns); - LOG_IP_ADDRESS(" - Secondary ", iSettings.iSecondaryDns); + 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); } @@ -327,12 +328,11 @@ if (ret == KErrNone) { iSettings.iDefGateway = address.Address(); - LOG_IP_ADDRESS("Got default gateway", iSettings.iDefGateway); + OstTraceDefExt4(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_10, "Got default gateway = %u.%u.%u.%u",iSettings.iDefGateway >> 24, (iSettings.iDefGateway >> 16) & 0xFF, (iSettings.iDefGateway >> 8) & 0xFF, iSettings.iDefGateway); } else { - _LOG_L2C2(_L8("Couldn't get default gateway from GPRS config (err: %d)"), - ret); + OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONTEXTCONFIGL_6, "Couldn't get default gateway from GPRS config (err: %d)",ret); } }*/ } @@ -344,7 +344,7 @@ * @param aConnectionSpeed Our connection speed */ { - _LOG_L1C1(_L8("CIPv4Binder::UpdateConnectionSpeed")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_UPDATECONNECTIONSPEED_1, "CIPv4Binder::UpdateConnectionSpeed"); iSpeedMetric = aConnectionSpeed; } @@ -362,7 +362,7 @@ * @return Standard error codes */ { - _LOG_L1C1(_L8("CIPv4Binder::Send")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_SEND1_1, "CIPv4Binder::Send"); #ifdef __BTT_LOGGING__ LogPacket(static_cast(aPdu)); @@ -387,7 +387,7 @@ * @param aInfo Not used */ { - _LOG_L1C1(_L8("CIPv4Binder::Notification")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_NOTIFICATION_1, "CIPv4Binder::Notification"); return KErrNone; } @@ -399,7 +399,7 @@ * @param aProtocol A pointer to a protocol */ { - _LOG_L1C1(_L8("CIPv4Binder::StartSending()")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_STARTSENDING_1, "CIPv4Binder::StartSending()"); CBinderBase::StartSending(); } @@ -411,8 +411,7 @@ * @param aProtocolCode The protocol type */ { - _LOG_L1C2(_L8("CIPv4Binder::WantsProtocol [aProtocolCode=%X]"), - aProtocolCode); + OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_WANTSPROTOCOL_1, "CIPv4Binder::WantsProtocol [aProtocolCode=%X]",aProtocolCode); #ifdef RAWIP_HEADER_APPENDED_TO_PACKETS return ((aProtocolCode & 0x00FF) == KIp4FrameType); @@ -435,7 +434,7 @@ * @param aPdu The incoming packet */ { - _LOG_L1C1(_L8("CIPv4Binder::Process")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_PROCESS1_1, "CIPv4Binder::Process"); #ifdef __BTT_LOGGING__ LogPacket(static_cast(aPdu)); @@ -452,12 +451,12 @@ // been bound yet. if (iUpperReceiver && WantsProtocol(protocolCode)) { - _LOG_L1C1(_L8("CIPv4Binder: Packet Sent to TCP/IP Protocol!!!")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_PROCESS1_2, "CIPv4Binder: Packet Sent to TCP/IP Protocol!!!"); iUpperReceiver->Process(static_cast(aPdu)); } else { - _LOG_L2C1(_L8("WARNING: dumping incoming packet, no protocol bound")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_PROCESS1_3, "WARNING: dumping incoming packet, no protocol bound"); aPdu.Free(); } } @@ -487,7 +486,7 @@ @param aProvision Provisioning structure from Control side. */ { - _LOG_L1C1(_L8("CIPv4Binder::SetProvision")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_SETPROVISION_1, "CIPv4Binder::SetProvision"); iSettings.iLocalAddr = aProvision.GetIpAddress(); iSettings.iNetMask = aProvision.GetIpNetMask(); iSettings.iBroadcastAddr = aProvision.GetBroadCastAddr(); @@ -496,7 +495,8 @@ iSettings.iSecondaryDns = aProvision.GetIp4NameServer2(); iSettings.iGetGatewayFromServer = aProvision.GetIpAddrFromServer(); iSettings.iGetDnsFromServer = aProvision.GetIp4DNSAddrFromServer(); - LOG_IP_ADDRESS("Local IP address from Provisioning", iSettings.iLocalAddr); + + 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); } #ifdef __BTT_LOGGING__ @@ -507,19 +507,18 @@ * @param aPacket The packet */ { - _LOG_L1C1(_L8("CIPv4Binder::LogPacket")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_1, "CIPv4Binder::LogPacket"); TInt mBufLength = aPacket.Length() - aPacket.First()->Length(); - _LOG_L3C2(_L8("Analysis of %d byte packet:"), mBufLength); + OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_2, "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) { - _LOG_L3C2(_L8(" -doesn't appear to be a valid IPv4 packet (length=%d)") - , mBufLength); + OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_3, " -doesn't appear to be a valid IPv4 packet (length=%d)", mBufLength); return; } @@ -528,34 +527,28 @@ if ((payloadPtr[0] & 0xF0) != 0x40) { - _LOG_L3C2(_L8(" - doesn't appear to be an IPv4 packet (version=0x%X)"), - (payloadPtr[0] & 0xF0) >> 4); + 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); return; } if ((payloadPtr[0] & 0xF) != 0x5) { - _LOG_L3C2(_L8(" - doesn't have a standard IP header (length=0x%X)"), - payloadPtr[0] & 0xF); + OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_5, " - doesn't have a standard IP header (length=0x%X)",payloadPtr[0] & 0xF); return; } - _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]); + OstTraceDefExt4(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_6, " - src addr: %u.%u.%u.%u", payloadPtr[12], payloadPtr[13],payloadPtr[14], payloadPtr[15]); + OstTraceDefExt4(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_7, " - dst addr: %u.%u.%u.%u", payloadPtr[16], payloadPtr[17],payloadPtr[18], payloadPtr[19]); if (payloadPtr[9] == 0x06) { - _LOG_L3C1(_L8(" - appears to be a TCP packet")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_8, " - appears to be a TCP packet"); if (mBufLength < 40) { - _LOG_L3C2(_L8(" - but is too short (length=0x%X)"), mBufLength); + OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_9, " - but is too short (length=0x%X)", mBufLength); return; } - _LOG_L3C3(_L8(" - 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_10, " - 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], @@ -590,7 +583,7 @@ { flagsSet.Append(_L8("URG ")); } - _LOG_L3C1(flagsSet); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_11, flagsSet); TInt dataOffset = payloadPtr[32] >> 2; // in bytes if ((dataOffset > 0) && (mBufLength > dataOffset + 30)) @@ -613,55 +606,50 @@ data.Append(TChar('?')); } } - _LOG_L3C1(data); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_12, data); } } else if (payloadPtr[9] == 0x01) { - _LOG_L3C1(_L8(" - appears to be an ICMP packet")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_13, " - appears to be an ICMP packet"); if (mBufLength < 24) { - _LOG_L3C2(_L8(" - but is too short (length=0x%X)"), mBufLength); + OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_14, " - but is too short (length=0x%X)", mBufLength); return; } if (payloadPtr[20] == 0x8) { - _LOG_L3C1(_L8(" - is an echo request")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_15, " - is an echo request"); } else if (payloadPtr[20] == 0x0) { - _LOG_L3C1(_L8(" - is an echo reply")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_16, " - is an echo reply"); } else { - _LOG_L3C2(_L8(" - unknown type (0x%02X)"), payloadPtr[20]); + OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_17, " - unknown type (0x%02X)", payloadPtr[20]); return; } if (mBufLength >= 28) { - _LOG_L3C3(_L8(" - ID: 0x%04X, seq #: 0x%04X"), - (payloadPtr[24] << 8) + payloadPtr[25], - (payloadPtr[26] << 8) + payloadPtr[27]); + OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_18, " - ID: 0x%04X, seq #: 0x%04X",(payloadPtr[24] << 8) + payloadPtr[25],(payloadPtr[26] << 8) + payloadPtr[27]); } } else if (payloadPtr[9] == 0x11) { - _LOG_L3C1(_L8(" - appears to be a UDP packet")); + OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_19, " - appears to be a UDP packet"); if (mBufLength < 28) { - _LOG_L3C2(_L8(" - but is too short (length=0x%X)"), mBufLength); + OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_20, " - but is too short (length=0x%X)", mBufLength); return; } - _LOG_L3C3(_L8(" - 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_21, " - src port: %d, dst port: %d",(payloadPtr[20] << 8) + payloadPtr[21],(payloadPtr[22] << 8) + payloadPtr[23]); } else { - _LOG_L3C2(_L8(" - appears to be for an unknown protocol (0x%X)"), - payloadPtr[9]); + OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CIPV4BINDER_LOGPACKET_22, " - appears to be for an unknown protocol (0x%X)",payloadPtr[9]); } } #endif // __BTT_LOGGING__