#The formulas below are taken from the CPI DOCUMENT: RADIO NETWORK KPI  120/1553-HSD 101 02/6
#0) More information on formula syntax: http://doc.itk.ericsson.se/binder/current/html/ItkViewGuide/07_FormulaFiles.html
#1) Any text starting with a '#' is treated as a comment and discarded
#2) Each formula is split into the formula result variable name (part before the '=' sign) and the formula expression (the part after the '=' sign).
#3) Any reference in the formula expression to a counter name of other formula name is replaced by a perl variable reference
#4) The special names sum_<countername>, sum_time_<countername> and sum_mo_<countername> are replaced by a perl reference to variable containing counter aggregates:
#      - sum_<countername>: Returns the sum of counter 'name' across the time and object domains. 
#      - sum_time_<countername>: Returns the sum of counter 'name' across the object domain for the current time. 
#      - sum_mo_<countername>:   Returns the sum of counter or field 'name' across the time domain for the current MO. 
#5) Each formula expression is then evaluated using perl 'eval'. This means that the syntax of the expressions is the same as that of perl - you can use any perl operators & functions.
#6) The order in which the formulas are defined does not have any importance, a formula can refer to other formulas defined further down in the file
#7) The formula names should not start with "pm"

########################
#MISCELLANEOUS
########################

MpLoad           = pmSumMeasuredLoad / pmSamplesMeasuredLoad
CcLoad           = pmSumMeasuredCcSpLoad / pmSamplesMeasuredCcSpLoad
DcLoad           = pmSumMeasuredDcSpLoad / pmSamplesMeasuredDcSpLoad
PdrLoad          = pmSumMeasuredPdrSpLoad / pmSamplesMeasuredPdrSpLoad
Availability     = 100 * (3601 - ( pmCellDowntimeAuto + pmCellDowntimeMan ) ) / 3601
UlRssi           = -112 + ((pmSumUlRssi / pmSamplesUlRssi) / 10) 
BLER             = 100 * (pmFaultyTransportBlocksAcUl / pmTransportBlocksAcUl)

#RAB failure causes 
ARABEstTot = pmNoRabEstablishAttemptAmrNb + pmNoRabEstablishAttemptCs57 + pmNoRabEstablishAttemptCs64 + pmNoRabEstablishAttemptPacketInteractive + pmNoRabEstablishAttemptPacketInteractiveEul + pmNoRabEstablishAttemptPacketInteractiveHs + pmNoRabEstablishAttemptPacketStream + pmNoRabEstablishAttemptPacketStream128 + pmNoRabEstablishAttemptSpeech
DlConnLimit = pmNoFailedRabEstAttemptExceedConnLimit + 0
DlAse = pmNoFailedRabEstAttemptLackDlAse + 0
DlChnlCode = pmNoFailedRabEstAttemptLackDlChnlCode + 0
DlHw = pmNoFailedRabEstAttemptLackDlHw + 0
DlHwBest = pmNoFailedRabEstAttemptLackDlHwBest + 0
DlPwr = pmNoFailedRabEstAttemptLackDlPwr + 0
UlAse = pmNoFailedRabEstAttemptLackUlAse + 0
UlHw = pmNoFailedRabEstAttemptLackUlHw + 0
UlHwBest = pmNoFailedRabEstAttemptLackUlHwBest + 0

########################
#ACCESSIBILITY
########################

CS64NoRabEstAtt  = pmNoRabEstablishSuccessCs64 + 0
EUL_NumRabEstAtt = pmNoRabEstablishAttemptPacketInteractiveEul + 0
SpchNoRabEstAtt  = pmNoRabEstablishAttemptSpeech + 0
SpchNoRabRel     = pmNoSystemRabReleaseSpeech + pmNoNormalRabReleaseSpeech
SpchNoRabEstSucc = pmNoRabEstablishSuccessSpeech + 0
PSNoRabEstAtt    = pmNoRabEstablishAttemptPacketInteractive + 0
PSNoRabEstSucc   = pmNoRabEstablishSuccessPacketInteractive + 0 

NoRrcConnReq     = pmTotNoRrcConnectReq + 0
NoRrcConnSuc     = pmTotNoRrcConnectReqSuccess + 0

