aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/test/user_tests_SUITE_data/src/spvcOrig.erl
diff options
context:
space:
mode:
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.erl3523
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.
-
-
-