587 lines
20 KiB
Plaintext
587 lines
20 KiB
Plaintext
-- *****************************************************************
|
|
-- TN-ELPS-MIB.my : TN Ethernet Linear Protection Switch MIB
|
|
--
|
|
-- Author : Angela Xing
|
|
-- update by Tony Lei
|
|
-- Copyright (c) 2009 by Transition Networks, Inc.
|
|
-- All rights reserved.
|
|
--
|
|
-- *************************************************************************************************
|
|
--
|
|
|
|
TN-ELPS-MIB DEFINITIONS ::= BEGIN
|
|
|
|
IMPORTS
|
|
MODULE-IDENTITY,
|
|
NOTIFICATION-TYPE,
|
|
OBJECT-TYPE,
|
|
Unsigned32,
|
|
Gauge32
|
|
FROM SNMPv2-SMI
|
|
MODULE-COMPLIANCE,
|
|
OBJECT-GROUP,
|
|
NOTIFICATION-GROUP
|
|
FROM SNMPv2-CONF
|
|
RowStatus,TruthValue,
|
|
MacAddress
|
|
FROM SNMPv2-TC -- [RFC2579]
|
|
InterfaceIndex
|
|
FROM IF-MIB
|
|
Dot1agCfmMepId
|
|
FROM IEEE8021-CFM-MIB
|
|
tnProducts
|
|
FROM TRANSITION-SMI
|
|
tnProtectionMIB
|
|
FROM TN-PROTECTION-MIB;
|
|
|
|
--
|
|
-- main body
|
|
--
|
|
tnElpsMib OBJECT IDENTIFIER ::= { tnProtectionMIB 2 }
|
|
|
|
tnElpsMibNotifications OBJECT IDENTIFIER ::= { tnElpsMib 0 }
|
|
tnElpsMibObjects OBJECT IDENTIFIER ::= { tnElpsMib 1 }
|
|
tnElpsMibConformance OBJECT IDENTIFIER ::= { tnElpsMib 2 }
|
|
--
|
|
-- sub Objects list
|
|
--
|
|
tnElpsCfgMgmt OBJECT IDENTIFIER ::= { tnElpsMibObjects 1 }
|
|
tnElpsStateMgmt OBJECT IDENTIFIER ::= { tnElpsMibObjects 2 }
|
|
tnElpsLinkOverMgmt OBJECT IDENTIFIER ::= { tnElpsMibObjects 3 }
|
|
|
|
-- Textual Conventions
|
|
TnElpsProtSwitchState ::= TEXTUAL-CONVENTION
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Indicates ELPS protection switch state."
|
|
SYNTAX INTEGER {
|
|
disabled (1),
|
|
noRequestW (2),
|
|
noRequestP (3),
|
|
lockout (4),
|
|
forcedSwitch (5),
|
|
signalFailW (6),
|
|
signalFailP (7),
|
|
manualSwitchW (8),
|
|
manualSwitchP (9),
|
|
waitToRestore (10),
|
|
exerciseW (11),
|
|
exerciseP (12),
|
|
reverseRequestW (13),
|
|
reverseRequestP (14),
|
|
doNotRevert (15)
|
|
}
|
|
|
|
TnElpsDefectState ::= TEXTUAL-CONVENTION
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Indicates ELPS working/protecting state."
|
|
SYNTAX INTEGER {
|
|
signalOk (1),
|
|
signalFail (2),
|
|
signalDegrade (3)
|
|
}
|
|
|
|
TnElpsRequestType ::= TEXTUAL-CONVENTION
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Indicates ELPS received/transmitted APS request type."
|
|
SYNTAX INTEGER {
|
|
noRequest (1),
|
|
doNotRevert (2),
|
|
reverseRequest (3),
|
|
exercise (4),
|
|
wait2Restore (5),
|
|
manualSwitch (6),
|
|
signalDegrade (7),
|
|
signalFailForWorking (8),
|
|
forcedWwitch (9),
|
|
signalFailForProtection (10),
|
|
lockoutOfProtection (11)
|
|
}
|
|
|
|
-- ******************************************************************
|
|
-- NOTIFICATIONS (TRAPS)
|
|
-- These notifications will be sent to the management entity
|
|
-- whenever a MEP loses/restores contact with one or more other MEPs.
|
|
-- ******************************************************************
|
|
|
|
tnElpsAlarmUp NOTIFICATION-TYPE
|
|
OBJECTS { tnElpsProtectionState,
|
|
tnElpsWFlowState,
|
|
tnElpsPFlowState,
|
|
tnElpsArchitectureMismatch,
|
|
tnElpsAPSOnWorking,
|
|
tnElpsSwitchingIncomplete
|
|
}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A Elps has a persistent defect condition. A notification
|
|
(fault alarm) is sent to the management entity with the OID
|
|
of the Elps that has detected the fault.
|
|
|
|
The management entity receiving the notification can identify
|
|
the system from the network source address of the
|
|
notification, and can identify the ELPS reporting the defect
|
|
by the indices in the OID of the variables in the notification:
|
|
|
|
tnElpsInstance - Also the index of the EPLS state table entry
|
|
(tnElpsStateTable).
|
|
"
|
|
::= { tnElpsMibNotifications 1 }
|
|
|
|
tnElpsAlarmDown NOTIFICATION-TYPE
|
|
OBJECTS { tnElpsProtectionState,
|
|
tnElpsWFlowState,
|
|
tnElpsPFlowState,
|
|
tnElpsArchitectureMismatch,
|
|
tnElpsAPSOnWorking,
|
|
tnElpsSwitchingIncomplete
|
|
}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A Elps has a persistent defect condition. A notification
|
|
(fault alarm) is sent to the management entity with the OID
|
|
of the Elps that has detected the fault.
|
|
|
|
The management entity receiving the notification can identify
|
|
the system from the network source address of the
|
|
notification, and can identify the ELPS reporting the defect
|
|
by the indices in the OID of the variables in the notification:
|
|
|
|
tnElpsInstance - Also the index of the EPLS state table entry
|
|
(tnElpsStateTable).
|
|
"
|
|
::= { tnElpsMibNotifications 2 }
|
|
|
|
|
|
-- ******************************************************************
|
|
-- TN Elps Cfg Table
|
|
-- ******************************************************************
|
|
tnElpsCfgTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF TnElpsCfgEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table provides configuration of ELPS."
|
|
::= { tnElpsCfgMgmt 1 }
|
|
|
|
tnElpsCfgEntry OBJECT-TYPE
|
|
SYNTAX TnElpsCfgEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A entry in the table represents a configuration for ELPS."
|
|
INDEX { tnElpsInstance }
|
|
::= { tnElpsCfgTable 1 }
|
|
|
|
TnElpsCfgEntry ::=
|
|
SEQUENCE{
|
|
tnElpsInstance Unsigned32,
|
|
tnElpsDomain INTEGER,
|
|
tnElpsArchitecture INTEGER,
|
|
tnElpsWFlowPortId InterfaceIndex,
|
|
tnElpsPFlowPortId InterfaceIndex,
|
|
tnElpsWSfMepId Dot1agCfmMepId,
|
|
tnElpsPSfMepId Dot1agCfmMepId,
|
|
tnElpsApsMepId Dot1agCfmMepId,
|
|
tnElpsConfigured TruthValue,
|
|
tnElpsDirection INTEGER,
|
|
tnElpsApsEnable TruthValue,
|
|
tnElpsRevertiveEnable TruthValue,
|
|
tnElpsWTRTime INTEGER,
|
|
tnElpsHoldOffTime INTEGER,
|
|
tnElpsCmd INTEGER,
|
|
tnElpsStatus RowStatus
|
|
}
|
|
|
|
tnElpsInstance OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The ID of the ELPS."
|
|
::= { tnElpsCfgEntry 1 }
|
|
|
|
tnElpsDomain OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
port (1)
|
|
}
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Port: This will create a ELPS in the Port Domain. 'W/P Flow' is a Port."
|
|
::= { tnElpsCfgEntry 2}
|
|
|
|
tnElpsArchitecture OBJECT-TYPE
|
|
SYNTAX INTEGER{
|
|
onePlusOne (1),
|
|
oneForOne (2)
|
|
}
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Port: This will create a 1+1 ELPS.
|
|
Port: This will create a 1:1 ELPS."
|
|
::= { tnElpsCfgEntry 3}
|
|
|
|
tnElpsWFlowPortId OBJECT-TYPE
|
|
SYNTAX InterfaceIndex
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The working flow for the ELPS - See 'Domain' above."
|
|
::= { tnElpsCfgEntry 4}
|
|
|
|
tnElpsPFlowPortId OBJECT-TYPE
|
|
SYNTAX InterfaceIndex
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The protecting flow for the ELPS - See 'Domain' above."
|
|
::= { tnElpsCfgEntry 5}
|
|
|
|
tnElpsWSfMepId OBJECT-TYPE
|
|
SYNTAX Dot1agCfmMepId
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The working Signal Fail reporting MEP."
|
|
::= { tnElpsCfgEntry 6}
|
|
|
|
tnElpsPSfMepId OBJECT-TYPE
|
|
SYNTAX Dot1agCfmMepId
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The protecting Signal Fail reporting MEP."
|
|
::= { tnElpsCfgEntry 7}
|
|
|
|
tnElpsApsMepId OBJECT-TYPE
|
|
SYNTAX Dot1agCfmMepId
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The APS PDU handling MEP."
|
|
::= { tnElpsCfgEntry 8}
|
|
|
|
tnElpsConfigured OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"False: This ELPS is only created and has not yet been configured - is not active.
|
|
True: This ELPS is configured - is active."
|
|
::= { tnElpsCfgEntry 9 }
|
|
|
|
tnElpsDirection OBJECT-TYPE
|
|
SYNTAX INTEGER{
|
|
unidirectional (1),
|
|
bidirectional (2)
|
|
}
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Unidirectional: ELPS in the two ends can select traffic from different
|
|
working/protecting flow. This is only possible in case
|
|
of 1+1.
|
|
Bidirectional: ELPS in the two ends is selecting traffic from the same
|
|
working/protecting flow. This requires APS enabled.
|
|
This is mandatory for 1:1."
|
|
::= { tnElpsCfgEntry 10 }
|
|
|
|
tnElpsApsEnable OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The Automatic Protection Switching protocol can be enabled/disabled. This is mandatory for 1:1.
|
|
"
|
|
::= { tnElpsCfgEntry 11 }
|
|
|
|
tnElpsRevertiveEnable OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The revertive switching to working flow can be enabled/disabled.
|
|
"
|
|
::= { tnElpsCfgEntry 12 }
|
|
|
|
tnElpsWTRTime OBJECT-TYPE
|
|
SYNTAX INTEGER{
|
|
disabled (0),
|
|
t10sec (1),
|
|
t30sec (2),
|
|
t5min (3),
|
|
t6min (4),
|
|
t7min (5),
|
|
t8min (6),
|
|
t9min (7),
|
|
t10min (8),
|
|
t11min (9),
|
|
t12min (10)
|
|
}
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The Wait To Restore timing value to be used in revertive switching.
|
|
"
|
|
::= { tnElpsCfgEntry 13 }
|
|
|
|
tnElpsHoldOffTime OBJECT-TYPE
|
|
SYNTAX INTEGER{
|
|
disabled (0),
|
|
t100ms (1),
|
|
t200ms (2),
|
|
t300ms (3),
|
|
t400ms (4),
|
|
t500ms (5),
|
|
t600ms (6),
|
|
t700ms (7),
|
|
t800ms (8),
|
|
t900ms (9),
|
|
t1s (10),
|
|
t2s (11),
|
|
t3s (12),
|
|
t4s (13),
|
|
t5s (14),
|
|
t6s (15),
|
|
t7s (16),
|
|
t8s (17),
|
|
t9s (18),
|
|
t10s (19)
|
|
}
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The timing value to be used to make persistent check on Signal Fail before switching.
|
|
"
|
|
::= { tnElpsCfgEntry 14 }
|
|
|
|
tnElpsCmd OBJECT-TYPE
|
|
SYNTAX INTEGER{
|
|
none (0),
|
|
clear (1),
|
|
lockOut (2),
|
|
forcedSwitch (3),
|
|
manualSwitchP (4),
|
|
manualSwitchW (5),
|
|
exercise (6),
|
|
freeze (7),
|
|
lockOutLocal (8)
|
|
}
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"None: There is no active local command on this instance.
|
|
Clear: The active local command will be cleared.
|
|
Lock Out: This ELPS is locked to working (not active). In case of 1:N (more than one ELPS with same protecting flow) -
|
|
when one ELPS switch to protecting flow, other ELPS is enforced this command
|
|
Forced Switch: Forced switch to protecting.
|
|
Manual Switch P: Manual switch to protecting.
|
|
Manual Switch W: Manual switch to working - this is only possible in 1:1 non-revertive.
|
|
Exercise: Exercise of the protocol - not traffic effecting.
|
|
Freeze: This ELPS is locally freezed - ignoring all input.
|
|
Lock Out Local: This ELPS is locally 'locked out' - ignoring local SF detected on working."
|
|
::= { tnElpsCfgEntry 15 }
|
|
|
|
tnElpsStatus OBJECT-TYPE
|
|
SYNTAX RowStatus
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The status of the row.
|
|
The writable columns in a row can not be changed if the row
|
|
is active. All columns must have a valid value before a row
|
|
can be activated."
|
|
::= { tnElpsCfgEntry 16 }
|
|
-- ******************************************************************
|
|
-- TN Elps state table
|
|
-- ******************************************************************
|
|
tnElpsStateTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF TnElpsStateEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table provides configuration about ELPS state"
|
|
::= { tnElpsStateMgmt 1 }
|
|
|
|
tnElpsStateEntry OBJECT-TYPE
|
|
SYNTAX TnElpsStateEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This entry represents configuration about ELPS state"
|
|
INDEX { tnElpsInstance }
|
|
::= { tnElpsStateTable 1 }
|
|
|
|
TnElpsStateEntry ::= SEQUENCE{
|
|
tnElpsProtectionState TnElpsProtSwitchState,
|
|
tnElpsWFlowState TnElpsDefectState,
|
|
tnElpsPFlowState TnElpsDefectState,
|
|
tnElpsTransmitRequestType TnElpsRequestType,
|
|
tnElpsTransmitRequestedSignal Unsigned32,
|
|
tnElpsTransmitBridgedSignal Unsigned32,
|
|
tnElpsReceiveRequestType TnElpsRequestType,
|
|
tnElpsReceiveRequestedSignal Unsigned32,
|
|
tnElpsReceiveBridgedSignal Unsigned32,
|
|
tnElpsArchitectureMismatch TruthValue,
|
|
tnElpsAPSOnWorking TruthValue,
|
|
tnElpsSwitchingIncomplete TruthValue,
|
|
tnElpsNoApsReceived TruthValue
|
|
}
|
|
|
|
tnElpsProtectionState OBJECT-TYPE
|
|
SYNTAX TnElpsProtSwitchState
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"ELPS Protection state"
|
|
::= { tnElpsStateEntry 1}
|
|
|
|
tnElpsWFlowState OBJECT-TYPE
|
|
SYNTAX TnElpsDefectState
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"signalOk: State of working flow is ok
|
|
signalFail: State of working flow is Signal Fail
|
|
signalDegrade: State of working flow is Signal Degrade (for future use)"
|
|
::= { tnElpsStateEntry 2}
|
|
|
|
tnElpsPFlowState OBJECT-TYPE
|
|
SYNTAX TnElpsDefectState
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"signalOk: State of protecting flow is ok
|
|
signalFail: State of protecting flow is Signal Fail
|
|
signalDegrade: State of protecting flow is Signal Degrade (for future use)"
|
|
::= { tnElpsStateEntry 3}
|
|
|
|
tnElpsTransmitRequestType OBJECT-TYPE
|
|
SYNTAX TnElpsRequestType
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The transmitted request type."
|
|
::= { tnElpsStateEntry 4}
|
|
|
|
tnElpsTransmitRequestedSignal OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The transmitted request signal."
|
|
::= { tnElpsStateEntry 5}
|
|
|
|
tnElpsTransmitBridgedSignal OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The transmitted bridged signal."
|
|
::= { tnElpsStateEntry 6}
|
|
|
|
tnElpsReceiveRequestType OBJECT-TYPE
|
|
SYNTAX TnElpsRequestType
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The requested type that is received from APS."
|
|
::= { tnElpsStateEntry 7}
|
|
|
|
tnElpsReceiveRequestedSignal OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The requested signal received from APS."
|
|
::= { tnElpsStateEntry 8}
|
|
|
|
tnElpsReceiveBridgedSignal OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The bridged signal received from APS ."
|
|
::= { tnElpsStateEntry 9}
|
|
|
|
tnElpsArchitectureMismatch OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The architecture indicated in the received APS does not match the locally configured."
|
|
::= { tnElpsStateEntry 10}
|
|
|
|
tnElpsAPSOnWorking OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"APS is received on the working flow."
|
|
::= { tnElpsStateEntry 11}
|
|
|
|
tnElpsSwitchingIncomplete OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Traffic is not selected from the same flow instance in the two ends."
|
|
::= { tnElpsStateEntry 12}
|
|
|
|
tnElpsNoApsReceived OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"APS PDU is not received from the other end."
|
|
::= { tnElpsStateEntry 13}
|
|
|
|
-- ******************************************************************
|
|
-- TN Elps LinkOver table
|
|
-- ******************************************************************
|
|
tnElpsLinkOverTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF TnElpsLinkOverEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table provides configuration about ELPS Link Over based on the SOAM DM"
|
|
::= { tnElpsLinkOverMgmt 1 }
|
|
|
|
tnElpsLinkOverEntry OBJECT-TYPE
|
|
SYNTAX TnElpsLinkOverEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This entry represents configuration about ELPS Link Over"
|
|
INDEX { tnElpsInstance }
|
|
::= { tnElpsLinkOverTable 1 }
|
|
|
|
TnElpsLinkOverEntry ::= SEQUENCE{
|
|
tnElpsLinkOverEnabled TruthValue,
|
|
tnElpsLinkOverDeltaValue Unsigned32
|
|
}
|
|
|
|
tnElpsLinkOverEnabled OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The feature about the DM LinkOver can be enabled and disabeld.
|
|
False: This feature is disabled.
|
|
True: This ELPS is enabled."
|
|
::= { tnElpsLinkOverEntry 1 }
|
|
|
|
tnElpsLinkOverDeltaValue OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The Delta value is ranged from 6 to 120. If the value that is on one link subtract the other one is
|
|
larger than the delta value, the data flow will be swithed to the link that own the better DM value."
|
|
::= { tnElpsLinkOverEntry 2 }
|
|
END
|