SpchRrcReq       = pmTotNoRrcConnectReqCs + 0
SpchRrcLS        = pmNoLoadSharingRrcConnCs + 0
SpchRrcSuc       = pmTotNoRrcConnectReqCsSucc + 0
SpchRrcFail      = SpchRrcReq - SpchRrcLS - SpchRrcSuc

PSRrcReq         = pmTotNoRrcConnectReqPs + 0
PSRrcSuc         = pmTotNoRrcConnectReqPsSucc + 0
PSRrcLS          = pmNoLoadSharingRrcConnPs + 0
PSRrcFail        = PSRrcReq - PSRrcLS - PSRrcSuc

StdAloneSrbAtCallEst_CS = 100 * pmNoNormalNasSignReleaseCs / (pmNoNormalNasSignReleaseCs + pmNoSystemNasSignReleaseCs)
StdAloneSrbAtCallEst_PS = 100 * pmNoNormalNasSignReleasePs / (pmNoNormalNasSignReleasePs + pmNoSystemNasSignReleasePs)
CSIuSigSuc              = 100 * pmNoIuSigEstablishSuccessCs / pmNoIuSigEstablishAttemptCs
PSIuSigSuc              = 100 * pmNoIuSigEstablishSuccessPs / pmNoIuSigEstablishAttemptPs

RrcSuc         = 100 * pmTotNoRrcConnectReqSuccess / (pmTotNoRrcConnectReq   - pmNoLoadSharingRrcConn)
PSRrcSucRate   = 100 * pmTotNoRrcConnectReqPsSucc  / (pmTotNoRrcConnectReqPs - pmNoLoadSharingRrcConnPs)
SpchRrcSucRate = 100 * pmTotNoRrcConnectReqCsSucc  / (pmTotNoRrcConnectReqCs - pmNoLoadSharingRrcConnCs)

SpchRabSuc = 100 * pmNoRabEstablishSuccessSpeech / (pmNoRabEstablishAttemptSpeech - pmNoDirRetryAtt)
CS64RabSuc = 100 * pmNoRabEstablishSuccessCs64 / pmNoRabEstablishAttemptCs64
CS57RabSuc = 100 * pmNoRabEstablishSuccessCs57 / pmNoRabEstablishAttemptCs57
PSRabSucc  = 100 * pmNoRabEstablishSuccessPacketInteractive / pmNoRabEstablishAttemptPacketInteractive
EULRabSuc  = 100 * pmNoRabEstablishSuccessPacketInteractiveEul / pmNoRabEstablishAttemptPacketInteractiveEul
HSRabSuc   = 100 * pmNoRabEstablishSuccessPacketInteractiveHs / pmNoRabEstablishAttemptPacketInteractiveHs

SpchAccess = SpchRrcSucRate * SpchRabSuc / 100
CS64Access = SpchRrcSucRate * CS64RabSuc / 100
CS57Access = SpchRrcSucRate * CS57RabSuc / 100
PSAccess   = PSRrcSucRate * PSRabSucc  / 100
HsAccess   = PSRrcSucRate * HSRabSuc   / 100 
EULAccess  = PSRrcSucRate * EULRabSuc  / 100 

RrcFailContrib  = 100 * (pmTotNoRrcConnectReq - pmTotNoRrcConnectReqSuccess - pmNoLoadSharingRrcConn ) / ( sum_time_pmTotNoRrcConnectReq - sum_time_pmTotNoRrcConnectReqSuccess - sum_time_pmNoLoadSharingRrcConn)
RrcFail         = 100 - RrcSuc
SpchAccFailRate = 100 * (1 - (SpchRrcSucRate * SpchRabSuc) / 10000)
PSAccFailRate   = 100 * (1 - (PSRrcSucRate * PSRabSucc) / 10000)

########################
#RETAINABILITY
########################

CS64Drop    = 100 * pmNoSystemRabReleaseCs64 / (pmNoNormalRabReleaseCs64 + pmNoSystemRabReleaseCs64)
SpchDrop    = 100 * pmNoSystemRabReleaseSpeech / (pmNoNormalRabReleaseSpeech + pmNoSystemRabReleaseSpeech)
TotalPSRabs = (pmNoNormalRabReleasePacket + pmNoSystemRabReleasePacket - pmNoNormalRabReleasePacketUra - pmNoSystemRabReleasePacketUra + pmChSwitchSuccFachUra)
PSDrop      = 100 * (pmNoSystemRabReleasePacket - pmNoSystemRabReleasePacketUra) / TotalPSRabs
CS57Drop    = 100 * pmNoSystemRabReleaseCsStream / (pmNoNormalRabReleaseCsStream + pmNoSystemRabReleaseCsStream)
HsDrop      = 100 * pmNoSystemRbReleaseHs / (pmNoRabEstablishSuccessPacketInteractiveHs + pmUpswitchFachHsSuccess)

