diff options
Diffstat (limited to 'lib/dialyzer/test/user_tests_SUITE_data/src/spvcOrig.erl')
-rw-r--r-- | lib/dialyzer/test/user_tests_SUITE_data/src/spvcOrig.erl | 3523 |
1 files changed, 0 insertions, 3523 deletions
diff --git a/lib/dialyzer/test/user_tests_SUITE_data/src/spvcOrig.erl b/lib/dialyzer/test/user_tests_SUITE_data/src/spvcOrig.erl deleted file mode 100644 index 70a3c4c7e2..0000000000 --- a/lib/dialyzer/test/user_tests_SUITE_data/src/spvcOrig.erl +++ /dev/null @@ -1,3523 +0,0 @@ -%%%======================================================================= -%%% -%%% Test from Mats Cronqvist <[email protected]>. The -%%% analysis crasched due to the handling of tuples-as-funs in -%%% hipe_icode_type.erl, and it also exposed a bug when a control flow -%%% path is first analyzed and then shown to be infeasible. -%%% - --file("./spvcOrig.erl", 1). - --module(spvcOrig). - --author(qamarma). - --id('3/190 55-CNA 121 64'). - --vsn('/main/Inc4/R2A/R4A/R6A/R7A/R7D/R8B/R10A/R11A/2'). - --date('2004-10-26'). - --export([gen_set/3,gen_set/4,connect/3,release_comp_nu/3,release_nu/3,timeout/2,restart_spvc/1,restart_multi_spvcs/1,forced_release/1,error_handler/3,get_backoff_table/2,timeout_event/1]). - --export([release_incumbent/2,switch_over/2]). - --export([call_failure/1,get_backoff_table/2]). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../inc/pchTables.hrl", 1). - --hrl_id('2/190 55-CNA 121 08'). - --hrl_vsn('/main/Inc3/Inc4/R2A/R3A/R3B/R5A/R6A/R7A/R7D/R8B/13'). - --hrl_date('2003-01-24'). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../derived_hrl/mib/AXD301-PCH-MIB.hrl", 1). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../inc/pchTables.hrl", 58). - --record(pchVp, {vplEntry, - vplLastChange, - vplReceiveTrafficDescrIndex = 0, - vplTransmitTrafficDescrIndex = 0, - vplCcIdentifier, - vplConnId, - vplMpId, - vplLeafId, - vplChargingIndicator = 1, - vplRemoteChargingInd = 1, - vplChargablePartyIdentifier, - vplSegmentEndPoint = 2, - vplRowStatus, - vplCastType = 1, - vplConnKind = 1, - vplServiceType = 2, - vplEndPointData, - vplContinuityCheck = 1, - vplUpcNpcMode = 2, - vplPreventInbandCc = 1, - vplMonAisRdi = 2, - vpcAdminStatus = 2, - vplSpvcAutoTarget = 2, - vplSchedulingFlag = 2, - vplApplication, - vplRemoteData, - vpccAdminStatus = 2, - vplContCheckSearch = 1, - vplPmSearch = 1, - vplLastBuffFlagRead, - vplShapingMode = 1, - vplGroupShapingId}). - --record(pchVpDb, {vplEntry, - vplLastChange, - vplReceiveTrafficDescrIndex = 0, - vplTransmitTrafficDescrIndex = 0, - vplCcIdentifier, - vplConnId, - vplMpId, - vplLeafId, - vplAttributes, - vplChargablePartyIdentifier, - vplRowStatus, - vplEndPointData, - vplApplication, - vplRemoteData, - vplLastBuffFlagRead, - vplShapingMode, - vplGroupShapingId}). - --record(pchVpExt, {vplExtEntry, - vplExtReceiveTdIndex, - vplExtTransmitTdIndex, - vplExtUserName = [], - vplExtProviderName = [], - vplExtUserOperator}). - --record(pchVc, {vclEntry, - vclLastChange, - vclReceiveTrafficDescrIndex = 0, - vclTransmitTrafficDescrIndex = 0, - vclCcIdentifier, - vclConnId, - vclMpId, - vclLeafId, - vclChargingIndicator = 1, - vclRemoteChargingInd = 1, - vclChargablePartyIdentifier, - vclPacketDiscard = 2, - vclSegmentEndPoint = 2, - vclRowStatus, - vclCastType = 1, - vclConnKind = 1, - vclContinuityCheck = 1, - vclUpcNpcMode = 2, - vclEndPointData, - vclPreventInbandCc = 1, - vclMonAisRdi = 2, - vclSpvcAutoTarget = 2, - vclSchedulingFlag = 2, - vclApplication, - vclRemoteData, - vcccAdminStatus = 2, - vclContCheckSearch = 1, - vclPmSearch = 1, - vclLastBuffFlagRead, - vclChargingIfChanid, - vclShapingMode = 1}). - --record(pchVcDb, {vclEntry, - vclLastChange, - vclReceiveTrafficDescrIndex = 0, - vclTransmitTrafficDescrIndex = 0, - vclCcIdentifier, - vclConnId, - vclMpId, - vclLeafId, - vclAttributes, - vclChargablePartyIdentifier, - vclRowStatus, - vclEndPointData, - vclApplication, - vclRemoteData, - vclLastBuffFlagRead, - vclChargingIfChanid, - vclShapingMode}). - --record(pchAtd, {tdIndex, - tdType, - tdParam1 = 0, - tdParam2 = 0, - tdParam3 = 0, - tdParam4 = 0, - tdParam5 = 0, - tdTrafficQoSClass = 0, - tdRowStatus = 1, - tdServiceCategory = 6, - tdVcCapability = 1, - tdName = [], - tdUserCounter = 0, - tdUser = []}). - --record(pchAbr, {abrIndex, - abrIcr, - abrTbe = 16277215, - abrFrtt = 0, - abrRdf = 11, - abrRif = 11, - abrNrm = 4, - abrTrm = 7, - abrCdf = 3, - abrAdtf = 50, - abrRowStatus = 1}). - --record(pchIndexNext, {key, - tdIndexNext, - vpccIndexNext, - vcccIndexNext, - scheduledVpCcIndexNext, - scheduledVcCcIndexNext}). - --record(pchSchedVpCc, {schedVpCcIndex, - schedVpCcTarget, - schedVpCcReceiveTdIndex, - schedVpCcTransmitTdIndex, - schedVpCcOpTime, - schedVpCcOpInd, - schedVpCcOpStatus, - schedVpCcTimerRef, - schedVpCcRowStatus, - schedVpCcErrorCode, - schedVpCcUserName = [], - schedVpCcProviderName = []}). - --record(pchVpCc, {vpccId, - vpccUserName = [], - vpccAdminStatus, - vpccApplication, - vpccProviderName = []}). - --record(pchSchedVcCc, {schedVcCcIndex, - schedVcCcTarget, - schedVcCcReceiveTdIndex, - schedVcCcTransmitTdIndex, - schedVcCcOpTime, - schedVcCcOpInd, - schedVcCcOpStatus, - schedVcCcTimerRef, - schedVcCcRowStatus, - schedVcCcErrorCode, - schedVcCcUserName = [], - schedVcCcProviderName = []}). - --record(pchVcCc, {vcccId, - vcccUserName = [], - vcccAdminStatus, - vcccApplication, - vcccProviderName = []}). - --record(pchSigChannels, {et_entry, - cp_entry, - sb_cp_entry, - membership, - status, - sb_status, - application = {0,[]}}). - --record(pchSigChannelExt, {et_entry, - user_name, - provider_name}). - --record(pchApplication, {key, - application, - rights}). - --record(pchCurrAlarm, {key, - type_of_fault, - fault_id}). - --record(pchIfAddress, {ifAddressEntry, - ifAddressRowStatus}). - --record(pchAddressToIf, {address, - if_index}). - --record(pchPreferences, {key, - if_format}). - --record(pchSigChannelCallback, {key, - callback, - function, - args, - data}). - --record(pchTermHcId, {hcId, - vclEntry}). - --record(pchChg, {chgEntry, - chgStatus}). - --record(pchCommState, {key, - ccid, - request, - low_cp_state, - high_cp_state, - et_side, - application, - data, - timestamp, - timer_id, - callback}). - --record(pchBufferedCmd, {key, - resource, - module, - function, - arguments, - data}). - --record(pchAnswerCh, {conn_id, - chg_data, - call_back_cp, - old_rtd, - old_ttd, - old_EpData, - action, - resource, - data, - fail_cause}). - --record(pchAnswerOm, {conn_id}). - --record(ccPch, {rowInd, - admState = 2}). - --record(pchIf, {ilmiVpi = 0, - ilmiVci = 0, - ilmiS = 1, - ilmiT = 5, - ilmiK = 4, - neighborIfName = [], - neighborIpAddr = [0,0,0,0], - maxVciSvc, - overbookingFactor = {0,0}, - shapingMode = 0, - maxVpiSvc, - cdvtMultFactor = 100, - scBandwidth1 = 0, - scBandwidth2 = 0, - scBandwidth3 = 0, - scBandwidth4 = 0}). - --record(pchMpTemp, {key, - data}). - --record(pchLatestErrorCode, {key, - errorCode}). - --record(pchRangeTable, {node, - tdIndexRange, - vpccIndexRange, - vcccIndexRange}). - --record(pchIndexBitmaps, {key, - available, - bitmap}). - --record(pchLinkState, {key, - op_state, - last_change}). - --record(pchFailedVpl, {vplEntry, - vplLastChange}). - --record(pchFailedVcl, {vclEntry, - vclLastChange}). - --record(pchStatCounters, {key, - ingress, - egress}). - --record(pchEtStatTable, {index, - value = 0}). - --record(pchAuditResult, {key, - passed, - not_passed, - sizes, - obj_keys}). - --record(pch_fault_reqc, {fault_type, - fault_location}). - --record(pch_cid, {conn_id, - mp_id, - leaf_id}). - --file("./spvcOrig.erl", 207). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../inc/pchI.hrl", 1). - --hrl_id('52/190 55-CNA 121 08 Ux'). - --hrl_vsn('/main/R6A/R7A/R7D/R8B/3'). - --hrl_date('2002-10-14'). - --hrl_author(uabdomo). - --record(pch_vc_rec, {ifIndex, - vpi, - vci, - application}). - --record(pch_vp_rec, {ifIndex, - vpi}). - --record(pch_td_index, {rtd_index, - ttd_index}). - --record(pch_td, {service_cat, - pcr, - scr, - mbs, - mcr, - cdvt, - tagging, - clp_significance}). - --record(pch_call_back_req, {module, - function, - user_data}). - --record(pch_chg_rec, {chg_type, - chg_interface, - chg_chan_id, - chg_party_name}). - --record(pch_polic_rec, {policing, - packet_discard}). - --record(pch_user_name_rec, {user_name}). - --record(pch_shaping_rec, {shaping}). - --record(pch_audit_callback, {mod, - arg}). - --file("./spvcOrig.erl", 208). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../inc/plc.hrl", 1). - --hrl_id('12/190 55-CNA 121 45 Ux'). - --hrl_vsn('/main/R6A/R6B/R7A/R7D/R8B/R9A/R11A/4'). - --hrl_date('2004-12-07'). - --hrl_author(ethrba). - --record(plcQueues, {name, - type, - weight, - maxlength, - owner}). - --record(plcSettings, {flag, - value}). - --record(plcAlarm, {flag, - value}). - --file("./spvcOrig.erl", 209). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../inc/spvcTables.hrl", 1). - --hrl_id('10/190 55-CNA 121 64'). - --hrl_vsn('/main/Inc4/R2A/R3A/R3B/R5A/R6A/R7A/R7D/R8B/4'). - --hrl_date('2003-02-12'). - --hrl_author(etxovp). - --record(spvcVpc, {spvcVpcEntry, - spvcVpcTargetAddress, - spvcVpcTargetSelectType, - spvcVpcTargetVpi, - spvcVpcLastReleaseCause, - spvcVpcLastReleaseDiagnostic, - spvcVpcRetryInterval = 1000, - spvcVpcRetryTimer = 0, - spvcVpcRetryThreshold = 1, - spvcVpcRetryFailures = 0, - spvcVpcRetryLimit = 15, - spvcVpcRowStatus, - spvcVpcUserName = [], - spvcVpcProviderName = [], - currentState, - crankBackCounter = 0, - spvcVpcApplication, - spvcRerCap = false, - spvcRerStatus = false}). - --record(spvcVpcOpState, {state, - timeOfChange}). - --record(spvcVpcPerm, {spvcVpcEntry, - spvcVpcTargetAddress, - spvcVpcTargetSelectType, - spvcVpcTargetVpi, - spvcVpcRetryInterval = 1000, - spvcVpcRetryThreshold = 1, - spvcVpcRetryLimit = 15, - spvcVpcRowStatus, - spvcVpcUserName, - spvcVpcProviderName, - spvcVpcApplication}). - --record(spvcVpcDyn, {spvcVpcEntry, - spvcVpcLastReleaseCause, - spvcVpcLastReleaseDiagnostic, - spvcVpcRetryTimer = 0, - spvcVpcRetryFailures = 0, - currentState, - crankBackCounter = 0}). - --record(spvcVcc, {spvcVccEntry, - spvcVccTargetAddress, - spvcVccTargetSelectType, - spvcVccTargetVpi, - spvcVccTargetVci, - spvcVccLastReleaseCause, - spvcVccLastReleaseDiagnostic, - spvcVccRetryInterval = 1000, - spvcVccRetryTimer = 0, - spvcVccRetryThreshold = 1, - spvcVccRetryFailures = 0, - spvcVccRetryLimit = 15, - spvcVccRowStatus, - spvcVccUserName = [], - spvcVccProviderName = [], - currentState, - crankBackCounter = 0, - spvcVccTargetDlci, - spvcVccTargetType, - spvcVccApplication, - spvcVccFrKey, - spvcVccTranslationMode, - spvcRerCap = false, - spvcRerStatus = false}). - --record(spvcVccOpState, {state, - timeOfChange}). - --record(spvcVccPerm, {spvcVccEntry, - spvcVccTargetAddress, - spvcVccTargetSelectType, - spvcVccTargetVpi, - spvcVccTargetVci, - spvcVccRetryInterval = 1000, - spvcVccRetryThreshold = 1, - spvcVccRetryLimit = 15, - spvcVccRowStatus, - spvcVccUserName, - spvcVccProviderName, - spvcVccTargetDlci, - spvcVccTargetType, - spvcVccApplication, - spvcVccFrKey, - spvcVccTranslationMode = 2}). - --record(spvcVccDyn, {spvcVccEntry, - spvcVccLastReleaseCause, - spvcVccLastReleaseDiagnostic, - spvcVccRetryTimer = 0, - spvcVccRetryFailures = 0, - currentState, - crankBackCounter = 0}). - --record(spvcFailures, {dummy_key, - spvcCallFailuresTrapEnable = 2, - spvcNotificationInterval = 30, - backoff_interval = 0.100000, - delay_factor = 2, - max_delay = 200000}). - --record(spvcCounters, {key, - value}). - --record(spvcEventIndicator, {dummy_key, - spvcTimerInd = 2, - spvcSendEventInd = 2}). - --record(spvcIndexNext, {dummy_key, - schedVccIndexNext = 1, - schedVpcIndexNext = 1}). - --record(spvcHcIdToTp, {hcId, - tpEntry}). - --record(spvcTpToHcId, {tpEntry, - hcId, - orig_number, - orig_vpi, - orig_vci, - orig_dlci, - frKey}). - --record(spvcSchedVpc, {schedVpcIndex, - schedVpcSource, - schedVpcTargetAddr, - schedVpcTargetSelType, - schedVpcTargetVpi, - schedVpcRetryInt, - schedVpcRetryThres, - schedVpcRetryLimit, - schedVpcOpTime, - schedVpcOpInd, - schedVpcOpStatus, - schedVpcTimerRef, - schedVpcRowStatus, - schedVpcUserName, - schedVpcProviderName, - schedVpcFaultCause, - schedVpcRerCap = false}). - --record(spvcSchedVcc, {schedVccIndex, - schedVccSource, - schedVccTargetAddr, - schedVccTargetSelType, - schedVccTargetVpi, - schedVccTargetVci, - schedVccRetryInt, - schedVccRetryThres, - schedVccRetryLimit, - schedVccOpTime, - schedVccOpInd, - schedVccOpStatus, - schedVccTimerRef, - schedVccRowStatus, - schedVccUserName, - schedVccProviderName, - schedVccFaultCause, - schedVccRerCap = false}). - --record(spvcCurrAlarm, {key, - fault_id, - data}). - --record(spvcChg, {key, - data}). - --record(spvcBackoff, {key, - delay_time, - flag}). - --record(spvcAutoVp, {entry, - lastChange, - receiveTrafficDescrIndex, - transmitTrafficDescrIndex, - ccIdentifier, - connId, - mpId, - leafId, - chargingIndicator = 1, - remoteChargingInd = 1, - chargablePartyIdentifier, - segmentEndPoint = 2, - rowStatus, - castType = 1, - connKind, - serviceType = 2, - endPointData, - continuityCheck = 1, - upcNpcMode = 2, - preventInbandCc = 1, - monAisRdi = 2, - adminStatus, - autoTarget = 1, - schedulingFlag = 2, - application = [], - remoteData, - vpccAdminStatus = 2, - contCheckSearch = 1, - pmSearch = 1, - lastBuffFlagRead, - shapingMode = 1, - groupShapingId}). - --record(spvcAutoVc, {entry, - lastChange, - receiveTrafficDescrIndex, - transmitTrafficDescrIndex, - ccIdentifier, - connId, - mpId, - leafId, - chargingIndicator = 1, - remoteChargingInd = 1, - chargablePartyIdentifier, - packetDiscard = 2, - segmentEndPoint = 2, - rowStatus, - castType = 1, - connKind, - continuityCheck = 1, - upcNpcMode = 2, - endPointData, - preventInbandCc = 1, - monAisRdi = 2, - autoTarget = 1, - schedulingFlag = 2, - application = [], - remoteData, - vcccAdminStatus = 2, - contCheckSearch = 1, - pmSearch = 1, - lastBuffFlagRead, - chargingIfChanid, - shapingMode = 1}). - --record(spvcAutoAtd, {index, - type, - param1 = 0, - param2 = 0, - param3 = 0, - param4 = 0, - param5 = 0, - trafficQoSClass = 0, - rowStatus = 1, - serviceCategory = 6, - vcCapability = 1, - name = [], - userCounter = 0}). - --record(spvcAutoAbr, {index, - icr, - tbe = 16277215, - frtt = 0, - rdf = 11, - rif = 11, - nrm = 4, - trm = 7, - cdf = 3, - adtf = 50, - rowStatus = 1}). - --record(spvcLatestErrorCode, {key, - errorCode}). - --record(spvcVcDyn, {vclEntry, - vclCcIdentifier, - vclConnId, - vclMpId, - vclLeafId}). - --record(spvcVpDyn, {vplEntry, - vplCcIdentifier, - vplConnId, - vplMpId, - vplLeafId}). - --record(spvcObj, {spvcEntry, - spvcTargetAddress, - spvcTargetSelectType, - spvcTargetVpi, - spvcTargetVci, - spvcLastReleaseCause, - spvcLastReleaseDiagnostic, - spvcRetryInterval = 1000, - spvcRetryTimer = 0, - spvcRetryThreshold = 1, - spvcRetryFailures = 0, - spvcRetryLimit = 15, - spvcRowStatus, - spvcUserName, - spvcProviderName, - currentState, - spvcTargetDlci, - spvcTargetType, - spvcApplication, - spvcFrKey, - spvcVccTranslationMode = 2, - spvcRerCap = false, - spvcRerStatus = false}). - --record(spvcTargetVc, {entry, - userName = [], - providerName = [], - opState, - rowStatus}). - --record(spvcTargetVp, {entry, - userName = [], - providerName = [], - opState, - rowStatus}). - --record(spvcReestablishTimer, {time, - timer_id, - module, - function, - args}). - --record(spvcRerVp, {entry, - rerCap, - rerData}). - --record(spvcRerVc, {entry, - rerCap, - rerData}). - --record(spvcHcEtStat, {key, - counter = 0}). - --record(spvcSaEtStat, {key, - counter = 0}). - --file("./spvcOrig.erl", 210). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../inc/spvcDefines.hrl", 1). - --hrl_id('41/190 55-CNA 121 64 Ux'). - --hrl_vsn('/main/R6A/R7A/R7D/R8B/3'). - --hrl_date('2003-02-21'). - --hrl_author(etxhebl). - --file("./spvcOrig.erl", 211). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../inc/spvcFr.hrl", 1). - --hrl_id('48/190 55-CNA 121 64 Ux'). - --hrl_vsn('/main/R7A/R7D/2'). - --hrl_date('2001-12-06'). - --hrl_author(etxhtb). - --record(spvcFr, {spvcFrEntry, - spvcFrAtmEntry, - spvcFrTargetAddress, - spvcFrTargetSelectType, - spvcFrTargetIdentifier, - spvcFrTargetVpi, - spvcFrTargetVci, - spvcFrAtmTranslation, - spvcFrLastReleaseCause, - spvcFrLastReleaseDiagnostic, - spvcFrAdminStatus, - spvcFrRetryInterval = 1000, - spvcFrRetryTimer = 0, - spvcFrRetryThreshold = 1, - spvcFrRetryFailures = 0, - spvcFrRetryLimit = 15, - spvcFrRowStatus, - spvcFrUserName, - spvcFrProviderName, - currentState}). - --record(spvcFrPerm, {spvcFrEntry, - spvcFrAtmEntry, - spvcFrAtmTranslation, - spvcFrAdminStatus, - spvcFrConnect}). - --record(spvcFrAddress, {addressEntry, - addressRowStatus}). - --record(spvcFrAddressToIf, {address, - if_index}). - --record(fr_end_point, {ifIndex, - dlci}). - --record(fr_atm_translation, {routedIp = off, - routedOsi = off, - otherRouted = off, - arpTranslation = off}). - --record(link_layer_core_parameters, {outgoing_max_ifs, - incoming_max_ifs}). - --record(priority_and_service_class, {outgoing_transfer_priority, - incoming_transfer_priority, - outgoing_discard_priority, - incoming_discard_priority}). - --file("./spvcOrig.erl", 212). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../derived_hrl/mib/AXD301-PCH-MIB.hrl", 1). - --file("./spvcOrig.erl", 213). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../derived_hrl/mib/AXD301-SPVC-MIB.hrl", 1). - --file("./spvcOrig.erl", 214). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../derived_hrl/mib/AXD301-FRSPVC-MIB.hrl", 1). - --file("./spvcOrig.erl", 215). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../inc/sysDefines.hrl", 1). - --hrl_id('3/190 55-CNA 121 70'). - --hrl_vsn('/main/Inc3/Inc4/Inc5/R3B/R4A/R5B/R6A/R7A/R8B/2'). - --hrl_date('2002-06-07'). - --hrl_author(etxjotj). - --file("./spvcOrig.erl", 216). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../inc/hciMsg.hrl", 1). - --hrl_id('4/190 55-CNA 121 159 Ux'). - --hrl_vsn('/main/R7A/R8B/10'). - --hrl_date('2003-02-21'). - --hrl_author(etxmexa). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../inc/hciComp.hrl", 1). - --hrl_id('3/190 55-CNA 121 159 Ux'). - --hrl_vsn('/main/R7A/1'). - --hrl_date('00-03-22'). - --hrl_author(etxmexa). - --record(hci_comp_info, {required_FC = 0, - desired_FC = 0}). - --record(hci_comp_res, {not_supported_required_FCs, - not_supported_desired_FCs, - all_supported_FCs}). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../inc/hciMsg.hrl", 14). - --record(hci_add_party, {hci_cpn, - hci_aal, - hci_bhli, - hci_blli, - hci_blli_bici, - hci_bsco, - hci_epr, - hci_e2etd, - hci_noti, - hci_cpsa, - hci_clpn, - hci_clpsa, - hci_cpn_soft, - hci_clpn_soft, - hci_geidt_list = [], - hci_dtl_bin_list = [], - hci_pa_list = [], - hci_gat_list = [], - hci_data, - hci_prot_comp}). - --record(hci_add_party_ack, {hci_epr, - hci_aal, - hci_blli, - hci_blli_bici, - hci_e2etd, - hci_noti, - hci_cpn_soft, - hci_cnosa, - hci_cno, - hci_geidt_list = [], - hci_pa_list = [], - hci_gat_list = [], - hci_data, - hci_prot_comp}). - --record(hci_add_party_rej, {hci_cause, - hci_epr, - hci_geidt_list = [], - hci_cb, - hci_pa_list = [], - hci_internal_rel_info, - hci_gat_list = [], - hci_data, - hci_prot_comp}). - --record(hci_alerting, {hci_mci, - hci_unrps, - hci_cdpi, - hci_epr, - hci_prog_list = [], - hci_nbc, - hci_nbhlc, - hci_noti, - hci_geidt_list = [], - hci_pa_list = [], - hci_gat_list = [], - hci_ssie, - hci_data, - hci_prot_comp}). - --record(hci_b_resources, {hci_rem_dataB, - hci_vpiB, - hci_vciB, - hci_data, - hci_prot_comp}). - --record(hci_connect, {hci_mci, - hci_unrps, - hci_aal, - hci_blli, - hci_blli_bici, - hci_epr, - hci_atd, - hci_e2etd, - hci_noti, - hci_abrs, - hci_abra, - hci_nbc, - hci_nbhlc, - hci_nbllc, - hci_prog_list = [], - hci_geidt_list = [], - hci_eqos, - hci_cpn_soft, - hci_cnosa, - hci_cno, - hci_pa_list = [], - hci_gat_list = [], - hci_rem_dataB, - hci_con_dir = both, - hci_ssie, - hci_rer_services, - hci_rer, - hci_opt_traf, - hci_data, - hci_prot_comp}). - --record(hci_drop_party, {hci_cause, - hci_epr, - hci_noti, - hci_geidt_list = [], - hci_pa_list = [], - hci_internal_rel_info, - hci_gat_list = [], - hci_data, - hci_prot_comp}). - --record(hci_local_connect, {hci_rem_data, - hci_con_dir, - hci_data, - hci_prot_comp}). - --record(hci_local_connected, {hci_rem_data, - hci_con_dir, - hci_data, - hci_prot_comp}). - --record(hci_local_disconnect, {hci_discon_dir, - hci_data, - hci_prot_comp}). - --record(hci_local_disconnected, {hci_data, - hci_prot_comp}). - --record(hci_notify, {hci_epr, - hci_noti, - hci_pa_list = [], - hci_gat_list = [], - hci_data, - hci_prot_comp}). - --record(hci_party_alerting, {hci_epr, - hci_noti, - hci_geidt_list = [], - hci_pa_list = [], - hci_gat_list = [], - hci_data, - hci_prot_comp}). - --record(hci_progress, {hci_mci, - hci_unrps, - hci_cdpi, - hci_prog_list = [], - hci_nbc, - hci_nbhlc, - hci_noti, - hci_pa_list = [], - hci_gat_list = [], - hci_data, - hci_prot_comp}). - --record(hci_release, {hci_mci, - hci_unrps, - hci_cause_list = [], - hci_noti, - hci_prog_list = [], - hci_geidt_list = [], - hci_cb, - hci_pa_list = [], - hci_internal_rel_info, - hci_gat_list = [], - hci_ssie, - hci_rer_cause, - hci_data, - hci_prot_comp, - hci_internal_dbg_cc, - hci_internal_dbg_l3}). - --record(hci_setup, {hci_mci, - hci_unrps, - hci_atd, - hci_bbc, - hci_qos, - hci_cpn, - hci_aal, - hci_bhli, - hci_blli_brep, - hci_blli_bici, - hci_bsco, - hci_epr, - hci_lpt, - hci_e2etd, - hci_noti, - hci_abrs, - hci_abra, - hci_prog_list = [], - hci_eqos, - hci_cpsa_list = [], - hci_clpn, - hci_bici_clpn, - hci_clpsa_list = [], - hci_cgpc, - hci_nbc_brep, - hci_nbhlc_list = [], - hci_nbllc_brep, - hci_conss, - hci_geidt_list = [], - hci_cpn_soft, - hci_clpn_soft, - hci_dtl_bin_list = [], - hci_pa_list = [], - hci_ncci, - hci_routing_address, - hci_protocol_internal_info, - hci_gat_list = [], - hci_con_dir = both, - hci_ssie, - hci_rer_services, - hci_rer, - hci_opt_traf, - hci_data_setup, - hci_prot_comp}). - --record(hci_setup_ack, {hci_assign, - hci_rem_dataB, - hci_con_dir = both, - hci_vpiB, - hci_vciB, - hci_data, - hci_prot_comp}). - --record(hci_status, {hci_state, - hci_data, - hci_prot_comp}). - --record(hci_status_enq, {hci_state, - hci_data, - hci_prot_comp}). - --record(hci_remote_data, {hci_prot_type, - hci_data, - hci_dummy1, - hci_dummy2}). - --record(hci_unrec, {hci_mci, - hci_head, - hci_binary, - hci_data, - hci_prot_comp}). - --record(hci_atd, {hci_pci, - hci_apci, - hci_fwd_pcr_clp_0, - hci_bwd_pcr_clp_0, - hci_fwd_pcr_clp_0_1, - hci_bwd_pcr_clp_0_1, - hci_fwd_scr_clp_0, - hci_bwd_scr_clp_0, - hci_fwd_scr_clp_0_1, - hci_bwd_scr_clp_0_1, - hci_fwd_mbs_clp_0, - hci_bwd_mbs_clp_0, - hci_fwd_mbs_clp_0_1, - hci_bwd_mbs_clp_0_1, - hci_best_effort_ind = 0, - hci_fwd_frame_discard = 0, - hci_bwd_frame_discard = 0, - hci_tagging_bwd = 0, - hci_tagging_fwd = 0, - hci_fwd_abr_mcr, - hci_bwd_abr_mcr, - hci_binary}). - --record(hci_bbc, {hci_pci, - hci_bearer_class, - hci_atm_transfer_capability, - hci_user_plane_connection_configuration, - hci_susceptibility_to_clipping, - hci_binary}). - --record(hci_cause, {hci_pci, - hci_location, - hci_cause_value, - hci_diagnostics_list = [], - hci_binary}). - --record(hci_cpn, {hci_pci, - hci_type_of_number, - hci_intern_netw_numb_indic, - hci_numbering_plan_indicator, - hci_number_digits, - hci_orig_native = false}). - --record(hci_clpn, {hci_pci, - hci_type_of_number, - hci_numbering_plan_indicator, - hci_presentation_indicator, - hci_screening_indicator, - hci_number_digits, - hci_incomplete_indicator = 0, - hci_binary}). - --record(hci_cno, {hci_type_of_number, - hci_numbering_plan_indicator, - hci_presentation_indicator, - hci_screening_indicator, - hci_number_digits, - hci_binary}). - --record(hci_cnosa, {hci_binary}). - --record(hci_cpn_soft, {hci_select_type, - hci_soft_vpi, - hci_soft_vci, - hci_soft_dlci, - hci_binary}). - --record(hci_clpn_soft, {hci_soft_vpi, - hci_soft_vci, - hci_soft_dlci, - hci_binary}). - --record(hci_rer_services, {hci_inter_req_hard, - hci_inter_cap_hard, - hci_intra_req_soft, - hci_intra_req_hard, - hci_intra_cap_asym, - hci_intra_cap_sym, - hci_intra_cap_hard, - hci_binary}). - --record(hci_rer, {hci_func_addr, - hci_endpoint_key, - hci_switchover, - hci_incarnation, - hci_pnni_cumul_fw_max_cell_td, - hci_cumul_fw_p2p_cdv, - hci_cumul_bw_p2p_cdv, - hci_binary}). - --record(hci_rer_cause, {hci_rer_rel_cause, - hci_binary}). - --record(hci_opt_traf, {hci_origin, - hci_cumul_fw_aw, - hci_cumul_bw_aw, - hci_binary}). - --record(hci_qos, {hci_pci, - hci_qos_class_fwd, - hci_qos_class_bwd, - hci_binary}). - --record(hci_aal, {hci_pci, - hci_binary}). - --record(hci_bhli, {hci_pci, - hci_binary}). - --record(hci_blli_brep, {hci_brep, - hci_blli_list = []}). - --record(hci_blli, {hci_binary}). - --record(hci_blli_bici, {hci_repeated, - hci_priority, - hci_pci, - hci_binary}). - --record(hci_cpsa, {hci_pci, - hci_binary}). - --record(hci_clpsa, {hci_pci, - hci_binary}). - --record(hci_gat, {hci_binary}). - --record(hci_epr, {hci_epr_type, - hci_epr_value, - hci_epr_flag, - hci_binary}). - --record(hci_eqos, {hci_origin, - hci_acc_fwd_p2p_cdv, - hci_acc_bwd_p2p_cdv, - hci_cum_fwd_p2p_cdv, - hci_cum_bwd_p2p_cdv, - hci_acc_fwd_clr, - hci_acc_bwd_clr, - hci_binary}). - --record(hci_brep, {hci_binary}). - --record(hci_bsco, {hci_binary}). - --record(hci_noti, {hci_binary}). - --record(hci_abrs, {hci_fwd_abr_icr, - hci_bwd_abr_icr, - hci_fwd_abr_tbe, - hci_bwd_abr_tbe, - hci_cum_rm_fix_round_trip, - hci_fwd_rif, - hci_bwd_rif, - hci_fwd_rdf, - hci_bwd_rdf, - hci_binary}). - --record(hci_abra, {hci_fwd_nrm, - hci_fwd_trm, - hci_fwd_cdf, - hci_fwd_atdf, - hci_bwd_nrm, - hci_bwd_trm, - hci_bwd_cdf, - hci_bwd_atdf, - hci_binary}). - --record(hci_prog, {hci_coding_std, - hci_location, - hci_prog_desc, - hci_binary}). - --record(hci_nbc_brep, {hci_brep, - hci_nbc_list = []}). - --record(hci_nbc, {hci_binary}). - --record(hci_nbhlc, {hci_binary}). - --record(hci_nbllc_brep, {hci_brep, - hci_nbllc_list = []}). - --record(hci_nbllc, {hci_binary}). - --record(hci_geidt, {hci_binary}). - --record(hci_conss, {hci_type_of_conn_scope, - hci_conn_scope, - hci_binary}). - --record(hci_e2etd, {hci_pci, - hci_cumul_td, - hci_max_td, - hci_pnni_cumul_td, - hci_pnni_accept_fwd_max_td, - hci_netw_gen}). - --record(hci_cdpi, {hci_pci, - hci_cdpci, - hci_cdpsi, - hci_binary}). - --record(hci_cgpc, {hci_pci, - hci_binary}). - --record(hci_lpt, {hci_pci, - hci_ptype}). - --record(hci_cb, {hci_cb_level, - hci_bl_transit_type, - hci_bl_node_id, - hci_bl_link_proc_node_id, - hci_bl_link_port_id, - hci_bl_link_succ_node_id, - cause_value, - hci_cb_diagnostics, - hci_binary}). - --record(hci_pa, {hci_ie_id, - hci_coding, - hci_action, - hci_length, - hci_binary, - hci_error_type}). - --record(hci_ncci, {hci_pci, - hci_ni, - hci_point_code, - hci_call_id}). - --record(hci_ssie, {hci_ssie_sas = [], - hci_binary}). - --record(hci_sas, {hci_sas_vsn, - hci_sas_transp_ind, - hci_sas_flow_ind, - hci_sas_discard, - hci_sas_scope, - hci_sas_relative_id, - hci_binary}). - --record(hci_data, {hci_hcid, - hci_sender_ifindex, - hci_sender_hcid}). - --record(hci_data_setup, {hci_hcidA, - hci_pidA, - hci_protA, - hci_protB, - hci_portB, - hci_hcidB, - hci_rem_dataA, - hci_assign, - hci_ifindexB, - hci_node_id, - hci_succ_node_id, - hci_ifindexA, - hci_vpiA, - hci_vciA, - hci_cpA, - hci_cpB}). - --record(hci_prot_comp, {hci_requiredFC = 0, - hci_desiredFC = 0}). - --file("./spvcOrig.erl", 217). - --file("/export/localhome/locmacr/wrk/axd_r11/ATS_CRA12002/SPVC_CNA12164/src/../../../inc/ccCd.hrl", 1). - --hrl_id('13/190 55-CNA 121 101 Ux'). - --hrl_vsn('/main/R6A/R7A/R8A/R8B/8'). - --hrl_date('2003-02-21'). - --hrl_author(etxmexa). - --record(ccCdRR, {hcid, - vpi, - vci, - ifindexA, - call_type, - spvc = false, - reserve = yes, - etA, - destdata, - leafdata, - loopdata, - l3, - l3_loop, - cc}). - --record(ccCdRD, {destid, - loopdata, - cc}). - --record(ccCdRL, {leafid, - protTypeB, - loopdata, - l3, - l3_loop, - cc}). - --record(ccCdDD, {hcid, - hcidA, - vpi, - vci, - ifindexB, - portB, - call_type, - spvc = false, - reserve = yes, - protTypeA, - etB, - leafdata, - loopdata, - l3, - l3_loop, - cc}). - --record(ccCdDL, {leafid, - loopdata, - l3, - l3_loop, - cc}). - --record(ccRR, {protTypeA, - remote_dataA, - remote_dataB, - chg_counters, - sc, - chg_decision = on, - cc_loop}). - --record(ccRL, {hcidB, - charging, - cc_loop}). - --record(ccRD, {portB, - ifindexB, - cpB, - vpiB, - vciB, - cc_loop}). - --record(ccDD, {protTypeB, - remote_dataA, - remote_dataB, - ifindexA, - cpA, - vpiA, - vciA, - chg_counters, - sc, - chg_decision = on, - cc_loop}). - --record(ccDL, {cc_loop}). - --record(loopRR, {vpList, - nodeid, - succ_nodeid, - connection_type, - policing, - delay_contrib, - charging = on, - prev_routing_data}). - --record(loopRD, {}). - --record(loopRL, {msg_rec, - providerName, - userName, - partyId, - serviceIfA, - serviceIdA, - serviceIfB, - serviceIdB, - estAw, - dtlLevels}). - --record(loopDD, {nodeid, - succ_nodeid, - vpList, - connection_type, - policing, - assign, - delay_contrib, - charging = on}). - --record(loopDL, {msg_rec, - providerName, - userName, - partyId, - serviceIfA, - serviceIdA, - serviceIfB, - serviceIdB}). - --record(ccLoopRR, {pidB, - qos, - atd, - bbc, - cscope, - e2etd, - eqos, - con_state = none, - con_order = both, - mr_flag, - catch_up_id, - cpA}). - --record(ccLoopRD, {}). - --record(ccLoopRL, {route, - linklist, - routelist, - failurelist = [], - nodeidlist, - cb, - cpn, - dtl, - routing_state, - assign, - timer_counter = 0, - timer_ref, - status_enq_ind, - link_CB, - node_CB, - pnnir_rlp, - pnni_only}). - --record(ccLoopDD, {pidA, - con_state = none, - con_order = both, - mr_flag, - catch_up_id, - cpB}). - --record(ccLoopDL, {timer_counter = 0, - timer_ref, - status_enq_ind}). - --file("./spvcOrig.erl", 218). - --file("/export/localhome/locmacr/built/lib/erlang/lib/snmp-4.1.2/include/STANDARD-MIB.hrl", 1). - --file("./spvcOrig.erl", 219). - -error_handler({From,Tag},{M,F,Args},EXITReason) -> - spvcLib:do_report(sccm,M,F,Args,"",EXITReason). - -connect(HcId,Connect,Key) -> - debug_disabled, - Obj = spvcDataBase:db_read({spvcObj,Key}), - orig_state_machine(Obj#spvcObj.currentState,connect_nu,Obj,[HcId,Connect]). - -release_nu(HcId,Release,Key) -> - debug_disabled, - Obj = spvcDataBase:db_read({spvcObj,Key}), - spvcDataBase:db_delete({spvcHcIdToTp,HcId}), - orig_state_machine(Obj#spvcObj.currentState,release_nu,Obj,[HcId,Release]). - -release_comp_nu(HcId,Release_comp,Key) -> - debug_disabled, - Obj = spvcDataBase:db_read({spvcObj,Key}), - spvcDataBase:db_delete({spvcHcIdToTp,HcId}), - orig_state_machine(Obj#spvcObj.currentState,release_comp_nu,Obj,[HcId,Release_comp]). - -release_incumbent(HcId,Release) -> - debug_disabled, - release_incumbent2(spvcDataBase:db_read({spvcHcIdToTp,HcId}),Release). - -release_incumbent2(SpvcHcIdToTp,Release) -> - release_incumbent3(SpvcHcIdToTp#spvcHcIdToTp.tpEntry,Release). - -release_incumbent3({orig,If,Vpi,Vci,Leaf},Release) -> - release_incumbent4({If,Vpi,Vci,Leaf},Release); -release_incumbent3({orig,If,Vpi,Leaf},Release) -> - release_incumbent4({If,Vpi,Leaf},Release). - -release_incumbent4(TpKey,Release) -> - Spvc = spvcDataBase:db_read({spvcObj,TpKey}), - active = Spvc#spvcObj.currentState, - orig_state_machine(active,release_incumbent,Spvc,[Release]). - -switch_over(HcId,{If,Vpi,Vci}) -> - Key = case {If,Vpi,Vci} of - {If_Value,Vpi_Value,Vci_Value} when integer(Vci_Value) -> - {If_Value,Vpi_Value,Vci_Value,1}; - {If_Value,Vpi_Value,_} -> - {If_Value,Vpi_Value,1}; - {If_Value,Vpi_Value} -> - {If_Value,Vpi_Value,1} - end, - Spvc = spvcDataBase:db_read({spvcObj,Key}), - do_switch_over(HcId,Spvc); -switch_over(HcId,{If,Vpi}) -> - Key = case {If,Vpi,no_vc} of - {If_Value,Vpi_Value,Vci_Value} when integer(Vci_Value) -> - {If_Value,Vpi_Value,Vci_Value,1}; - {If_Value,Vpi_Value,_} -> - {If_Value,Vpi_Value,1}; - {If_Value,Vpi_Value} -> - {If_Value,Vpi_Value,1} - end, - Spvc = spvcDataBase:db_read({spvcObj,Key}), - do_switch_over(HcId,Spvc). - -do_switch_over(HcId,Spvc) -> - State = Spvc#spvcObj.currentState, - orig_state_machine(State,switch_over,Spvc,[HcId]). - -gen_set(Type,Row,Cols) -> - debug_disabled, - gen_set(Type,Row,Cols,undefined). - -gen_set(Type,Row,Cols,FrKey) -> - debug_disabled, - case lists:keysearch(case {case Row of - {_,_,_,_} -> - spvcVcc; - {_,_,_} -> - spvcVpc; - {_,_} -> - spvcFr; - [_,_,_,_] -> - spvcVcc; - [_,_,_] -> - spvcVpc; - [_,_] -> - spvcFr - end,rowStatus} of - {spvcVcc,targetAddress} -> - 2; - {spvcVcc,selectType} -> - 3; - {spvcVcc,targetVpi} -> - 18; - {spvcVcc,targetVci} -> - 5; - {spvcVcc,releaseCause} -> - 6; - {spvcVcc,releaseDiagnostic} -> - 7; - {spvcVcc,retryInterval} -> - 10; - {spvcVcc,retryTimer} -> - 11; - {spvcVcc,retryThreshold} -> - 12; - {spvcVcc,retryFailures} -> - 13; - {spvcVcc,retryLimit} -> - 14; - {spvcVcc,rowStatus} -> - 15; - {spvcVcc,restart} -> - 9; - {spvcVcc,targetSelectType_any} -> - 2; - {spvcVcc,targetSelectType_required} -> - 1; - {spvcVpc,targetAddress} -> - 2; - {spvcVpc,selectType} -> - 3; - {spvcVpc,targetVpi} -> - 15; - {spvcVpc,releaseCause} -> - 5; - {spvcVpc,releaseDiagnostic} -> - 6; - {spvcVpc,retryInterval} -> - 9; - {spvcVpc,retryTimer} -> - 10; - {spvcVpc,retryThreshold} -> - 11; - {spvcVpc,retryFailures} -> - 12; - {spvcVpc,retryLimit} -> - 13; - {spvcVpc,rowStatus} -> - 14; - {spvcVpc,restart} -> - 8; - {spvcVpc,targetSelectType_any} -> - 2; - {spvcVpc,targetSelectType_required} -> - 1; - {spvcFr,targetAddress} -> - 3; - {spvcFr,selectType} -> - 5; - {spvcFr,identifier} -> - 6; - {spvcFr,targetVpi} -> - 7; - {spvcFr,targetVci} -> - 8; - {spvcFr,translation} -> - 9; - {spvcFr,releaseCause} -> - 10; - {spvcFr,releaseDiagnostic} -> - 11; - {spvcFr,operStatus} -> - 12; - {spvcFr,adminStatus} -> - 13; - {spvcFr,restart} -> - 14; - {spvcFr,retryInterval} -> - 15; - {spvcFr,retryTimer} -> - 16; - {spvcFr,retryThreshold} -> - 17; - {spvcFr,retryFailures} -> - 18; - {spvcFr,retryLimit} -> - 19; - {spvcFr,lastChange} -> - 20; - {spvcFr,rowStatus} -> - 21 - end,1,Cols) of - {value,{_,4}} -> - debug_disabled, - mnesia:dirty_update_counter(spvcHcEtStat,spvcLib:get_board(hd(Row)),1), - case get_link_state(case Row of - Row when record(Row,spvcObj) -> - case Row#spvcObj.spvcEntry of - {If_Value,_,_,_} -> - If_Value; - {If_Value,_,_} -> - If_Value - end; - Row when record(Row,spvcVcc) -> - {If_Value,_,_,_} = Row#spvcVcc.spvcVccEntry, - If_Value; - Row when record(Row,spvcVpc) -> - {If_Value,_,_} = Row#spvcVpc.spvcVpcEntry, - If_Value; - Row when record(Row,spvcVpcPerm) -> - {If_Value,_,_} = Row#spvcVpcPerm.spvcVpcEntry, - If_Value; - Row when record(Row,spvcVccPerm) -> - {If_Value,_,_,_} = Row#spvcVccPerm.spvcVccEntry, - If_Value; - Row when record(Row,spvcTargetVc) -> - {If_Value,_,_} = Row#spvcTargetVc.entry, - If_Value; - Row when record(Row,spvcTargetVp) -> - {If_Value,_} = Row#spvcTargetVp.entry, - If_Value; - Row when record(Row,pchVc) -> - {If_Value,_,_} = Row#pchVc.vclEntry, - If_Value; - Row when record(Row,pchVp) -> - {If_Value,_} = Row#pchVp.vplEntry, - If_Value; - Row when record(Row,spvcFr) -> - {If_Value,_} = Row#spvcFr.spvcFrEntry, - If_Value; - Row when record(Row,spvcFrPerm) -> - {If_Value,_} = Row#spvcFrPerm.spvcFrEntry, - If_Value; - {If_Value,_,_,_} -> - If_Value; - {If_Value,_,_} -> - If_Value; - {If_Value,_} -> - If_Value; - [If_Value|_] -> - If_Value; - _ -> - error - end) of - disabled -> - orig_state_machine(null,createAndGo_disabled,[],[Row,Cols,Type,FrKey]); - enabled -> - orig_state_machine(null,createAndGo_enabled,[],[Row,Cols,Type,FrKey]) - end; - {value,{_,5}} -> - debug_disabled, - mnesia:dirty_update_counter(spvcHcEtStat,spvcLib:get_board(hd(Row)),1), - orig_state_machine(null,createAndWait,[],[Row,Cols,Type,FrKey]); - {value,{_,1}} -> - debug_disabled, - case spvcDataBase:db_read({spvcObj,list_to_tuple(Row)}) of - [] -> - ok; - Spvc -> - case get_link_state(case Row of - Row when record(Row,spvcObj) -> - case Row#spvcObj.spvcEntry of - {If_Value,_,_,_} -> - If_Value; - {If_Value,_,_} -> - If_Value - end; - Row when record(Row,spvcVcc) -> - {If_Value,_,_,_} = Row#spvcVcc.spvcVccEntry, - If_Value; - Row when record(Row,spvcVpc) -> - {If_Value,_,_} = Row#spvcVpc.spvcVpcEntry, - If_Value; - Row when record(Row,spvcVpcPerm) -> - {If_Value,_,_} = Row#spvcVpcPerm.spvcVpcEntry, - If_Value; - Row when record(Row,spvcVccPerm) -> - {If_Value,_,_,_} = Row#spvcVccPerm.spvcVccEntry, - If_Value; - Row when record(Row,spvcTargetVc) -> - {If_Value,_,_} = Row#spvcTargetVc.entry, - If_Value; - Row when record(Row,spvcTargetVp) -> - {If_Value,_} = Row#spvcTargetVp.entry, - If_Value; - Row when record(Row,pchVc) -> - {If_Value,_,_} = Row#pchVc.vclEntry, - If_Value; - Row when record(Row,pchVp) -> - {If_Value,_} = Row#pchVp.vplEntry, - If_Value; - Row when record(Row,spvcFr) -> - {If_Value,_} = Row#spvcFr.spvcFrEntry, - If_Value; - Row when record(Row,spvcFrPerm) -> - {If_Value,_} = Row#spvcFrPerm.spvcFrEntry, - If_Value; - {If_Value,_,_,_} -> - If_Value; - {If_Value,_,_} -> - If_Value; - {If_Value,_} -> - If_Value; - [If_Value|_] -> - If_Value; - _ -> - error - end) of - disabled -> - orig_state_machine(Spvc#spvcObj.currentState,activate_disabled,Spvc,Cols); - enabled -> - orig_state_machine(Spvc#spvcObj.currentState,activate_enabled,Spvc,Cols) - end - end; - {value,{_,6}} -> - debug_disabled, - case spvcDataBase:db_read({spvcObj,list_to_tuple(Row)}) of - [] -> - ok; - Spvc -> - mnesia:dirty_update_counter(spvcHcEtStat,spvcLib:get_board(hd(Row)),- 1), - orig_state_machine(Spvc#spvcObj.currentState,destroy,Spvc,Cols) - end; - {value,{_,2}} -> - debug_disabled, - case spvcDataBase:db_read({spvcObj,list_to_tuple(Row)}) of - [] -> - mnesia:dirty_update_counter(spvcHcEtStat,spvcLib:get_board(hd(Row)),1), - ok; - Spvc -> - orig_state_machine(Spvc#spvcObj.currentState,not_in_service,Spvc,Cols) - end; - false -> - debug_disabled, - Spvc = spvcDataBase:db_read({spvcObj,list_to_tuple(Row)}), - CurrentState = Spvc#spvcObj.currentState, - NewSpvc = set_attrs(Spvc,Cols), - Restart = case {case Row of - {_,_,_,_} -> - spvcVcc; - {_,_,_} -> - spvcVpc; - {_,_} -> - spvcFr; - [_,_,_,_] -> - spvcVcc; - [_,_,_] -> - spvcVpc; - [_,_] -> - spvcFr - end,restart} of - {spvcVcc,targetAddress} -> - 2; - {spvcVcc,selectType} -> - 3; - {spvcVcc,targetVpi} -> - 18; - {spvcVcc,targetVci} -> - 5; - {spvcVcc,releaseCause} -> - 6; - {spvcVcc,releaseDiagnostic} -> - 7; - {spvcVcc,retryInterval} -> - 10; - {spvcVcc,retryTimer} -> - 11; - {spvcVcc,retryThreshold} -> - 12; - {spvcVcc,retryFailures} -> - 13; - {spvcVcc,retryLimit} -> - 14; - {spvcVcc,rowStatus} -> - 15; - {spvcVcc,restart} -> - 9; - {spvcVcc,targetSelectType_any} -> - 2; - {spvcVcc,targetSelectType_required} -> - 1; - {spvcVpc,targetAddress} -> - 2; - {spvcVpc,selectType} -> - 3; - {spvcVpc,targetVpi} -> - 15; - {spvcVpc,releaseCause} -> - 5; - {spvcVpc,releaseDiagnostic} -> - 6; - {spvcVpc,retryInterval} -> - 9; - {spvcVpc,retryTimer} -> - 10; - {spvcVpc,retryThreshold} -> - 11; - {spvcVpc,retryFailures} -> - 12; - {spvcVpc,retryLimit} -> - 13; - {spvcVpc,rowStatus} -> - 14; - {spvcVpc,restart} -> - 8; - {spvcVpc,targetSelectType_any} -> - 2; - {spvcVpc,targetSelectType_required} -> - 1; - {spvcFr,targetAddress} -> - 3; - {spvcFr,selectType} -> - 5; - {spvcFr,identifier} -> - 6; - {spvcFr,targetVpi} -> - 7; - {spvcFr,targetVci} -> - 8; - {spvcFr,translation} -> - 9; - {spvcFr,releaseCause} -> - 10; - {spvcFr,releaseDiagnostic} -> - 11; - {spvcFr,operStatus} -> - 12; - {spvcFr,adminStatus} -> - 13; - {spvcFr,restart} -> - 14; - {spvcFr,retryInterval} -> - 15; - {spvcFr,retryTimer} -> - 16; - {spvcFr,retryThreshold} -> - 17; - {spvcFr,retryFailures} -> - 18; - {spvcFr,retryLimit} -> - 19; - {spvcFr,lastChange} -> - 20; - {spvcFr,rowStatus} -> - 21 - end, - case lists:keysearch(Restart,1,Cols) of - {value,{Restart,1}} -> - orig_state_machine(CurrentState,restart,NewSpvc,Cols); - _ -> - spvcDataBase:db_write(NewSpvc), - ok - end - end, - {noError,0}. - -restart_spvc(Key) -> - debug_disabled, - Spvc = spvcDataBase:db_read({spvcObj,Key}), - handle_restart_spvc(Spvc#spvcObj.currentState,Spvc), - ok. - -handle_restart_spvc(rest_in_peace,Spvc) -> - debug_disabled, - rest_in_peace(restart,Spvc,undefined); -handle_restart_spvc(_,_) -> - ok. - -restart_multi_spvcs(Key) -> - debug_disabled, - Spvc = spvcDataBase:db_read({spvcObj,Key}), - handle_restart_multi_spvcs(Spvc#spvcObj.currentState,Spvc), - ok. - -handle_restart_multi_spvcs(rest_in_peace,Spvc) -> - debug_disabled, - handle_restart_spvc(rest_in_peace,Spvc); -handle_restart_multi_spvcs(active,Spvc) -> - debug_disabled, - active(restart,Spvc,undefined); -handle_restart_multi_spvcs(outgoing_callproceeding,Spvc) -> - debug_disabled, - outgoing_callproceeding(restart,Spvc,undefined); -handle_restart_multi_spvcs(release_at_restart,Spvc) -> - debug_disabled, - release_at_restart(restart,Spvc,undefined); -handle_restart_multi_spvcs(wait,Spvc) -> - debug_disabled, - wait(restart,Spvc,undefined); -handle_restart_multi_spvcs(rest_in_peace,Spvc) -> - debug_disabled, - rest_in_peace(restart,Spvc,undefined); -handle_restart_multi_spvcs(_,_) -> - ok. - -orig_state_machine(null,createAndGo_enabled,Spvc,Attrs) -> - null(createAndGo_enabled,Spvc,Attrs); -orig_state_machine(null,createAndGo_disabled,Spvc,Attrs) -> - null(createAndGo_disabled,Spvc,Attrs); -orig_state_machine(null,createAndWait,Spvc,Attrs) -> - null(createAndWait,Spvc,Attrs); -orig_state_machine(created,activate_disabled,Spvc,Attrs) -> - created(activate_disabled,Spvc,Attrs); -orig_state_machine(created,activate_enabled,Spvc,Attrs) -> - created(activate_enabled,Spvc,Attrs); -orig_state_machine(created,destroy,Spvc,Attrs) -> - created(destroy,Spvc,Attrs); -orig_state_machine(outgoing_callproceeding,connect_nu,Spvc,Attrs) -> - outgoing_callproceeding(connect_nu,Spvc,Attrs); -orig_state_machine(outgoing_callproceeding,destroy,Spvc,Attrs) -> - outgoing_callproceeding(destroy,Spvc,Attrs); -orig_state_machine(outgoing_callproceeding,restart,Spvc,Attrs) -> - outgoing_callproceeding(restart,Spvc,Attrs); -orig_state_machine(outgoing_callproceeding,release_nu,Spvc,Attrs) -> - case get_link_state_intf(case Spvc of - Spvc when record(Spvc,spvcObj) -> - case Spvc#spvcObj.spvcEntry of - {If_Value,_,_,_} -> - If_Value; - {If_Value,_,_} -> - If_Value - end; - Spvc when record(Spvc,spvcVcc) -> - {If_Value,_,_,_} = Spvc#spvcVcc.spvcVccEntry, - If_Value; - Spvc when record(Spvc,spvcVpc) -> - {If_Value,_,_} = Spvc#spvcVpc.spvcVpcEntry, - If_Value; - Spvc when record(Spvc,spvcVpcPerm) -> - {If_Value,_,_} = Spvc#spvcVpcPerm.spvcVpcEntry, - If_Value; - Spvc when record(Spvc,spvcVccPerm) -> - {If_Value,_,_,_} = Spvc#spvcVccPerm.spvcVccEntry, - If_Value; - Spvc when record(Spvc,spvcTargetVc) -> - {If_Value,_,_} = Spvc#spvcTargetVc.entry, - If_Value; - Spvc when record(Spvc,spvcTargetVp) -> - {If_Value,_} = Spvc#spvcTargetVp.entry, - If_Value; - Spvc when record(Spvc,pchVc) -> - {If_Value,_,_} = Spvc#pchVc.vclEntry, - If_Value; - Spvc when record(Spvc,pchVp) -> - {If_Value,_} = Spvc#pchVp.vplEntry, - If_Value; - Spvc when record(Spvc,spvcFr) -> - {If_Value,_} = Spvc#spvcFr.spvcFrEntry, - If_Value; - Spvc when record(Spvc,spvcFrPerm) -> - {If_Value,_} = Spvc#spvcFrPerm.spvcFrEntry, - If_Value; - {If_Value,_,_,_} -> - If_Value; - {If_Value,_,_} -> - If_Value; - {If_Value,_} -> - If_Value; - [If_Value|_] -> - If_Value; - _ -> - error - end,release_nu) of - disabled -> - outgoing_callproceeding(release_nu_disabled,Spvc,Attrs); - enabled -> - outgoing_callproceeding(release_nu_enabled,Spvc,Attrs) - end; -orig_state_machine(outgoing_callproceeding,release_comp_nu,Spvc,Attrs) -> - case get_link_state_intf(tuple_to_list(Spvc#spvcObj.spvcEntry),release_comp_nu) of - disabled -> - outgoing_callproceeding(release_comp_nu_disabled,Spvc,Attrs); - enabled -> - outgoing_callproceeding(release_comp_nu_enabled,Spvc,Attrs) - end; -orig_state_machine(outgoing_callproceeding,not_in_service,Spvc,Attrs) -> - outgoing_callproceeding(not_in_service,Spvc,Attrs); -orig_state_machine(outgoing_callproceeding,activate_enabled,Spvc,Attrs) -> - ok; -orig_state_machine(outgoing_callproceeding,activate_disabled,Spvc,Attrs) -> - ok; -orig_state_machine(active,destroy,Spvc,Attrs) -> - active(destroy,Spvc,Attrs); -orig_state_machine(active,restart,Spvc,Attrs) -> - active(restart,Spvc,Attrs); -orig_state_machine(active,release_nu,Spvc,Attrs) -> - case cnhChi:get_link_opstate(case Spvc of - Spvc when record(Spvc,spvcObj) -> - case Spvc#spvcObj.spvcEntry of - {If_Value,_,_,_} -> - If_Value; - {If_Value,_,_} -> - If_Value - end; - Spvc when record(Spvc,spvcVcc) -> - {If_Value,_,_,_} = Spvc#spvcVcc.spvcVccEntry, - If_Value; - Spvc when record(Spvc,spvcVpc) -> - {If_Value,_,_} = Spvc#spvcVpc.spvcVpcEntry, - If_Value; - Spvc when record(Spvc,spvcVpcPerm) -> - {If_Value,_,_} = Spvc#spvcVpcPerm.spvcVpcEntry, - If_Value; - Spvc when record(Spvc,spvcVccPerm) -> - {If_Value,_,_,_} = Spvc#spvcVccPerm.spvcVccEntry, - If_Value; - Spvc when record(Spvc,spvcTargetVc) -> - {If_Value,_,_} = Spvc#spvcTargetVc.entry, - If_Value; - Spvc when record(Spvc,spvcTargetVp) -> - {If_Value,_} = Spvc#spvcTargetVp.entry, - If_Value; - Spvc when record(Spvc,pchVc) -> - {If_Value,_,_} = Spvc#pchVc.vclEntry, - If_Value; - Spvc when record(Spvc,pchVp) -> - {If_Value,_} = Spvc#pchVp.vplEntry, - If_Value; - Spvc when record(Spvc,spvcFr) -> - {If_Value,_} = Spvc#spvcFr.spvcFrEntry, - If_Value; - Spvc when record(Spvc,spvcFrPerm) -> - {If_Value,_} = Spvc#spvcFrPerm.spvcFrEntry, - If_Value; - {If_Value,_,_,_} -> - If_Value; - {If_Value,_,_} -> - If_Value; - {If_Value,_} -> - If_Value; - [If_Value|_] -> - If_Value; - _ -> - error - end) of - disabled -> - active(release_nu_disabled,Spvc,Attrs); - enabled -> - active(release_nu_enabled,Spvc,Attrs) - end; -orig_state_machine(active,release_comp_nu,Spvc,Attrs) -> - release_at_restart(release_comp_nu,Spvc,Attrs); -orig_state_machine(active,not_in_service,Spvc,Attrs) -> - active(not_in_service,Spvc,Attrs); -orig_state_machine(active,activate_enabled,Spvc,Attrs) -> - ok; -orig_state_machine(active,activate_disabled,Spvc,Attrs) -> - ok; -orig_state_machine(active,release_incumbent,Spvc,Attrs) -> - active(release_incumbent,Spvc,Attrs); -orig_state_machine(wait,destroy,Spvc,Attrs) -> - wait(destroy,Spvc,Attrs); -orig_state_machine(wait,timeout,Spvc,Attrs) -> - wait(timeout,Spvc,Attrs); -orig_state_machine(wait,restart,Spvc,Attrs) -> - wait(restart,Spvc,Attrs); -orig_state_machine(wait,release_nu,Spvc,Attrs) -> - ok; -orig_state_machine(wait,not_in_service,Spvc,Attrs) -> - wait(not_in_service,Spvc,Attrs); -orig_state_machine(wait,activate_enabled,Spvc,Attrs) -> - wait(timeout,Spvc,Attrs); -orig_state_machine(wait,activate_disabled,Spvc,Attrs) -> - ok; -orig_state_machine(release_at_restart,release_comp_nu,Spvc,Attrs) -> - release_at_restart(release_comp_nu,Spvc,Attrs); -orig_state_machine(release_at_restart,release_nu,Spvc,Attrs) -> - release_at_restart(release_nu,Spvc,Attrs); -orig_state_machine(release_at_restart,connect_nu,Spvc,Attrs) -> - release_at_restart(connect_nu,Spvc,Attrs); -orig_state_machine(release_at_restart,destroy,Spvc,Attrs) -> - release_at_restart(destroy,Spvc,Attrs); -orig_state_machine(release_at_restart,not_in_service,Spvc,Attrs) -> - release_at_restart(not_in_service,Spvc,Attrs); -orig_state_machine(release_at_restart,activate_enabled,Spvc,Attrs) -> - ok; -orig_state_machine(release_at_restart,activate_disabled,Spvc,Attrs) -> - ok; -orig_state_machine(release_request,release_comp_nu,Spvc,Attrs) -> - release_request(release_comp_nu,Spvc,Attrs); -orig_state_machine(release_request,release_nu,Spvc,Attrs) -> - release_request(release_nu,Spvc,Attrs); -orig_state_machine(release_request,destroy,Spvc,Attrs) -> - release_request(destroy,Spvc,Attrs); -orig_state_machine(release_request,not_in_service,Spvc,Attrs) -> - release_request(not_in_service,Spvc,Attrs); -orig_state_machine(release_request,activate_enabled,Spvc,Attrs) -> - ok; -orig_state_machine(release_request,activate_disabled,Spvc,Attrs) -> - ok; -orig_state_machine(rest_in_peace,restart,Spvc,Attrs) -> - rest_in_peace(restart,Spvc,Attrs); -orig_state_machine(rest_in_peace,destroy,Spvc,Attrs) -> - rest_in_peace(destroy,Spvc,Attrs); -orig_state_machine(rest_in_peace,not_in_service,Spvc,Attrs) -> - rest_in_peace(not_in_service,Spvc,Attrs); -orig_state_machine(rest_in_peace,connect_nu,Spvc,Attrs) -> - rest_in_peace(connect_nu,Spvc,Attrs); -orig_state_machine(rest_in_peace,activate_enabled,Spvc,Attrs) -> - rest_in_peace(restart,Spvc,Attrs); -orig_state_machine(rest_in_peace,activate_disabled,Spvc,Attrs) -> - ok; -orig_state_machine(rest_in_peace,release_nu,Spvc,Attrs) -> - ok; -orig_state_machine(rest_in_peace,release_comp_nu,Spvc,Attrs) -> - ok; -orig_state_machine(not_in_service,activate_enabled,Spvc,Attrs) -> - not_in_service(activate_enabled,Spvc,Attrs); -orig_state_machine(not_in_service,activate_disabled,Spvc,Attrs) -> - not_in_service(activate_disabled,Spvc,Attrs); -orig_state_machine(not_in_service,destroy,Spvc,Attrs) -> - not_in_service(destroy,Spvc,Attrs); -orig_state_machine(not_in_service,connect_nu,Spvc,Attrs) -> - not_in_service(connect_nu,Spvc,Attrs); -orig_state_machine(not_in_service,_,Spvc,Attrs) -> - ok; -orig_state_machine(awaiting_switch_over,switch_over,Spvc,[HcId]) -> - awaiting_switch_over(switch_over,Spvc,[HcId]); -orig_state_machine(awaiting_switch_over,activate_disabled,Spvc,Attrs) -> - awaiting_switch_over(activate_disabled,Spvc,Attrs); -orig_state_machine(awaiting_switch_over,destroy,Spvc,Attrs) -> - awaiting_switch_over(destroy,Spvc,Attrs); -orig_state_machine(awaiting_switch_over,restart,Spvc,Attrs) -> - awaiting_switch_over(restart,Spvc,Attrs); -orig_state_machine(awaiting_switch_over,_,Spvc,Attrs) -> - ok; -orig_state_machine(undefined,destroy,Spvc,Attrs) -> - rest_in_peace(destroy,Spvc,Attrs). - -null(createAndGo_enabled,[],[Row,Cols,Type,FrKey]) -> - debug_disabled, - Key = list_to_tuple(Row), - Spvc = #spvcObj{spvcEntry = Key, - spvcApplication = Type, - spvcRowStatus = 1, - spvcFrKey = FrKey}, - Spvc1 = set_attrs(Spvc,Cols), - {Spvc2,HcId,Setup} = new_state_outgoing_call_proceeding(Spvc1), - pchTpUpdate(case Key of - {IfIndex_Value,Vpi_Value,Vci_Value,_} -> - {IfIndex_Value,Vpi_Value,Vci_Value}; - {IfIndex_Value,Vpi_Value,_} -> - {IfIndex_Value,Vpi_Value}; - [IfIndex_Value,Vpi_Value,Vci_Value,_] -> - [IfIndex_Value,Vpi_Value,Vci_Value]; - [IfIndex_Value,Vpi_Value,_] -> - [IfIndex_Value,Vpi_Value] - end), - spvcDataBase:db_write(Spvc2), - setup(HcId,Setup,Spvc2); -null(createAndGo_disabled,[],[Row,Cols,Type,FrKey]) -> - debug_disabled, - case get_link_state_intf(Row,null_createAndGo_disabled) of - disabled -> - Key = list_to_tuple(Row), - Spvc = #spvcObj{spvcEntry = Key, - spvcRowStatus = 1, - currentState = rest_in_peace, - spvcApplication = Type, - spvcFrKey = FrKey}, - Spvc1 = set_attrs(Spvc,Cols), - pchTpUpdate(case Key of - {IfIndex_Value,Vpi_Value,Vci_Value,_} -> - {IfIndex_Value,Vpi_Value,Vci_Value}; - {IfIndex_Value,Vpi_Value,_} -> - {IfIndex_Value,Vpi_Value}; - [IfIndex_Value,Vpi_Value,Vci_Value,_] -> - [IfIndex_Value,Vpi_Value,Vci_Value]; - [IfIndex_Value,Vpi_Value,_] -> - [IfIndex_Value,Vpi_Value] - end), - set_call_failure_data_and_send_spvcFailingAlarm(Key), - spvcDataBase:db_write(Spvc1); - enabled -> - null(createAndGo_enabled,[],[Row,Cols,Type,FrKey]) - end; -null(createAndWait,[],[Row,Cols,Type,FrKey]) -> - debug_disabled, - Key = list_to_tuple(Row), - Spvc = #spvcObj{spvcEntry = Key, - spvcApplication = Type, - spvcFrKey = FrKey}, - Spvc1 = new_state_created(Spvc,Cols), - pchTpUpdate(case Key of - {IfIndex_Value,Vpi_Value,Vci_Value,_} -> - {IfIndex_Value,Vpi_Value,Vci_Value}; - {IfIndex_Value,Vpi_Value,_} -> - {IfIndex_Value,Vpi_Value}; - [IfIndex_Value,Vpi_Value,Vci_Value,_] -> - [IfIndex_Value,Vpi_Value,Vci_Value]; - [IfIndex_Value,Vpi_Value,_] -> - [IfIndex_Value,Vpi_Value] - end), - spvcDataBase:db_write(Spvc1). - -pchTpUpdate({If,Vpi,Vci}) -> - spvcDataBase:db_write(#spvcVcDyn{vclEntry = {If,Vpi,Vci}, - vclCcIdentifier = 0}); -pchTpUpdate({If,Vpi}) -> - spvcDataBase:db_write(#spvcVpDyn{vplEntry = {If,Vpi}, - vplCcIdentifier = 0}). - -created(activate_enabled,Spvc,Attrs) -> - debug_disabled, - Spvc1 = set_attrs(Spvc,Attrs), - Spvc2 = Spvc1#spvcObj{spvcRowStatus = 1}, - {Spvc3,HcId,HciMsg} = new_state_outgoing_call_proceeding(Spvc1), - spvcDataBase:db_write(Spvc3), - setup(HcId,HciMsg,Spvc3); -created(activate_disabled,Spvc,Attrs) -> - debug_disabled, - Spvc1 = set_attrs(Spvc,Attrs), - Spvc2 = Spvc1#spvcObj{currentState = rest_in_peace, - spvcRowStatus = 1}, - update_state(Spvc,4), - spvcDataBase:db_write(Spvc2); -created(destroy,Spvc,Attrs) -> - debug_disabled, - clear(Spvc). - -outgoing_callproceeding(connect_nu,Spvc,[HcId,Connect]) -> - debug_disabled, - Spvc1 = new_state_active(Spvc), - case Spvc#spvcObj.spvcTargetSelectType of - 2 -> - Cpn = Connect#hci_connect.hci_cpn_soft, - TargetVpi = Cpn#hci_cpn_soft.hci_soft_vpi, - TargetVci = Cpn#hci_cpn_soft.hci_soft_vci, - TargetDlci = Cpn#hci_cpn_soft.hci_soft_dlci, - Spvc2 = Spvc1#spvcObj{spvcTargetSelectType = 1, - spvcTargetVpi = TargetVpi, - spvcTargetVci = TargetVci, - spvcTargetDlci = TargetDlci}, - spvcDataBase:db_write(Spvc2); - 1 -> - spvcDataBase:db_write(ets,Spvc1); - 2 -> - Cpn = Connect#hci_connect.hci_cpn_soft, - TargetVpi = Cpn#hci_cpn_soft.hci_soft_vpi, - TargetDlci = Cpn#hci_cpn_soft.hci_soft_dlci, - Spvc2 = Spvc1#spvcObj{spvcTargetSelectType = 1, - spvcTargetVpi = TargetVpi, - spvcTargetDlci = TargetDlci}, - spvcDataBase:db_write(Spvc2); - 1 -> - spvcDataBase:db_write(ets,Spvc1) - end, - Key = Spvc#spvcObj.spvcEntry, - PchKey = case Key of - {IfIndex_Value,Vpi_Value,Vci_Value,_} -> - {IfIndex_Value,Vpi_Value,Vci_Value}; - {IfIndex_Value,Vpi_Value,_} -> - {IfIndex_Value,Vpi_Value}; - [IfIndex_Value,Vpi_Value,Vci_Value,_] -> - [IfIndex_Value,Vpi_Value,Vci_Value]; - [IfIndex_Value,Vpi_Value,_] -> - [IfIndex_Value,Vpi_Value] - end, - SpvcDyn = case PchKey of - {_,_,_} -> - case spvcDataBase:db_read({spvcVcDyn,PchKey}) of - [] -> - #spvcVcDyn{vclEntry = PchKey, - vclCcIdentifier = 0, - vclConnId = HcId}; - SpvcVcDyn -> - SpvcVcDyn#spvcVcDyn{vclEntry = PchKey, - vclConnId = HcId} - end; - {_,_} -> - case spvcDataBase:db_read({spvcVpDyn,PchKey}) of - [] -> - #spvcVpDyn{vplEntry = PchKey, - vplCcIdentifier = 0, - vplConnId = HcId}; - SpvcVpDyn -> - SpvcVpDyn#spvcVpDyn{vplEntry = PchKey, - vplConnId = HcId} - end - end, - spvcDataBase:db_write(SpvcDyn), - CbCValue = get(no_of_rerouting), - CbC = case CbCValue of - undefined -> - debug_disabled, - 0; - _ -> - CbCValue - end, - SpvcDyn2 = case Key of - {_,_,_,_} -> - case spvcDataBase:db_read({spvcVccDyn,Key}) of - [] -> - #spvcVccDyn{spvcVccEntry = Key, - crankBackCounter = CbC}; - SpvcVccDyn -> - SpvcVccDyn#spvcVccDyn{spvcVccEntry = Key, - crankBackCounter = CbC} - end; - {_,_,_} -> - case spvcDataBase:db_read({spvcVpcDyn,Key}) of - [] -> - #spvcVpcDyn{spvcVpcEntry = Key, - crankBackCounter = CbC}; - SpvcVpcDyn -> - SpvcVpcDyn#spvcVpcDyn{spvcVpcEntry = Key, - crankBackCounter = CbC} - end - end, - spvcDataBase:db_write(SpvcDyn2), - NewPch = spvcDataBase:db_read({pch,PchKey}), - spvcLib:clear_spvcStillTryingAlarm(Key), - case Spvc#spvcObj.spvcFrKey of - undefined -> - spvcLib:ilmi_change(PchKey,1), - ok; - FrEndPoint -> - SpvcFrObj = spvcDataBase:db_read({spvcFrPerm,FrEndPoint}), - NewSpvcFrObj = SpvcFrObj#spvcFrPerm{spvcFrConnect = 3}, - spvcDataBase:db_write(NewSpvcFrObj), - spvcLib:ilmi_change(PchKey,1), - set_fr_atm_iw_admin_state(FrEndPoint,up,Spvc) - end; -outgoing_callproceeding(restart,Spvc,_) -> - Key = Spvc#spvcObj.spvcEntry, - debug_disabled, - Spvc1 = new_state_release_at_restart(Spvc), - spvcDataBase:db_write(ets,Spvc1), - spvcLib:clear_spvcStillTryingAlarm(Key); -outgoing_callproceeding(release_nu_enabled,Spvc,[HcId,HciMsg]) -> - debug_disabled, - Spvc1 = new_state_rest_in_peace_or_wait(Spvc,[HcId,HciMsg]), - [CcCause|_] = HciMsg#hci_release.hci_cause_list, - Spvc2 = Spvc1#spvcObj{spvcLastReleaseCause = CcCause#hci_cause.hci_cause_value, - spvcLastReleaseDiagnostic = CcCause#hci_cause.hci_diagnostics_list}, - spvcDataBase:db_write(ets,Spvc2); -outgoing_callproceeding(release_nu_disabled,Spvc,[HcId,Release]) -> - debug_disabled, - Spvc1 = new_state_rest_in_peace(Spvc), - [CcCause|_] = Release#hci_release.hci_cause_list, - Spvc2 = Spvc1#spvcObj{spvcLastReleaseCause = CcCause#hci_cause.hci_cause_value, - spvcLastReleaseDiagnostic = CcCause#hci_cause.hci_diagnostics_list}, - spvcDataBase:db_write(ets,Spvc2), - spvcLib:clear_spvcStillTryingAlarm(Spvc#spvcObj.spvcEntry); -outgoing_callproceeding(release_comp_nu_enabled,Spvc,[HcId,Release_complete]) -> - debug_disabled, - Spvc1 = new_state_rest_in_peace_or_wait(Spvc,[HcId,Release_complete]), - spvcDataBase:db_write(ets,Spvc1); -outgoing_callproceeding(release_comp_nu_disabled,Spvc,[HcId,Release_complete]) -> - debug_disabled, - Key = Spvc#spvcObj.spvcEntry, - Spvc1 = new_state_rest_in_peace(Spvc), - spvcDataBase:db_write(ets,Spvc1), - spvcLib:clear_spvcStillTryingAlarm(Key); -outgoing_callproceeding(destroy,Spvc,_) -> - debug_disabled, - Key = Spvc#spvcObj.spvcEntry, - Spvc1 = new_state_release_request(Spvc), - spvcDataBase:db_write(ets,Spvc1), - SpvcTpToHcId = read_spvcTpToHcId(Key), - Release = spvcEncode:encode_cc_release(31), - spvcManager:release_un(a_side,SpvcTpToHcId#spvcTpToHcId.hcId,Release,Spvc1), - spvcLib:clear_spvcStillTryingAlarm(Key); -outgoing_callproceeding(not_in_service,Spvc,_) -> - debug_disabled, - Key = Spvc#spvcObj.spvcEntry, - Spvc1 = new_state_not_in_service(Spvc), - spvcDataBase:db_write(Spvc1), - SpvcTpToHcId = read_spvcTpToHcId(Key), - Release = spvcEncode:encode_cc_release(31), - spvcManager:release_un(a_side,SpvcTpToHcId#spvcTpToHcId.hcId,Release,Spvc1), - spvcLib:clear_spvcStillTryingAlarm(Key). - -active(restart,Spvc,_) -> - debug_disabled, - Key = Spvc#spvcObj.spvcEntry, - Spvc1 = new_state_release_at_restart(Spvc), - spvcDataBase:db_write(ets,Spvc1), - PchKey = case Key of - {IfIndex_Value,Vpi_Value,Vci_Value,_} -> - {IfIndex_Value,Vpi_Value,Vci_Value}; - {IfIndex_Value,Vpi_Value,_} -> - {IfIndex_Value,Vpi_Value}; - [IfIndex_Value,Vpi_Value,Vci_Value,_] -> - [IfIndex_Value,Vpi_Value,Vci_Value]; - [IfIndex_Value,Vpi_Value,_] -> - [IfIndex_Value,Vpi_Value] - end, - spvcLib:ilmi_change(PchKey,2), - case Spvc#spvcObj.spvcFrKey of - undefined -> - ok; - FrEndPoint -> - set_fr_atm_iw_admin_state(FrEndPoint,down,Spvc) - end; -active(release_nu_enabled,Spvc,[HcId,Release]) -> - debug_disabled, - Key = Spvc#spvcObj.spvcEntry, - Spvc1 = new_state_rest_in_peace_or_wait(Spvc,[HcId,Release]), - [CcCause|_] = Release#hci_release.hci_cause_list, - Spvc2 = Spvc1#spvcObj{spvcLastReleaseCause = CcCause#hci_cause.hci_cause_value, - spvcLastReleaseDiagnostic = CcCause#hci_cause.hci_diagnostics_list}, - spvcDataBase:db_write(ets,Spvc2), - PchKey = case Key of - {IfIndex_Value,Vpi_Value,Vci_Value,_} -> - {IfIndex_Value,Vpi_Value,Vci_Value}; - {IfIndex_Value,Vpi_Value,_} -> - {IfIndex_Value,Vpi_Value}; - [IfIndex_Value,Vpi_Value,Vci_Value,_] -> - [IfIndex_Value,Vpi_Value,Vci_Value]; - [IfIndex_Value,Vpi_Value,_] -> - [IfIndex_Value,Vpi_Value] - end, - spvcLib:ilmi_change(PchKey,2), - case Spvc#spvcObj.spvcFrKey of - undefined -> - ok; - FrEndPoint -> - set_fr_atm_iw_admin_state(FrEndPoint,down,Spvc) - end; -active(release_nu_disabled,Spvc,[HcId,Release]) -> - debug_disabled, - case get_link_state_intf(case Spvc of - Spvc when record(Spvc,spvcObj) -> - case Spvc#spvcObj.spvcEntry of - {If_Value,_,_,_} -> - If_Value; - {If_Value,_,_} -> - If_Value - end; - Spvc when record(Spvc,spvcVcc) -> - {If_Value,_,_,_} = Spvc#spvcVcc.spvcVccEntry, - If_Value; - Spvc when record(Spvc,spvcVpc) -> - {If_Value,_,_} = Spvc#spvcVpc.spvcVpcEntry, - If_Value; - Spvc when record(Spvc,spvcVpcPerm) -> - {If_Value,_,_} = Spvc#spvcVpcPerm.spvcVpcEntry, - If_Value; - Spvc when record(Spvc,spvcVccPerm) -> - {If_Value,_,_,_} = Spvc#spvcVccPerm.spvcVccEntry, - If_Value; - Spvc when record(Spvc,spvcTargetVc) -> - {If_Value,_,_} = Spvc#spvcTargetVc.entry, - If_Value; - Spvc when record(Spvc,spvcTargetVp) -> - {If_Value,_} = Spvc#spvcTargetVp.entry, - If_Value; - Spvc when record(Spvc,pchVc) -> - {If_Value,_,_} = Spvc#pchVc.vclEntry, - If_Value; - Spvc when record(Spvc,pchVp) -> - {If_Value,_} = Spvc#pchVp.vplEntry, - If_Value; - Spvc when record(Spvc,spvcFr) -> - {If_Value,_} = Spvc#spvcFr.spvcFrEntry, - If_Value; - Spvc when record(Spvc,spvcFrPerm) -> - {If_Value,_} = Spvc#spvcFrPerm.spvcFrEntry, - If_Value; - {If_Value,_,_,_} -> - If_Value; - {If_Value,_,_} -> - If_Value; - {If_Value,_} -> - If_Value; - [If_Value|_] -> - If_Value; - _ -> - error - end,active_release_nu_disabled) of - disabled -> - debug_disabled, - Key = Spvc#spvcObj.spvcEntry, - Spvc1 = Spvc#spvcObj{currentState = rest_in_peace}, - [CcCause|_] = Release#hci_release.hci_cause_list, - Spvc2 = Spvc1#spvcObj{spvcLastReleaseCause = CcCause#hci_cause.hci_cause_value, - spvcLastReleaseDiagnostic = CcCause#hci_cause.hci_diagnostics_list}, - PchKey = case Key of - {IfIndex_Value,Vpi_Value,Vci_Value,_} -> - {IfIndex_Value,Vpi_Value,Vci_Value}; - {IfIndex_Value,Vpi_Value,_} -> - {IfIndex_Value,Vpi_Value}; - [IfIndex_Value,Vpi_Value,Vci_Value,_] -> - [IfIndex_Value,Vpi_Value,Vci_Value]; - [IfIndex_Value,Vpi_Value,_] -> - [IfIndex_Value,Vpi_Value] - end, - spvcLib:ilmi_change(PchKey,2), - update_state(Spvc,4), - spvcDataBase:db_write(ets,Spvc2), - case Spvc#spvcObj.spvcFrKey of - undefined -> - ok; - FrEndPoint -> - set_fr_atm_iw_admin_state(FrEndPoint,down,Spvc) - end; - enabled -> - active(release_nu_enabled,Spvc,[HcId,Release]) - end; -active(destroy,Spvc,_) -> - debug_disabled, - Key = Spvc#spvcObj.spvcEntry, - Spvc1 = new_state_release_request(Spvc), - spvcDataBase:db_write(ets,Spvc1), - PchKey = case Key of - {IfIndex_Value,Vpi_Value,Vci_Value,_} -> - {IfIndex_Value,Vpi_Value,Vci_Value}; - {IfIndex_Value,Vpi_Value,_} -> - {IfIndex_Value,Vpi_Value}; - [IfIndex_Value,Vpi_Value,Vci_Value,_] -> - [IfIndex_Value,Vpi_Value,Vci_Value]; - [IfIndex_Value,Vpi_Value,_] -> - [IfIndex_Value,Vpi_Value] - end, - spvcLib:ilmi_change(PchKey,2), - SpvcTpToHcId = read_spvcTpToHcId(Key), - Release = spvcEncode:encode_cc_release(31), - spvcManager:release_un(a_side,SpvcTpToHcId#spvcTpToHcId.hcId,Release,Spvc); -active(not_in_service,Spvc,_) -> - debug_disabled, - Key = Spvc#spvcObj.spvcEntry, - Spvc1 = new_state_not_in_service(Spvc), - spvcDataBase:db_write(Spvc1), - PchKey = case Key of - {IfIndex_Value,Vpi_Value,Vci_Value,_} -> - {IfIndex_Value,Vpi_Value,Vci_Value}; - {IfIndex_Value,Vpi_Value,_} -> - {IfIndex_Value,Vpi_Value}; - [IfIndex_Value,Vpi_Value,Vci_Value,_] -> - [IfIndex_Value,Vpi_Value,Vci_Value]; - [IfIndex_Value,Vpi_Value,_] -> - [IfIndex_Value,Vpi_Value] - end, - spvcLib:ilmi_change(PchKey,2), - SpvcTpToHcId = read_spvcTpToHcId(Key), - Release = spvcEncode:encode_cc_release(31), - spvcManager:release_un(a_side,SpvcTpToHcId#spvcTpToHcId.hcId,Release,Spvc1), - case Spvc#spvcObj.spvcFrKey of - undefined -> - ok; - FrEndPoint -> - set_fr_atm_iw_admin_state(FrEndPoint,down,Spvc) - end; -active(release_incumbent,Spvc,[Release]) -> - debug_disabled, - Key = Spvc#spvcObj.spvcEntry, - Spvc1 = new_state_awaiting_switch_over(Spvc), - spvcDataBase:db_write(Spvc1), - SpvcTpToHcId = read_spvcTpToHcId(Key), - spvcManager:release_un(a_side,SpvcTpToHcId#spvcTpToHcId.hcId,Release,Spvc1). - -read_spvcTpToHcId({If,Vpi,Vci,Leaf}) -> - spvcDataBase:db_read({spvcTpToHcId,{orig,If,Vpi,Vci,Leaf}}); -read_spvcTpToHcId({If,Vpi,Leaf}) -> - spvcDataBase:db_read({spvcTpToHcId,{orig,If,Vpi,Leaf}}). - -release_request(release_nu,Spvc,[HcId,Release]) -> - debug_disabled, - clear(Spvc); -release_request(release_comp_nu,Spvc,[HcId,Release_comp]) -> - debug_disabled, - clear(Spvc); -release_request(destroy,Spvc,_) -> - debug_disabled, - case Spvc#spvcObj.spvcEntry of - {If,Vpi,Vci,Leaf} -> - case spvcDataBase:db_read({spvcTpToHcId,{orig,If,Vpi,Vci,Leaf}}) of - SpvcTpToHcId -> - Release = spvcEncode:encode_cc_release(31), - spvcManager:release_un(a_side,SpvcTpToHcId#spvcTpToHcId.hcId,Release,Spvc), - clear(Spvc); - _ -> - ok - end; - {If,Vpi,Leaf} -> - case spvcDataBase:db_read({spvcTpToHcId,{orig,If,Vpi,Leaf}}) of - SpvcTpToHcId -> - Release = spvcEncode:encode_cc_release(31), - spvcManager:release_un(a_side,SpvcTpToHcId#spvcTpToHcId.hcId,Release,Spvc), - clear(Spvc); - _ -> - ok - end - end, - ok; -release_request(not_in_service,Spvc,_) -> - debug_disabled, - ok. - -release_at_restart(release_nu,Spvc,[HcId,Release]) -> - debug_disabled, - {Spvc1,NewHcId,Setup} = new_state_outgoing_call_proceeding(Spvc), - [CcCause|_] = Release#hci_release.hci_cause_list, - Spvc2 = Spvc1#spvcObj{spvcLastReleaseCause = CcCause#hci_cause.hci_cause_value, - spvcLastReleaseDiagnostic = CcCause#hci_cause.hci_diagnostics_list}, - spvcDataBase:db_write(ets,Spvc2), - timer:sleep(500), - setup(NewHcId,Setup,Spvc2); -release_at_restart(release_comp_nu,Spvc,[HcId,Release_complete]) -> - debug_disabled, - {Spvc1,NewHcId,Setup} = new_state_outgoing_call_proceeding(Spvc), - Spvc2 = Spvc1#spvcObj{spvcLastReleaseCause = 31, - spvcLastReleaseDiagnostic = []}, - spvcDataBase:db_write(ets,Spvc2), - timer:sleep(500), - setup(NewHcId,Setup,Spvc1); -release_at_restart(connect_nu,Spvc,_) -> - debug_disabled, - ok; -release_at_restart(destroy,Spvc,_) -> - debug_disabled, - Spvc1 = new_state_release_request(Spvc), - spvcDataBase:db_write(ets,Spvc1); -release_at_restart(restart,Spvc,_) -> - debug_disabled, - Spvc1 = new_state_release_at_restart(Spvc); -release_at_restart(not_in_service,Spvc,_) -> - debug_disabled, - Spvc1 = new_state_not_in_service(Spvc), - spvcDataBase:db_write(Spvc1). - -wait(timeout,Spvc,_) -> - debug_disabled, - {Spvc1,HcId,Setup} = new_state_outgoing_call_proceeding(Spvc), - spvcDataBase:db_write(ets,Spvc1), - setup(HcId,Setup,Spvc1); -wait(destroy,Spvc,_) -> - debug_disabled, - spvcLib:clear_spvcStillTryingAlarm(Spvc#spvcObj.spvcEntry), - clear(Spvc); -wait(restart,Spvc,_) -> - debug_disabled, - {Spvc1,HcId,Setup} = new_state_outgoing_call_proceeding(Spvc#spvcObj{spvcRetryFailures = 0}), - spvcDataBase:db_write(ets,Spvc1), - spvcReestablishTimer:cancel(Spvc#spvcObj.spvcEntry), - spvcLib:clear_spvcStillTryingAlarm(Spvc#spvcObj.spvcEntry), - setup(HcId,Setup,Spvc1); -wait(not_in_service,Spvc,_) -> - debug_disabled, - Spvc1 = new_state_not_in_service(Spvc), - spvcDataBase:db_write(Spvc1), - spvcLib:clear_spvcStillTryingAlarm(Spvc#spvcObj.spvcEntry). - -rest_in_peace(restart,Spvc,_) -> - debug_disabled, - {Spvc1,HcId,Setup} = new_state_outgoing_call_proceeding(Spvc#spvcObj{spvcRetryFailures = 0}), - spvcDataBase:db_write(ets,Spvc1), - setup(HcId,Setup,Spvc1), - sccmManager:cast_to_sccm(spvcLib:get_cp(om_node),spvcLib,clear_spvcFailingAlarm,[spvcLib:get_membership(node())]); -rest_in_peace(destroy,Spvc,_) -> - debug_disabled, - sccmManager:cast_to_sccm(spvcLib:get_cp(om_node),spvcLib,clear_spvcFailingAlarm,[spvcLib:get_membership(node())]), - clear(Spvc); -rest_in_peace(connect_nu,Spvc,_) -> - debug_disabled, - Key = Spvc#spvcObj.spvcEntry, - SpvcTpToHcId = read_spvcTpToHcId(Key), - Release = spvcEncode:encode_cc_release(31), - spvcManager:release_un(b_side,SpvcTpToHcId#spvcTpToHcId.hcId,Release,Spvc); -rest_in_peace(not_in_service,Spvc,_) -> - debug_disabled, - Spvc1 = new_state_not_in_service(Spvc), - spvcDataBase:db_write(Spvc1), - sccmManager:cast_to_sccm(spvcLib:get_cp(om_node),spvcLib,clear_spvcFailingAlarm,[spvcLib:get_membership(node())]). - -not_in_service(activate_enabled,Spvc,_) -> - debug_disabled, - {Spvc1,HcId,Setup} = new_state_outgoing_call_proceeding(Spvc#spvcObj{spvcRetryFailures = 0}), - spvcDataBase:db_write(Spvc1#spvcObj{spvcRowStatus = 1}), - setup(HcId,Setup,Spvc1); -not_in_service(activate_disabled,Spvc,_) -> - debug_disabled, - Spvc1 = new_state_rest_in_peace(Spvc), - spvcDataBase:db_write(Spvc1#spvcObj{spvcRowStatus = 1}); -not_in_service(connect_nu,Spvc,_) -> - debug_disabled, - Spvc1 = new_state_rest_in_peace(Spvc), - spvcDataBase:db_write(Spvc1#spvcObj{spvcRowStatus = 1}), - Key = Spvc#spvcObj.spvcEntry, - SpvcTpToHcId = read_spvcTpToHcId(Key), - Release = spvcEncode:encode_cc_release(31), - spvcManager:release_un(b_side,SpvcTpToHcId#spvcTpToHcId.hcId,Release,Spvc1); -not_in_service(destroy,Spvc,_) -> - debug_disabled, - clear(Spvc). - -awaiting_switch_over(switch_over,Spvc,[HcId]) -> - debug_disabled, - Spvc1 = Spvc#spvcObj{currentState = active}, - Index = Spvc#spvcObj.spvcEntry, - TpIndex = create_tp_index(Index), - spvcDataBase:db_write(Spvc1), - ets:insert(spvcTpToHcId,#spvcTpToHcId{tpEntry = TpIndex, - hcId = HcId}), - ets:insert(spvcHcIdToTp,#spvcHcIdToTp{tpEntry = TpIndex, - hcId = HcId}), - update_dyn_table_hcid(Index,HcId), - ok; -awaiting_switch_over(activate_disabled,Spvc,Attrs) -> - Spvc1 = new_state_rest_in_peace(Spvc), - spvcDataBase:db_write(Spvc1), - ok; -awaiting_switch_over(restart,Spvc,Attrs) -> - debug_disabled, - Key = Spvc#spvcObj.spvcEntry, - Spvc1 = new_state_release_at_restart(Spvc), - spvcDataBase:db_write(ets,Spvc1), - PchKey = case Key of - {IfIndex_Value,Vpi_Value,Vci_Value,_} -> - {IfIndex_Value,Vpi_Value,Vci_Value}; - {IfIndex_Value,Vpi_Value,_} -> - {IfIndex_Value,Vpi_Value}; - [IfIndex_Value,Vpi_Value,Vci_Value,_] -> - [IfIndex_Value,Vpi_Value,Vci_Value]; - [IfIndex_Value,Vpi_Value,_] -> - [IfIndex_Value,Vpi_Value] - end, - spvcLib:ilmi_change(PchKey,2), - case Spvc#spvcObj.spvcFrKey of - undefined -> - ok; - FrEndPoint -> - set_fr_atm_iw_admin_state(FrEndPoint,down,Spvc) - end; -awaiting_switch_over(destroy,Spvc,Attrs) -> - clear(Spvc). - -create_tp_index({If,Vpi,Vci,Leaf}) -> - list_to_tuple([orig,If,Vpi,Vci,Leaf]); -create_tp_index({If,Vpi,Leaf}) -> - list_to_tuple([orig,If,Vpi,Leaf]). - -update_dyn_table_hcid({If,Vpi,Vci,Leaf},HcId) -> - [VcDyn] = ets:lookup(spvcVcDyn,{If,Vpi,Vci}), - ets:insert(spvcVcDyn,VcDyn#spvcVcDyn{vclConnId = HcId}); -update_dyn_table_hcid({If,Vpi,Leaf},HcId) -> - [VpDyn] = ets:lookup(spvcVpDyn,{If,Vpi}), - ets:insert(spvcVpDyn,VpDyn#spvcVpDyn{vplConnId = HcId}). - -new_state_outgoing_call_proceeding(Spvc) -> - debug_disabled, - Spvc1 = Spvc#spvcObj{spvcRowStatus = 1, - currentState = outgoing_callproceeding}, - Key = Spvc1#spvcObj.spvcEntry, - update_state(Spvc,outgoing_callproceeding), - PchKey = case Key of - {IfIndex_Value,Vpi_Value,Vci_Value,_} -> - {IfIndex_Value,Vpi_Value,Vci_Value}; - {IfIndex_Value,Vpi_Value,_} -> - {IfIndex_Value,Vpi_Value}; - [IfIndex_Value,Vpi_Value,Vci_Value,_] -> - [IfIndex_Value,Vpi_Value,Vci_Value]; - [IfIndex_Value,Vpi_Value,_] -> - [IfIndex_Value,Vpi_Value] - end, - {FwdAtdIndex,BwdAtdIndex} = case PchKey of - {_,_,_} -> - Vc = spvcDataBase:db_read({pchVc,PchKey}), - {Vc#pchVc.vclReceiveTrafficDescrIndex,Vc#pchVc.vclTransmitTrafficDescrIndex}; - {_,_} -> - Vp = spvcDataBase:db_read({pchVp,PchKey}), - {Vp#pchVp.vplReceiveTrafficDescrIndex,Vp#pchVp.vplTransmitTrafficDescrIndex} - end, - FwdPchAtd = spvcDataBase:db_read({pchAtd,FwdAtdIndex}), - BwdPchAtd = spvcDataBase:db_read({pchAtd,BwdAtdIndex}), - Row = tuple_to_list(Key), - HcId = spvcLib:create_hcid(Row,case Row of - Row when record(Row,spvcObj) -> - case Row#spvcObj.spvcEntry of - {If_Value,_,_,_} -> - If_Value; - {If_Value,_,_} -> - If_Value - end; - Row when record(Row,spvcVcc) -> - {If_Value,_,_,_} = Row#spvcVcc.spvcVccEntry, - If_Value; - Row when record(Row,spvcVpc) -> - {If_Value,_,_} = Row#spvcVpc.spvcVpcEntry, - If_Value; - Row when record(Row,spvcVpcPerm) -> - {If_Value,_,_} = Row#spvcVpcPerm.spvcVpcEntry, - If_Value; - Row when record(Row,spvcVccPerm) -> - {If_Value,_,_,_} = Row#spvcVccPerm.spvcVccEntry, - If_Value; - Row when record(Row,spvcTargetVc) -> - {If_Value,_,_} = Row#spvcTargetVc.entry, - If_Value; - Row when record(Row,spvcTargetVp) -> - {If_Value,_} = Row#spvcTargetVp.entry, - If_Value; - Row when record(Row,pchVc) -> - {If_Value,_,_} = Row#pchVc.vclEntry, - If_Value; - Row when record(Row,pchVp) -> - {If_Value,_} = Row#pchVp.vplEntry, - If_Value; - Row when record(Row,spvcFr) -> - {If_Value,_} = Row#spvcFr.spvcFrEntry, - If_Value; - Row when record(Row,spvcFrPerm) -> - {If_Value,_} = Row#spvcFrPerm.spvcFrEntry, - If_Value; - {If_Value,_,_,_} -> - If_Value; - {If_Value,_,_} -> - If_Value; - {If_Value,_} -> - If_Value; - [If_Value|_] -> - If_Value; - _ -> - error - end), - Setup = spvcEncode:encode_cc_setup(Row,Spvc1,FwdPchAtd,BwdPchAtd), - debug_disabled, - debug_disabled, - debug_disabled, - {Spvc1,HcId,Setup}. - -new_state_release_request(Spvc) -> - debug_disabled, - update_state(Spvc,release_request), - Spvc#spvcObj{currentState = release_request}. - -new_state_release_at_restart(Spvc) -> - debug_disabled, - Spvc1 = Spvc#spvcObj{spvcRetryFailures = 0, - currentState = release_at_restart}, - update_state(Spvc,release_at_restart), - HcId = spvcEncode:encode_cc_hcid(Spvc1#spvcObj.spvcEntry), - Release = spvcEncode:encode_cc_release(31), - spvcManager:release_un(a_side,HcId,Release,Spvc1), - Spvc1. - -new_state_rest_in_peace_or_wait(Spvc,[HcId,HciMsg]) -> - debug_disabled, - Spvc1 = Spvc#spvcObj{spvcRetryFailures = Spvc#spvcObj.spvcRetryFailures + 1}, - case check_limits(Spvc1) of - {ok,ok,no_retries} -> - send_spvcFailingAlarm(Spvc#spvcObj.spvcEntry), - update_state(Spvc,4), - spvcLib:clear_spvcStillTryingAlarm(Spvc#spvcObj.spvcEntry), - Spvc1#spvcObj{currentState = rest_in_peace}; - {ok,ok,_} -> - Spvc2 = Spvc1#spvcObj{spvcRetryTimer = time(), - currentState = wait}, - update_state(Spvc,wait), - start_timer(wait,Spvc2), - Spvc2; - {retry_threshold,ok,no_retries} -> - Spvc2 = Spvc1#spvcObj{currentState = rest_in_peace}, - update_state(Spvc,4), - send_call_failure(Spvc), - send_spvcFailingAlarm(Spvc#spvcObj.spvcEntry), - spvcLib:clear_spvcStillTryingAlarm(Spvc#spvcObj.spvcEntry), - Spvc2; - {retry_threshold,ok,_} -> - Spvc2 = Spvc1#spvcObj{spvcRetryTimer = time(), - currentState = wait}, - update_state(Spvc,wait), - send_call_failure(Spvc2), - start_timer(wait,Spvc2), - Spvc2; - {ok,retry_limit,_} -> - send_spvcFailingAlarm(Spvc#spvcObj.spvcEntry), - update_state(Spvc,4), - spvcLib:clear_spvcStillTryingAlarm(Spvc#spvcObj.spvcEntry), - Spvc1#spvcObj{currentState = rest_in_peace}; - {retry_threshold,retry_limit,_} -> - Spvc2 = Spvc1#spvcObj{currentState = rest_in_peace}, - update_state(Spvc,4), - send_call_failure(Spvc2), - send_spvcFailingAlarm(Spvc#spvcObj.spvcEntry), - spvcLib:clear_spvcStillTryingAlarm(Spvc#spvcObj.spvcEntry), - Spvc2 - end. - -send_call_failure(Spvc) -> - case Spvc#spvcObj.spvcRetryThreshold of - 0 -> - ok; - _ -> - sccmManager:cast_to_sccm(spvcLib:get_cp(om_node),spvcOrig,call_failure,[Spvc]) - end. - -new_state_rest_in_peace(Spvc) -> - debug_disabled, - update_state(Spvc,4), - Spvc1 = Spvc#spvcObj{spvcRetryFailures = Spvc#spvcObj.spvcRetryFailures + 1}, - send_spvcFailingAlarm(Spvc#spvcObj.spvcEntry), - case check_limits(Spvc1) of - {ok,_,_} -> - Spvc1#spvcObj{currentState = rest_in_peace}; - {retry_threshold,_,_} -> - Spvc2 = Spvc1#spvcObj{currentState = rest_in_peace}, - case Spvc2#spvcObj.spvcRetryThreshold of - 0 -> - ok; - _ -> - sccmManager:cast_to_sccm(spvcLib:get_cp(om_node),spvcOrig,call_failure,[Spvc2]) - end, - Spvc2 - end. - -new_state_active(Spvc) -> - debug_disabled, - update_state(Spvc,3), - Spvc#spvcObj{spvcRetryFailures = 0, - currentState = active}. - -new_state_created(Spvc,SetCols) -> - debug_disabled, - update_state(Spvc,created), - case spvcSNMP:is_all_values(case Spvc#spvcObj.spvcEntry of - {_,_,_,_} -> - spvcVcc; - {_,_,_} -> - spvcVpc; - {_,_} -> - spvcFr; - [_,_,_,_] -> - spvcVcc; - [_,_,_] -> - spvcVpc; - [_,_] -> - spvcFr - end,SetCols) of - true -> - Spvc1 = Spvc#spvcObj{spvcRowStatus = 2, - currentState = created}, - set_attrs(Spvc1,SetCols); - false -> - Spvc1 = Spvc#spvcObj{spvcRowStatus = 3, - currentState = created}, - set_attrs(Spvc1,SetCols) - end. - -new_state_not_in_service(Spvc) -> - debug_disabled, - update_state(Spvc,not_in_service), - Spvc#spvcObj{currentState = not_in_service, - spvcRowStatus = 2}. - -new_state_awaiting_switch_over(Spvc) -> - debug_disabled, - Spvc#spvcObj{currentState = awaiting_switch_over}. - -update_state(Spvc,NewState) -> - State = Spvc#spvcObj.currentState, - SpvcEntry = Spvc#spvcObj.spvcEntry, - debug_disabled, - spvcLib:update_state({State,SpvcEntry},NewState). - -send_spvcFailingAlarm(Key) -> - debug_disabled, - rpc:cast(spvcLib:get_cp(om_node),spvcLib,send_spvcFailingAlarm,[Key]). - -set_call_failure_data_and_send_spvcFailingAlarm({If,Vpi,Leaf}) -> - debug_disabled, - Spvc = spvcDataBase:db_read({spvcObj,{If,Vpi,Leaf}}), - if - Spvc == [] -> - ok; - true -> - spvcLib:update_state({Spvc#spvcObj.currentState,{If,Vpi,Leaf}},4) - end; -set_call_failure_data_and_send_spvcFailingAlarm({If,Vpi,Vci,Leaf}) -> - debug_disabled, - Spvc = spvcDataBase:db_read({spvcObj,{If,Vpi,Vci,Leaf}}), - if - Spvc == [] -> - ok; - true -> - spvcLib:update_state({Spvc#spvcObj.currentState,{If,Vpi,Vci,Leaf}},4) - end. - -set_attrs(Spvc,SetCols) -> - case Spvc#spvcObj.spvcEntry of - {_,_,_,_} -> - set_attrs_spvcc(Spvc,SetCols); - {_,_,_} -> - set_attrs_spvpc(Spvc,SetCols) - end. - -set_attrs_spvcc(Spvc,[{2,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcTargetAddress = Value}, - set_attrs_spvcc(Spvc1,T); -set_attrs_spvcc(Spvc,[{3,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcTargetSelectType = Value}, - set_attrs_spvcc(Spvc1,T); -set_attrs_spvcc(Spvc,[{18,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcTargetVpi = Value}, - set_attrs_spvcc(Spvc1,T); -set_attrs_spvcc(Spvc,[{4,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcTargetVpi = Value}, - set_attrs_spvcc(Spvc1,T); -set_attrs_spvcc(Spvc,[{5,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcTargetVci = Value}, - set_attrs_spvcc(Spvc1,T); -set_attrs_spvcc(Spvc,[{6,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcLastReleaseCause = Value}, - set_attrs_spvcc(Spvc1,T); -set_attrs_spvcc(Spvc,[{7,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcLastReleaseDiagnostic = Value}, - set_attrs_spvcc(Spvc1,T); -set_attrs_spvcc(Spvc,[{10,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcRetryInterval = Value}, - set_attrs_spvcc(Spvc1,T); -set_attrs_spvcc(Spvc,[{11,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcRetryTimer = Value}, - set_attrs_spvcc(Spvc1,T); -set_attrs_spvcc(Spvc,[{12,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcRetryThreshold = Value}, - set_attrs_spvcc(Spvc1,T); -set_attrs_spvcc(Spvc,[{13,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcRetryFailures = Value}, - set_attrs_spvcc(Spvc1,T); -set_attrs_spvcc(Spvc,[{14,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcRetryLimit = Value}, - set_attrs_spvcc(Spvc1,T); -set_attrs_spvcc(Spvc,[{16,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcTargetDlci = Value}, - set_attrs_spvcc(Spvc1,T); -set_attrs_spvcc(Spvc,[{17,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcTargetType = Value}, - set_attrs_spvcc(Spvc1,T); -set_attrs_spvcc(Spvc,[_|T]) -> - set_attrs_spvcc(Spvc,T); -set_attrs_spvcc(Spvc,[]) -> - debug_disabled, - Spvc. - -set_attrs_spvpc(Spvc,[{2,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcTargetAddress = Value}, - set_attrs_spvpc(Spvc1,T); -set_attrs_spvpc(Spvc,[{3,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcTargetSelectType = Value}, - set_attrs_spvpc(Spvc1,T); -set_attrs_spvpc(Spvc,[{15,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcTargetVpi = Value}, - set_attrs_spvpc(Spvc1,T); -set_attrs_spvpc(Spvc,[{4,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcTargetVpi = Value}, - set_attrs_spvpc(Spvc1,T); -set_attrs_spvpc(Spvc,[{5,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcLastReleaseCause = Value}, - set_attrs_spvpc(Spvc1,T); -set_attrs_spvpc(Spvc,[{6,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcLastReleaseDiagnostic = Value}, - set_attrs_spvpc(Spvc1,T); -set_attrs_spvpc(Spvc,[{9,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcRetryInterval = Value}, - set_attrs_spvpc(Spvc1,T); -set_attrs_spvpc(Spvc,[{10,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcRetryTimer = Value}, - set_attrs_spvpc(Spvc1,T); -set_attrs_spvpc(Spvc,[{11,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcRetryThreshold = Value}, - set_attrs_spvpc(Spvc1,T); -set_attrs_spvpc(Spvc,[{12,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcRetryFailures = Value}, - set_attrs_spvpc(Spvc1,T); -set_attrs_spvpc(Spvc,[{13,Value}|T]) -> - Spvc1 = Spvc#spvcObj{spvcRetryLimit = Value}, - set_attrs_spvpc(Spvc1,T); -set_attrs_spvpc(Spvc,[_|T]) -> - set_attrs_spvpc(Spvc,T); -set_attrs_spvpc(Spvc,[]) -> - Spvc. - -call_failure(Spvc) -> - debug_disabled, - Key = case Spvc#spvcObj.spvcFrKey of - undefined -> - spvcLib:update_counter(callFailures,1,spvcLib:get_membership(node())), - atm_spvc; - _ -> - spvcLib:update_counter(callFrFailures,1,spvcLib:get_membership(node())), - fr_spvc - end, - Obj = spvcDataBase:db_read({spvcFailures,Key}), - case Obj#spvcFailures.spvcCallFailuresTrapEnable of - 1 -> - EventIndObj = spvcDataBase:db_read({spvcEventIndicator,Key}), - case EventIndObj#spvcEventIndicator.spvcTimerInd of - 1 -> - spvcDataBase:db_write(EventIndObj#spvcEventIndicator{spvcSendEventInd = 1}), - NI = Obj#spvcFailures.spvcNotificationInterval, - sysTimer:apply_after(1000 * NI,spvcOrig,timeout_event,[EventIndObj]); - _ -> - spvcManager:send_event(Key), - NI = Obj#spvcFailures.spvcNotificationInterval, - sysTimer:apply_after(1000 * NI,spvcManager,timeout,[Key]), - spvcDataBase:db_write(EventIndObj#spvcEventIndicator{spvcTimerInd = 1, - spvcSendEventInd = 2}) - end; - _ -> - ok - end. - -timeout_event(EventIndObj) -> - spvcDataBase:db_write(EventIndObj#spvcEventIndicator{spvcTimerInd = 2}). - -check_limits(Spvc) -> - debug_disabled, - T = Spvc#spvcObj.spvcRetryThreshold, - L = Spvc#spvcObj.spvcRetryLimit, - F = Spvc#spvcObj.spvcRetryFailures, - I = Spvc#spvcObj.spvcRetryInterval, - {check_threshold(F,T),check_limit(F,L),check_interval(I)}. - -check_threshold(Failures,Threshold) when Failures == Threshold -> - debug_disabled, - retry_threshold; -check_threshold(Failures,Threshold) -> - debug_disabled, - ok. - -check_limit(Failures,0) -> - debug_disabled, - ok; -check_limit(Failures,Limit) when Failures < Limit -> - debug_disabled, - ok; -check_limit(Failures,Limit) -> - debug_disabled, - retry_limit. - -check_interval(0) -> - no_retries; -check_interval(I) -> - I. - -start_timer(wait,Spvc) -> - debug_disabled, - Key = Spvc#spvcObj.spvcEntry, - Id = spvcReestablishTimer:apply_after(backoff_delay(Key),spvcServer,cast_to_spvc,[node(),spvcOrig,timeout,[wait,Key]]). - -timeout(wait,Key) -> - debug_disabled, - case spvcDataBase:db_read({spvcObj,Key}) of - [] -> - debug_disabled, - ok; - Spvc -> - case Spvc#spvcObj.currentState of - wait -> - IfIndex = element(1,Key), - case spvcOam:is_reassign_et_in_progress(IfIndex) of - true -> - ok; - _ -> - orig_state_machine(wait,timeout,Spvc,[]) - end; - _ -> - ok - end - end; -timeout(X,Y) -> - debug_disabled, - ok. - -clear(Spvc) -> - debug_disabled, - Key = Spvc#spvcObj.spvcEntry, - PchKey = case Key of - {IfIndex_Value,Vpi_Value,Vci_Value,_} -> - {IfIndex_Value,Vpi_Value,Vci_Value}; - {IfIndex_Value,Vpi_Value,_} -> - {IfIndex_Value,Vpi_Value}; - [IfIndex_Value,Vpi_Value,Vci_Value,_] -> - [IfIndex_Value,Vpi_Value,Vci_Value]; - [IfIndex_Value,Vpi_Value,_] -> - [IfIndex_Value,Vpi_Value] - end, - spvcEndPoint:free_tp_spvc(PchKey), - spvcDataBase:db_delete({spvcObj,Key}), - update_state(Spvc,clear), - OrigKey = list_to_tuple([orig] ++ tuple_to_list(Key)), - case Spvc#spvcObj.currentState of - created -> - ok; - _ -> - case spvcDataBase:db_read({spvcTpToHcId,OrigKey}) of - [] -> - ok; - #spvcTpToHcId{hcId = HcId} -> - spvcDataBase:db_delete({spvcHcIdToTp,HcId}) - end, - ets:delete(spvcTpToHcId,OrigKey), - spvcReestablishTimer:cancel(Key), - ets:delete(spvcBackoff,Spvc#spvcObj.spvcEntry) - end, - case Spvc#spvcObj.spvcFrKey of - undefined -> - sccmManager:cast_to_sccm(spvcLib:get_cp(om_node),spvcEndPoint,remove_tp,[tuple_to_list(PchKey)]); - FrKey -> - spvcFr:clean_up(FrKey) - end, - case {Spvc#spvcObj.spvcRerCap,Spvc#spvcObj.spvcEntry} of - {false,_} -> - ok; - {true,Entry} when size(Entry) == 3 -> - spvcDataBase:db_delete({spvcRerVp,Entry}); - {true,Entry} when size(Entry) == 4 -> - spvcDataBase:db_delete({spvcRerVc,Entry}) - end. - -get_link_state(If) when integer(If) -> - debug_disabled, - cnhChi:get_link_opstate(If); -get_link_state(Other) -> - debug_disabled, - disabled. - -get_link_state_intf(If,Msg) when integer(If) -> - debug_disabled, - case cnhChi:get_link_opstate(If) of - enabled -> - enabled; - _ -> - Om_Node = spvcLib:get_cp(om_node), - case rpc:call(Om_Node,intfI,get_link_op_state,[If]) of - {ok,enabled} -> - enabled; - Result -> - disabled - end - end; -get_link_state_intf(Other,Msg) -> - debug_disabled, - disabled. - -setup(HcId,Setup,Spvc) -> - case spvcDataBase:db_read({spvcObj,Spvc#spvcObj.spvcEntry}) of - [] -> - ok; - Spvc1 -> - case Spvc#spvcObj.currentState == Spvc1#spvcObj.currentState of - true -> - spvcLib:increase_counter(spvcSaEtStat,Spvc), - case Spvc#spvcObj.spvcFrKey of - undefined -> - do_setup(HcId,Setup,Spvc#spvcObj.spvcRerCap); - FrKey -> - do_setup(HcId,Setup,FrKey) - end; - _ -> - ok - end - end. - -do_setup(HcId,Setup,Type) when Type == undefined; Type == false -> - debug_disabled, - ReturnData = {0,HcId}, - L3Data = {0,[HcId,Setup]}, - mdisp:msg(node(),{plcOperator,1,infinity},{HcId,{spvcI,ReturnData}},{ccI,l3_msg,[HcId,spvcI,L3Data]}); -do_setup(HcId,Setup,true) -> - debug_disabled, - ReturnData = {0,HcId}, - L3Data = {0,[HcId,Setup]}, - mdisp:msg(node(),{plcOperator,1,infinity},{HcId,{spvcRerI,ReturnData}},{ccI,l3_msg,[HcId,spvcRerI,L3Data]}); -do_setup(HcId,Setup,FrKey) -> - debug_disabled, - ReturnData = {0,HcId}, - L3Data = {0,[HcId,Setup]}, - mdisp:msg(node(),{plcOperator,1,infinity},{HcId,{spvcFrI,ReturnData}},{ccI,l3_msg,[HcId,spvcFrI,L3Data]}). - -backoff_delay(Key) -> - debug_disabled, - Obj = spvcDataBase:db_read({spvcObj,Key}), - Var = spvcDataBase:db_read({spvcFailures,atm_spvc}), - {Delay,Flag} = case Obj#spvcObj.spvcRetryFailures of - 0 -> - {100,no_alarm}; - 1 -> - {Obj#spvcObj.spvcRetryInterval,no_alarm}; - _ -> - Table = get_backoff_table(Key,Obj), - Max_Delay = Var#spvcFailures.max_delay, - case Var#spvcFailures.delay_factor * Table#spvcBackoff.delay_time of - DelayValue when DelayValue < Max_Delay -> - {DelayValue,no_alarm}; - _ -> - Org_Retry_Interval = Obj#spvcObj.spvcRetryInterval, - if - Org_Retry_Interval < Max_Delay -> - spvcLib:send_spvcStillTryingAlarm(Key,Table#spvcBackoff.flag), - {Max_Delay,alarm}; - true -> - spvcLib:send_spvcStillTryingAlarm(Key,Table#spvcBackoff.flag), - {Org_Retry_Interval,alarm} - end - end - end, - ets:insert(spvcBackoff,#spvcBackoff{key = Key, - delay_time = Delay, - flag = Flag}), - round(Delay). - -get_backoff_table(Index,Spvc) -> - case ets:lookup(spvcBackoff,Index) of - [Obj] -> - Obj; - _ -> - #spvcBackoff{key = Spvc#spvcObj.spvcEntry, - delay_time = Spvc#spvcObj.spvcRetryInterval, - flag = no_alarm} - end. - -set_fr_atm_iw_admin_state(FrEndPoint,up,Spvc) -> - ok; -set_fr_atm_iw_admin_state(FrEndPoint,NewStatus,Spvc) -> - ok. - -forced_release(FrEndPoint) -> - FrPerm = spvcDataBase:db_read({spvcFr,FrEndPoint}), - case FrPerm of - [] -> - {error,no_fr_spvc}; - _ -> - Key = FrPerm#spvcFr.spvcFrAtmEntry, - Spvc = spvcDataBase:db_read({spvcObj,Key}), - SpvcFrObj = spvcDataBase:db_read({spvcFrPerm,FrEndPoint}), - case SpvcFrObj#spvcFrPerm.spvcFrConnect of - 3 -> - SpvcTpToHcId = read_spvcTpToHcId(Key), - Release = spvcEncode:encode_cc_release(31), - spvcManager:release_un(b_side,SpvcTpToHcId#spvcTpToHcId.hcId,Release,Spvc); - _ -> - {error,target_not_owned_by_this_connection} - end - end. - - - |