#SpchRabSucContrib =  100 * (pmNoRabEstablishSuccessSpeech / sum_time_pmNoRabEstablishSuccessSpeech)
SpchDropContrib    =  100 * pmNoSystemRabReleaseSpeech / sum_time_pmNoSystemRabReleaseSpeech
CS64DropContrib    =  100 * pmNoSystemRabReleaseCs64 / sum_time_pmNoSystemRabReleaseCs64
PSDropContrib      =  100 * (pmNoSystemRabReleasePacket - pmNoSystemRabReleasePacketUra) / (sum_time_pmNoSystemRabReleasePacket - sum_time_pmNoSystemRabReleasePacketUra)
HsDropContrib      =  100 * pmNoSystemRbReleaseHs / sum_time_pmNoSystemRbReleaseHs

SHOFailContrib     =  100 * pmNoTimesCellFailAddToActSet / sum_time_pmNoTimesCellFailAddToActSet

SpeechRABFail        = pmNoRabEstablishAttemptSpeech - pmNoRabEstablishSuccessSpeech- pmNoDirRetryAtt
SpeechRABFail_RNC    = sum_time_pmNoRabEstablishAttemptSpeech - sum_time_pmNoRabEstablishSuccessSpeech - sum_time_pmNoDirRetryAtt
SpeechRABFailContrib = 100 * ((pmNoRabEstablishAttemptSpeech - pmNoRabEstablishSuccessSpeech)/(sum_time_pmNoRabEstablishAttemptSpeech - sum_time_pmNoRabEstablishSuccessSpeech))

PSRABFail          = pmNoRabEstablishAttemptPacketInteractive - pmNoRabEstablishSuccessPacketInteractive
PSRABFail_RNC      = sum_time_pmNoRabEstablishAttemptPacketInteractive - sum_time_pmNoRabEstablishSuccessPacketInteractive
PSRABFailContrib   = 100 * ((pmNoRabEstablishAttemptPacketInteractive - pmNoRabEstablishSuccessPacketInteractive)/(sum_time_pmNoRabEstablishAttemptPacketInteractive - sum_time_pmNoRabEstablishSuccessPacketInteractive))

PsNoRabRel = pmNoSystemRabReleasePacket + pmNoNormalRabReleasePacket
CS64NoRabRel = pmNoSystemRabReleaseCs64 + pmNoNormalRabReleaseCs64

#PsDCHFACHRabSucc = 100 * ((pmNoRabEstablishSuccessPacketInteractive - pmNoRabEstablishSuccessPacketInteractiveHs)/(pmNoRabEstablishAttemptPacketInteractive-pmNoRabEstablishAttemptPacketInteractiveHs))
#changed formula for PS R99 Rab Establish Success, PLM Info 449
PsDCHFACHRabSucc = 100* ((pmNoRabEstablishSuccessPacketInteractive  - pmNoRabEstablishSuccessPacketInteractiveHs) / (pmNoRabEstablishAttemptPacketInteractive- pmNoRabEstablishAttemptPacketInteractiveHs + pmNoOfNonHoReqDeniedHs + pmNoRabEstBlockTnPsIntHsBest)) 
PsDCHFACHDropRate = 100 * ((pmNoSystemRabReleasePacket - pmNoSystemRbReleaseHs)/ (pmNoNormalRabReleasePacket + pmNoSystemRabReleasePacket - (pmNoNormalRbReleaseHs + pmNoSystemRbReleaseHs)))
PSDCHRetransRate = 100 - 100 * (pmSentPacketData1 + pmSentPacketData2 + pmSentPacketData3 + pmSentPacketData4) / (pmSentPacketDataInclRetrans1 + pmSentPacketDataInclRetrans2 + pmSentPacketDataInclRetrans3 + pmSentPacketDataInclRetrans4)
DCHMinperDrop = 15 * (pmSumBestDchPsIntRabEstablish / 180) / (pmNoSystemRabReleasePacket - pmNoSystemRbReleaseHs - pmNoSystemRabReleasePacketUra)
FACHMinperDrop = 15 * (pmSumFachPsIntRabEstablish / 180) / (pmNoSystemRabReleasePacket - pmNoSystemRbReleaseHs - pmNoSystemRabReleasePacketUra)
CellFACHDrop =  pmNoCellFachDisconnectAbnorm * 100 / (pmNoCellFachDisconnectAbnorm + pmNoCellFachDisconnectNormal)

HsCellChSuccRate = 100 * (pmNoHsCcSuccess / pmNoHsCcAttempt)
HsCellChAttempt  = pmNoHsCcAttempt + 0

NoHsRel         = pmNoSystemRbReleaseHs + pmNoNormalRbReleaseHs
NoAbnormalHsRel = pmNoSystemRbReleaseHs + 0

HSMinperDrop    = 15 * (pmSumBestPsHsAdchRabEstablish / 180) / pmNoSystemRbReleaseHs 
EULMinperDrop   = 15 * (pmSumBestPsEulRabEstablish / 180) / pmNoSystemRbReleaseEul 

########################
#CALL COMPLETION
########################

SpchCCSR   =       SpchAccess * (100 - SpchDrop) / 100
CS64CCSR   =       CS64Access * (100 - CS64Drop) / 100
PSCCSR     =       PSAccess   * (100 - PSDrop)   / 100


########################
#THROUGHPUT, TRAFFIC VOLUME
########################

AvgSpeechErlang = (pmSumBestCs12Establish / pmSamplesBestCs12Establish) + (pmSumBestAmr12200RabEstablish / pmSamplesBestAmr12200RabEstablish) + (pmSumBestAmr5900RabEstablish / pmSamplesBestAmr5900RabEstablish)

PSDlDchTputTot  = pmSumDchDlRlcTotPacketThp / pmSamplesDchDlRlcTotPacketThp
PSUlDchTputTot  = pmSumDchUlRlcTotPacketThp / pmSamplesDchUlRlcTotPacketThp
PSDlDchTputUser = pmSumDchDlRlcUserPacketThp / pmSamplesDchDlRlcUserPacketThp
PSUlDchTputUser = pmSumDchUlRlcUserPacketThp / pmSamplesDchUlRlcUserPacketThp

PSHsTputTot   = pmSumHsDlRlcTotPacketThp / pmSamplesHsDlRlcTotPacketThp 
PSEulTputTot  = pmSumEulRlcTotPacketThp / pmSamplesEulRlcTotPacketThp 
PSHsTputUser  = pmSumHsDlRlcUserPacketThp / pmSamplesHsDlRlcUserPacketThp 
PSEulTputUser = pmSumEulRlcUserPacketThp / pmSamplesEulRlcUserPacketThp

HsTputAvg = 8 * (pmSentPacketDataHs3 + pmSentPacketDataHs4) / (pmTotalPacketDurationHs3 + pmTotalPacketDurationHs4)
HsTputGt100KbAvg = 8 * (pmSentPacketDataHs4) / (pmTotalPacketDurationHs4)
HsRetransmissionRate = 100 - 100 * ( pmSentPacketDataHs1 + pmSentPacketDataHs2 + pmSentPacketDataHs3 + pmSentPacketDataHs4 ) / ( pmSentPacketDataInclRetransHs1  + pmSentPacketDataInclRetransHs2 + pmSentPacketDataInclRetransHs3 + pmSentPacketDataInclRetransHs4 )

PsAvgNoUsers  = (pmSumBestDchPsIntRabEstablish / pmSamplesBestDchPsIntRabEstablish) + (pmSumBestPsHsAdchRabEstablish / pmSamplesBestPsHsAdchRabEstablish) + (pmSumFachPsIntRabEstablish / pmSamplesFachPsIntRabEstablish)
HsAvgNoUsers = pmSumBestPsHsAdchRabEstablish / pmSamplesBestPsHsAdchRabEstablish
HsTotNoUsers = pmSumBestPsHsAdchRabEstablish / ( 180 * pmRopCounter ) 

UsedCapacity   = pmSumCapacity / pmSamplesCapacity
IuPS_DLUL_kbps = (pmNoRoutedIpBytesDl + pmNoRoutedIpBytesUl) * 8 / (pmRopCounter * 900)
IuPS_DL_kbps   = pmNoRoutedIpBytesDl * 8 / (pmRopCounter * 900)
IuPS_UL_kbps   = pmNoRoutedIpBytesUl * 8 / (pmRopCounter * 900) 

AvgUlCredits   = WeightedAverage(pmUlCredits,[12.5,37.5,55,65,72.5,77.5,82.5,87.5,92.5,95])
AvgDlCredits   = WeightedAverage(pmDlCredits,[12.5,37.5,55,65,72.5,77.5,82.5,87.5,92.5,95])

########################
#IRAT, MOBILITY
########################

SpchIRATU2GHOSucc = 100 * (pmNoSuccessOutIratHoSpeech + pmNoSuccessOutSbHoSpeech) / (pmNoAttOutIratHoSpeech + pmNoAttOutSbHoSpeech)
CsIRATG2UHOSucc   = 100 * pmNoInCsIratHoSuccess / pmNoInCsIratHoAtt
PsIRATU2GCCSucc   = 100 * pmNoOutIratCcSuccess / pmNoOutIratCcAtt

SHOSuccess = 100 * pmNoTimesRlAddToActSet / (pmNoTimesRlAddToActSet + pmNoTimesCellFailAddToActSet)

########################
#PAGING (SCS797846)
########################

RNCTotalPageRejectUtrancell = pmNoPagingAttemptUtranRejected + 0
RNCTotalPageType2 = pmNoPagingAttemptCnInitDcch + 0
RNCTotalPageType1 = pmCnInitPagingToIdleUeLa + pmCnInitPagingToIdleUeRa + pmCnInitPagingToIdleUe + pmCnInitPagingToUraUe + pmUtranInitPagingToUraUe
RNCTotalPageReqFromCore = pmNoPageDiscardCmpLoadC + RNCTotalPageType1 + RNCTotalPageType2
RNCRrcSuccTerm = 100 * (pmTotNoTermRrcConnectReqCsSucc + pmTotNoTermRrcConnectReqPsSucc) / (pmTotNoTermRrcConnectReqCs + pmTotNoTermRrcConnectReqPs)
RNCTotalPageAnswerPostRrc = pmTotNoTermRrcConnectReqSucc + 0
RNCPageSuccessRatePostRrc = 100 * RNCTotalPageAnswerPostRrc / (RNCTotalPageReqFromCore - RNCTotalPageType2)
RNCPageSuccessRate = 100 * RNCPageSuccessRatePostRrc / RNCRrcSuccTerm
RNCTotalPageDiscardCoreMpPLoad = pmNoPageDiscardCmpLoadC + 0

########################
#CPP
########################

NoAal2SetupAttempts = pmSuccInConnsRemoteQosClassA + pmSuccInConnsRemoteQosClassB + pmSuccInConnsRemoteQosClassC + pmSuccInConnsRemoteQosClassD + pmSuccOutConnsRemoteQosClassA + pmSuccOutConnsRemoteQosClassB + pmSuccOutConnsRemoteQosClassC + pmSuccOutConnsRemoteQosClassD + pmUnSuccInConnsRemoteQosClassA + pmUnSuccInConnsRemoteQosClassB + pmUnSuccInConnsRemoteQosClassC + pmUnSuccInConnsRemoteQosClassD + pmUnSuccInConnsLocalQosClassA + pmUnSuccInConnsLocalQosClassB + pmUnSuccInConnsLocalQosClassC + pmUnSuccInConnsLocalQosClassD + pmUnSuccOutConnsLocalQosClassA + pmUnSuccOutConnsLocalQosClassB + pmUnSuccOutConnsLocalQosClassC + pmUnSuccOutConnsLocalQosClassD + pmUnSuccOutConnsRemoteQosClassA + pmUnSuccOutConnsRemoteQosClassB + pmUnSuccOutConnsRemoteQosClassC + pmUnSuccOutConnsRemoteQosClassD
Aal2SetupFail = 100 * (pmUnSuccInConnsRemoteQosClassA + pmUnSuccInConnsRemoteQosClassB + pmUnSuccInConnsRemoteQosClassC + pmUnSuccInConnsRemoteQosClassD + pmUnSuccOutConnsRemoteQosClassA + pmUnSuccOutConnsRemoteQosClassB + pmUnSuccOutConnsRemoteQosClassC + pmUnSuccOutConnsRemoteQosClassD) / NoAal2SetupAttempts
Aal2Congestion = 100 * ( pmUnSuccInConnsLocalQosClassA + pmUnSuccInConnsLocalQosClassB + pmUnSuccInConnsLocalQosClassC + pmUnSuccInConnsLocalQosClassD + pmUnSuccOutConnsLocalQosClassA + pmUnSuccOutConnsLocalQosClassB + pmUnSuccOutConnsLocalQosClassC + pmUnSuccOutConnsLocalQosClassD) / NoAal2SetupAttempts

NoAal2SetupAttemptsClassA = pmSuccInConnsRemoteQosClassA + pmSuccOutConnsRemoteQosClassA + pmUnSuccInConnsRemoteQosClassA + pmUnSuccInConnsLocalQosClassA + pmUnSuccOutConnsLocalQosClassA + pmUnSuccOutConnsRemoteQosClassA
Aal2FailClassA = 100 * (pmUnSuccInConnsRemoteQosClassA + pmUnSuccOutConnsRemoteQosClassA) / NoAal2SetupAttemptsClassA
CongestClassA = 100 * ( pmUnSuccInConnsLocalQosClassA + pmUnSuccOutConnsLocalQosClassA) / NoAal2SetupAttemptsClassA

NoAal2SetupAttemptsClassB = pmSuccInConnsRemoteQosClassB + pmSuccOutConnsRemoteQosClassB + pmUnSuccInConnsRemoteQosClassB + pmUnSuccInConnsLocalQosClassB + pmUnSuccOutConnsLocalQosClassB + pmUnSuccOutConnsRemoteQosClassB
Aal2FailClassB = 100 * (pmUnSuccInConnsRemoteQosClassB + pmUnSuccOutConnsRemoteQosClassB) / NoAal2SetupAttemptsClassB
CongestClassB = 100 * ( pmUnSuccInConnsLocalQosClassB + pmUnSuccOutConnsLocalQosClassB) / NoAal2SetupAttemptsClassB

NoAal2SetupAttemptsClassC = pmSuccInConnsRemoteQosClassC + pmSuccOutConnsRemoteQosClassC + pmUnSuccInConnsRemoteQosClassC + pmUnSuccInConnsLocalQosClassC + pmUnSuccOutConnsLocalQosClassC + pmUnSuccOutConnsRemoteQosClassC
Aal2FailClassC = 100 * (pmUnSuccInConnsRemoteQosClassC + pmUnSuccOutConnsRemoteQosClassC) / NoAal2SetupAttemptsClassC
CongestClassC = 100 * ( pmUnSuccInConnsLocalQosClassC + pmUnSuccOutConnsLocalQosClassC) / NoAal2SetupAttemptsClassC

NoAal2SetupAttemptsClassD = pmSuccInConnsRemoteQosClassD + pmSuccOutConnsRemoteQosClassD + pmUnSuccInConnsRemoteQosClassD + pmUnSuccInConnsLocalQosClassD + pmUnSuccOutConnsLocalQosClassD + pmUnSuccOutConnsRemoteQosClassD
Aal2FailClassD = 100 * (pmUnSuccInConnsRemoteQosClassD + pmUnSuccOutConnsRemoteQosClassD) / NoAal2SetupAttemptsClassD
CongestClassD = 100 * ( pmUnSuccInConnsLocalQosClassD + pmUnSuccOutConnsLocalQosClassD) / NoAal2SetupAttemptsClassD

SctpPacketLossRatio = 100 * pmSctpStatRetransChunks / (pmSctpStatSentChunks + pmSctpStatRetransChunks) 
EsmPortIn = (((pmIfInOctetsHi * 2147483648) + pmIfInOctetsLo) * 8) / (900 * 1000000)
EsmPortOut = (((pmIfOutOctetsHi * 2147483648) + pmIfOutOctetsLo) * 8) / (900 * 1000000)
EsmPortTot = EsmPortIn + EsmPortOut
GigaPortIn =  ((pmIfInOctetsLink1Hi * 2147483648 + pmIfInOctetsLink1Lo + pmIfInOctetsLink2Hi * 2147483648 + pmIfInOctetsLink2Lo ) / (900 * 1000000))* 8
GigaPortOut = ((pmIfOutOctetsLink1Hi * 2147483648 + pmIfOutOctetsLink1Lo + pmIfOutOctetsLink2Hi * 2147483648 + pmIfOutOctetsLink2Lo ) / (900 * 1000000))* 8
GigaPortTot = GigaPortIn + GigaPortOut 
