2131 lines
84 KiB
Plaintext
2131 lines
84 KiB
Plaintext
-- Copyright (C) 2009-2016 Aricent. All Rights Reserved
|
|
|
|
-- $Id: fselps.mib,v 1.15 2016/03/24 10:16:12 siva Exp $
|
|
-- ELPS Proprietary MIB Definition
|
|
|
|
-- This file explains the proprietary MIB implemented
|
|
-- for ELPS (Enhanced Linear Protection Switching) feature.
|
|
-- This MIB provides management support for the Linear protection switching functionality described in:
|
|
-- ITU-T specification : G.8031 / Y.1342 (Ethernet Linear Protection Switching)
|
|
-- IETF draft : draft-ietf-mpls-tp-linear-protection-06 (MPLS-TP Linear protection)
|
|
|
|
ARICENT-ELPS-MIB DEFINITIONS ::= BEGIN
|
|
|
|
IMPORTS
|
|
|
|
OBJECT-TYPE, MODULE-IDENTITY, enterprises, Unsigned32, Counter32,
|
|
NOTIFICATION-TYPE
|
|
FROM SNMPv2-SMI
|
|
RowStatus, RowPointer, TruthValue, DisplayString, TEXTUAL-CONVENTION
|
|
FROM SNMPv2-TC
|
|
Dot1agCfmMepId
|
|
FROM IEEE8021-CFM-MIB
|
|
InterfaceIndex, InterfaceIndexOrZero
|
|
FROM IF-MIB;
|
|
|
|
fselps MODULE-IDENTITY
|
|
LAST-UPDATED "201209050000Z"
|
|
ORGANIZATION "ARICENT COMMUNICATIONS SOFTWARE"
|
|
CONTACT-INFO "support@aricent.com"
|
|
DESCRIPTION
|
|
"This MIB is a proprietary MIB for ELPS to provide Enhanced
|
|
linear protection switching as per ITU-T G.8031/Y.1342 for vlan
|
|
services and draft-ietf-mpls-tp-linear-protection-02 for
|
|
MPLS LSP and Pseudowires."
|
|
REVISION "201209050000Z"
|
|
DESCRIPTION
|
|
"This MIB is a proprietary MIB for ELPS to provide Enhanced
|
|
linear protection switching as per ITU-T G.8031/Y.1342 for vlan
|
|
services and draft-ietf-mpls-tp-linear-protection-02 for
|
|
MPLS LSP and Pseudowires."
|
|
|
|
::= { enterprises aricent-communication-holding-ltd(29601) iss(2) 25 }
|
|
|
|
-- *****************************************************************************
|
|
-- subtrees in the ELPS MIB
|
|
-- *****************************************************************************
|
|
fsElpsSystem OBJECT IDENTIFIER ::= { fselps 1 }
|
|
fsElpsContext OBJECT IDENTIFIER ::= { fselps 2 }
|
|
fsElpsPg OBJECT IDENTIFIER ::= { fselps 3 }
|
|
fsElpsPgNotifications OBJECT IDENTIFIER ::= { fselps 4 }
|
|
fsElpsScalars OBJECT IDENTIFIER ::= { fselps 5 }
|
|
|
|
-- *****************************************************************************
|
|
-- start of ELPS Scalars
|
|
-- *****************************************************************************
|
|
|
|
fsElpsStatsOneIsToOneApsPktTxCount OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to record the total number of APS/PSC packets attempted to
|
|
be transmitted out for 1:1 protection type architecture."
|
|
::= { fsElpsScalars 1 }
|
|
|
|
fsElpsStatsOneIsToOneApsPktRxCount OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to record the total number of APS/PSC packets received for
|
|
1:1 protection type architecture."
|
|
::= { fsElpsScalars 2 }
|
|
|
|
fsElpsStatsOneIsToOneApsPktDiscardCount OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to record the total number of APS/PSC packets discarded for
|
|
1:1 protection type architecture."
|
|
::= { fsElpsScalars 3 }
|
|
|
|
fsElpsStatsOnePlusOneApsPktTxCount OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to record the total number of APS/PSC packets attempted to
|
|
be transmitted out for 1+1 protection type architecture."
|
|
::= { fsElpsScalars 4 }
|
|
|
|
fsElpsStatsOnePlusOneApsPktRxCount OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object records the total number of APS/PSC packets received for
|
|
1+1 protection type architecture."
|
|
::= { fsElpsScalars 5 }
|
|
|
|
fsElpsStatsOnePlusOneApsPktDiscardCount OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to record the total number of APS/PSC packets discarded for
|
|
1+1 protection type architecture."
|
|
::= { fsElpsScalars 6 }
|
|
|
|
-- *****************************************************************************
|
|
-- Textual conventions
|
|
-- *****************************************************************************
|
|
|
|
PgId ::= TEXTUAL-CONVENTION
|
|
DISPLAY-HINT "d"
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies a Protection Group.
|
|
This is an administrator defined value. Administrator can give any
|
|
value for a protection group within the valid range. If a protection
|
|
group with the same id is already existing for the current
|
|
virtual context then it will return failure."
|
|
SYNTAX Unsigned32 (1..4294967295)
|
|
|
|
PgType ::= TEXTUAL-CONVENTION
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies a value that represents the type of the protection group. The value can
|
|
be one of the following:
|
|
|
|
individual(1) - If protection group is to protect a single service.
|
|
list(2) - If protection group is to protect a list of
|
|
services.
|
|
all(3) - If protection group is to protect all the services.
|
|
"
|
|
SYNTAX INTEGER { individual(1), list(2), all(3) }
|
|
|
|
PgServiceType ::= TEXTUAL-CONVENTION
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies a value that represents the type of service to be protected by this
|
|
protection group. The value can be one of the following:
|
|
|
|
vlan(1) - IEEE802.1Q VLAN
|
|
mplsLSP(2) - MPLS Label Switched Path (LSP)
|
|
mplsPW(3) - MPLS Pseudowire
|
|
reserved(x) - Reserved for future use. [x values can be 4...7]
|
|
|
|
The protection group service type indicates the type of the transporting
|
|
service that needs to be protected for this protection group.
|
|
|
|
Implementations MUST ensure that PgServiceType objects and any dependent
|
|
objects (e.g.: PgServiceValue objects) are consistent. An
|
|
inconsistentValue error MUST be generated if an attempt to change
|
|
PgServiceType object would, for example, lead to an undefined
|
|
PgServiceValue value.
|
|
An inconsistentValue error MUST also be generated if the value in the
|
|
PgServiceValue object is outside the range of what is supported for the
|
|
PgServiceType object."
|
|
SYNTAX INTEGER { vlan(1), mplsLSP(2), mplsPW(3) }
|
|
|
|
PgServiceValue ::= TEXTUAL-CONVENTION
|
|
DISPLAY-HINT "d"
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies an integer that uniquely identifies a service. A PgServiceValue value
|
|
(service identifier) is always interpreted within the context of an
|
|
PgServiceType value.
|
|
Every usage of the PgServiceValue textual convention is required to
|
|
specify the PgServiceType object that provides the context.
|
|
It is suggested that the PgServiceType object be registered/configured
|
|
before the object(s) that use the PgServiceValue textual convention,
|
|
if they appear in the same logical row.
|
|
|
|
The value of an PgServiceValue object must be consistent with the
|
|
value of the associated PgServiceType object. Attempts to set the
|
|
PgServiceValue object to a value inconsistent with the associated
|
|
PgServiceType must fail with an inconsistentValue error.
|
|
|
|
For 'vlan' service type:
|
|
- the service value indicates the vlan identifier which ranges between (1..4094)
|
|
For 'mplsPW' service type:
|
|
- pgService value does not identify any applicable service value.
|
|
For 'mplsLSP' service type:
|
|
- pgService value does not identify any applicable service value.
|
|
"
|
|
SYNTAX Unsigned32 (1..4294967295)
|
|
|
|
PgServiceValueOrNone ::= TEXTUAL-CONVENTION
|
|
DISPLAY-HINT "d"
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies an integer that uniquely identifies a service. A PgServiceValue value
|
|
is always interpreted within the context of an PgServiceType value.
|
|
Every usage of the PgServiceValue textual convention is required to
|
|
specify the PgServiceType object that provides the context.
|
|
It is suggested that the PgServiceType object be logically registered
|
|
before the object(s) that use the PgServiceValue textual convention,
|
|
if they appear in the same logical row.
|
|
|
|
The value of an PgServiceValue object must be consistent with the
|
|
value of the associated PgServiceType object. Attempts to set the
|
|
PgServiceValue object to a value inconsistent with the associated
|
|
PgServiceType must fail with an inconsistentValue error.
|
|
|
|
The special value of zero indicates 'no service' for the entry.
|
|
|
|
For 'vlan' service type:
|
|
- the service value indicates the vlan identifier which ranges
|
|
between (1..4094)
|
|
For 'mplsPW' service type:
|
|
- pgService value does not identify any applicable service value.
|
|
For 'mplsLSP' service type:
|
|
- pgService value does not identify any applicable service value.
|
|
"
|
|
SYNTAX Unsigned32 (0 | 1..4294967295)
|
|
|
|
PgMonitorMechanismType ::= TEXTUAL-CONVENTION
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies a value representing the type of monitoring mechanism used to monitor
|
|
the services (as defined by the PgServiceType object) of the
|
|
protection group. The value can be one of the following:
|
|
|
|
cfm(1) Using Connectivity Fault Management via OAM functions and
|
|
mechanisms for Ethernet based networks (ITU-T Y.1731) for
|
|
monitoring the working and protection services.
|
|
|
|
mplsOam(2) Using MPLS-OAM functions for MPLS LSP's and
|
|
Pseudowires in MPLS TP networks for monitoring the
|
|
working and protection services.
|
|
|
|
none(3) No monitoring mechanism is used.
|
|
Only the manual trigger is possible.
|
|
|
|
reserved(x) Reserved for other monitoring mechanisms for future use."
|
|
|
|
SYNTAX INTEGER { cfm(1), mplsOam(2), none(3) }
|
|
|
|
PgExtCmd ::= TEXTUAL-CONVENTION
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to represent the administrative
|
|
commands that can be issued to a protection group. The commands
|
|
'freeze' and 'clearFreeze' are local (near-end) commands whereas all
|
|
the other commands are signalled to the far-end through the APS
|
|
protocol, when present.'manualSwitchToWorking' is applicable only
|
|
for non-revertive mode of operation"
|
|
SYNTAX INTEGER {
|
|
lockOutProtection(1),
|
|
forceSwitchToProtection(2),
|
|
manualSwitchToProtection(3),
|
|
exercise(4),
|
|
clear(5),
|
|
freeze(6),
|
|
clearFreeze(7),
|
|
manualSwitchToWorking(8)
|
|
}
|
|
|
|
PgLocalCondition ::= TEXTUAL-CONVENTION
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to represent the local conditions
|
|
that occur for a protection group."
|
|
SYNTAX INTEGER {
|
|
signalFailOnWorking(1),
|
|
recoverSignalFailOnWorking(2),
|
|
signalFailOnProtection(3),
|
|
recoverSignalFailOnProtection(4),
|
|
waitToRestoreExpiry(5)
|
|
}
|
|
|
|
PgFarEndRequest ::= TEXTUAL-CONVENTION
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to represent the far-end requests
|
|
that are received from the peer node that are applicable to the state
|
|
machine for the protection group. The 'waitToRestore' request is
|
|
applicable only for the revertive mode of operation whereas the
|
|
'exerciseOnProtection', 'reverseRequestOnProtection',
|
|
'manualSwitchToWorking'and the 'doNotRevert' requests are applicable
|
|
only for the non-revertive mode of operation."
|
|
SYNTAX INTEGER {
|
|
lockOutProtection(1),
|
|
signalFailOnProtection(2),
|
|
forceSwitchToProtection(3),
|
|
signalFailOnWorking(4),
|
|
manualSwitchToProtection(5),
|
|
waitToRestore(6),
|
|
exerciseOnWorking(7),
|
|
exerciseOnProtection(8),
|
|
reverseRequestOnWorking(9),
|
|
reverseRequestOnProtection(10),
|
|
noRequestOnWorking(11),
|
|
noRequestOnProtection(12),
|
|
doNotRevert(13),
|
|
manualSwitchToWorking(14)
|
|
}
|
|
|
|
PgActiveRequest ::= TEXTUAL-CONVENTION
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This textual convention is used to represent the currently active
|
|
request for a protection group. This includes local requests (commands
|
|
or conditions) and the far end requests that are received from the peer
|
|
node through APS. At any moment, either a local request or a far end
|
|
request can be active for a protection group and cause a state
|
|
transition for the state event machine."
|
|
SYNTAX INTEGER {
|
|
localLockOutProtection(0),
|
|
localForcedSwitchToProtection(1),
|
|
localSignalFailOnWorking(2),
|
|
localRecoverSignalFailOnWorking(3),
|
|
localSignalFailOnProtection(4),
|
|
localRecoverSignalFailOnProtection(5),
|
|
localManualSwitchToProtection(6),
|
|
localManualSwitchToWorking(7),
|
|
localClear(8),
|
|
localExercise(9),
|
|
localWaitToRestoreExpiry(10),
|
|
farLockOutProtection(11),
|
|
farSignalFailOnProtection(12),
|
|
farForceSwitchToProtection(13),
|
|
farSignalFailOnWorking(14),
|
|
farManualSwitchToProtection(15),
|
|
farManualSwitchToWorking(16),
|
|
farWaitToRestore(17),
|
|
farExerciseOnWorking(18),
|
|
farExerciseOnProtection(19),
|
|
farReverseRequestOnWorking(20),
|
|
farReverseRequestOnProtection(21),
|
|
farNoRequestOnWorking(22),
|
|
farNoRequestOnProtection(23),
|
|
farDoNotRevert(24)
|
|
}
|
|
|
|
PgSemState ::= TEXTUAL-CONVENTION
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This textual convention is used to represent the various states that
|
|
are available in the ELPS State Event Machines for each protection
|
|
group. The 'waitToRestore' state is applicable only for the state
|
|
machine used in the revertive mode of operation whereas the
|
|
'doNotRevert', 'exerciseOnProtection', 'manualSwitchToWorking' and the
|
|
'reverseRequestOnProtection' states are applicable only for the state
|
|
machine used in the non-revertive mode of operation."
|
|
SYNTAX INTEGER {
|
|
noRequestOnWorking(0),
|
|
noRequestOnProtection(1),
|
|
lockOutProtection(2),
|
|
forceSwitchToProtection(3),
|
|
signalFailOnWorking(4),
|
|
signalFailOnProtection(5),
|
|
manualSwitchToProtection(6),
|
|
manualSwitchToWorking(7),
|
|
waitToRestore(8),
|
|
doNotRevert(9),
|
|
exerciseOnWorking(10),
|
|
exerciseOnProtection(11),
|
|
reverseRequestOnWorking(12),
|
|
reverseRequestOnProtection(13)
|
|
}
|
|
|
|
PgStatus ::= TEXTUAL-CONVENTION
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This textual convention is used to represent the current status of the
|
|
protection group.
|
|
If the value is 'protectionDisabled(0)', then this means that the
|
|
rowstatus of the protection group entry is not in active state.
|
|
|
|
If the value is 'workingPathActive(1)', then this means that the
|
|
working entity has been chosen/selected to carry the normal traffic by
|
|
the action of the protection switching operation. This indicates the
|
|
'normal state' of the protection group.
|
|
|
|
If the value is 'protectionPathActive(2)', then this means that the
|
|
protection entity has been chosen/selected to carry the
|
|
normal traffic by the action of the protection switching operation
|
|
due to signal failure on working or due to operator commands.
|
|
The pgSemState would indiate the specific reason for switching the normal
|
|
traffic on the protection path.
|
|
The pgSemState 'signalFailOnWorking' in protectionPathActive condition means
|
|
a 'protecting failure state' (ie) protection switching operation
|
|
due to signal failure on working.
|
|
The pgSemState 'forceSwitchToProtection'/'manualSwitchToProtection' in
|
|
protectionPathActive condition means a 'protecting administrative state'
|
|
(ie) protection switching operation is based on operator command.
|
|
|
|
|
|
If the value is 'waitToRestoreState(3)', then this means that
|
|
the protection group is waiting for the expiry of the WTR timer to
|
|
switch back to the working entity.
|
|
|
|
If the value is 'holdOffState(4)', then this means that the
|
|
protection group is waiting for the expiry of the HoldOff timer to
|
|
initiate the switch process to the protection/working entity.
|
|
|
|
If the value is 'switchingFailed(5), then this means that the switching
|
|
from working entity to protection entity or vice-versa
|
|
has failed due to a failure in programming the hardware (i.e.) the
|
|
setup of the hardware for the newly chosen/selected active path as
|
|
determined by the protection switching operation has failed.
|
|
|
|
If the value is 'unavailable(6)', then this means that the protection
|
|
path is unavailable - either as a result of an operator Lockout
|
|
command or a signal failure/signal degrade condition detected
|
|
on the protection path.
|
|
|
|
If the value is 'doNotRevert(7), then this means that the protection
|
|
domain is recovering from a Protecting state, but the operator has
|
|
configured the protection domain to not automatically revert to the
|
|
Normal state upon recovery. The protection domain SHALL remain in
|
|
this state until the operator issues a command to revert to the Normal
|
|
state or there is a new trigger to switch to a different state."
|
|
|
|
SYNTAX INTEGER {
|
|
protectionDisabled(0),
|
|
workingPathActive(1),
|
|
protectionPathActive(2),
|
|
waitToRestoreState(3),
|
|
holdOffState(4),
|
|
switchingFailed(5),
|
|
unavailable(6),
|
|
doNotRevert(7)
|
|
}
|
|
|
|
-- *****************************************************************************
|
|
-- fsElpsSystem subtree
|
|
-- *****************************************************************************
|
|
|
|
fsElpsGlobalTraceOption OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to enable the global trace statements which are not
|
|
context specific. For example,
|
|
- Traces present in the Task Initialization.
|
|
- Traces present during context creation on ELPS
|
|
- Any other trace statements before identifying the virtual
|
|
context in ELPS APIs."
|
|
DEFVAL { false }
|
|
::= { fsElpsSystem 1 }
|
|
|
|
|
|
fsElpsPSCChannelCode OBJECT-TYPE
|
|
SYNTAX Unsigned32 ( 9..32 )
|
|
MAX-ACCESS read-write
|
|
STATUS obsolete
|
|
DESCRIPTION
|
|
"*******************Objobsoleteobsolete****************
|
|
This object specifies the G-ACh channel number to be used for
|
|
transmitting the Protection State Coordination (PSC) control
|
|
packet through the generic associated channel (G-ACh) for LSP/pseudowire.
|
|
|
|
This channel code will be carried in the 'Channel Type' field
|
|
of the G-ACh header which carries the PSC packet.
|
|
|
|
The modified value takes effect for the next
|
|
PSC transmission / reception flow."
|
|
DEFVAL { 9 }
|
|
::= {fsElpsSystem 2}
|
|
|
|
fsElpsRapidTxTime OBJECT-TYPE
|
|
SYNTAX Unsigned32( 1000..3300 )
|
|
UNITS "microseconds"
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This objects specifies the time interval for rapid transmission of
|
|
first three APS/PSC messages upon a protection state change in a protection
|
|
group. Unit of this time duration is microseconds."
|
|
DEFVAL { 3300 }
|
|
::= { fsElpsSystem 3 }
|
|
|
|
|
|
|
|
-- *****************************************************************************
|
|
-- fsElpsContext subtree
|
|
-- *****************************************************************************
|
|
|
|
fsElpsContextTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF FsElpsContextEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the List of ELPS Module parameters per Virtual Context."
|
|
::= { fsElpsContext 1 }
|
|
|
|
fsElpsContextEntry OBJECT-TYPE
|
|
SYNTAX FsElpsContextEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the Per virtual context ELPS module parameters. An entry in this table gets
|
|
created as and when a virtual context is created."
|
|
INDEX { fsElpsContextId }
|
|
::= { fsElpsContextTable 1 }
|
|
|
|
FsElpsContextEntry ::=
|
|
SEQUENCE {
|
|
fsElpsContextId
|
|
Unsigned32,
|
|
fsElpsContextSystemControl
|
|
INTEGER,
|
|
fsElpsContextModuleStatus
|
|
INTEGER,
|
|
fsElpsContextTraceInputString
|
|
DisplayString,
|
|
fsElpsContextEnableTrap
|
|
TruthValue,
|
|
fsElpsContextVlanGroupManager
|
|
INTEGER
|
|
}
|
|
|
|
fsElpsContextId OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to distinguish between the
|
|
multiple virtual bridge contexts within a bridge."
|
|
::= { fsElpsContextEntry 1 }
|
|
|
|
fsElpsContextSystemControl OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
start(1),
|
|
shutdown(2)
|
|
}
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the administrative system control status requested by management
|
|
for ELPS.
|
|
The value start(1) indicates that ELPS should be active in the
|
|
virtual context and on all ports in that virtual context. Memory
|
|
is reserved in the form of memory pools for the context for which
|
|
ELPS has been started.
|
|
The value shutdown(2) indicates that ELPS should be shutdown in
|
|
the virtual context and on all ports in that virtual context.
|
|
All used memory will be released back to the memory pools and the
|
|
memory pools will be deleted.
|
|
By default this object is set to shutdown(2) for all virtual contexts."
|
|
DEFVAL { shutdown }
|
|
::= { fsElpsContextEntry 2 }
|
|
|
|
fsElpsContextModuleStatus OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
enable(1),
|
|
disable(2)
|
|
}
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The administrative module status requested by management
|
|
for ELPS.
|
|
The value enable(1) indicates that ELPS should be enabled in the
|
|
virtual context and on all ports in that virtual context.
|
|
The value disable(2) indicates that ELPS should be disabled in
|
|
the virtual context and on all ports in that virtual context.
|
|
In the disabled state, all the protection groups will be
|
|
operationally non-functional, though configurations can still be
|
|
done.
|
|
By default this object is set to disable(2) for all virtual contexts."
|
|
DEFVAL { disable }
|
|
::= { fsElpsContextEntry 3 }
|
|
|
|
fsElpsContextTraceInputString OBJECT-TYPE
|
|
SYNTAX DisplayString (SIZE(1..255))
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to store the trace option string input given by the user.
|
|
Based on the input to this object, trace statements corresponding
|
|
to the given options are displayed for this virtual context.
|
|
To enable particular trace the user has to enter the corresponding
|
|
string(given below) assigned for that. For enabling more than one
|
|
traces the user has to enter the corresponding strings with SPACE
|
|
(delimiter) between each string.
|
|
For example,
|
|
To enable the below traces:
|
|
- Start and Shutdown traces
|
|
- Management traces
|
|
- Control plane traces and
|
|
- Packet Dump traces
|
|
|
|
The input should be fed as follows:
|
|
enable init-shut mgmt ctrl pkt-dump
|
|
|
|
To disable the below traces:
|
|
- Start and Shutdown traces
|
|
- Control plane traces
|
|
|
|
The input should be,
|
|
disable init-shut ctrl
|
|
|
|
The entered input string is parsed to get the trace options.
|
|
|
|
enable - Enables the corresponding option.
|
|
disable - Disables the corresponding option.
|
|
init-shut - Start and Shutdown traces
|
|
mgmt - Management traces
|
|
ctrl - Control Plane traces for protocol actions
|
|
pkt-dump - Packet Dump traces
|
|
resource - Traces related to all
|
|
resources except buffers
|
|
all-fail - All Failure traces
|
|
buffer - Buffer allocation/
|
|
release traces
|
|
critical - ELPS Critical traces"
|
|
|
|
DEFVAL { "critical" }
|
|
::= { fsElpsContextEntry 4 }
|
|
|
|
fsElpsContextEnableTrap OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The column is used to enable or disable the transmission of
|
|
TRAP notification messages."
|
|
DEFVAL { true }
|
|
::= { fsElpsContextEntry 5 }
|
|
|
|
fsElpsContextVlanGroupManager OBJECT-TYPE
|
|
SYNTAX INTEGER { mstp(1), elps(2) }
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the module that manages the grouping of
|
|
vlans in this virtual context.
|
|
|
|
mstp(1) - MSTP(Multiple Spanning Tree Protocol) module manages
|
|
the grouping of vlans. In this case, MSTI(MSTP
|
|
instance Id) identifies the group (or vlan list).
|
|
If a MSTI is mapped to a Protection Group, then that
|
|
Protection group will protect the list of vlan mapped
|
|
to that MSTI.
|
|
Administrator should make sure that MSTP module is
|
|
started and enabled, if this object is set to mstp(1).
|
|
|
|
elps(2) - ELPS module manages the grouping of vlans.
|
|
If this value is set, In this case ELPS instance
|
|
identifies the group. The group will be created for the
|
|
fsElpsPgConfigWorkingInstanceId and fsElpsPgConfigProtectionInstanceId and
|
|
the VLAN mapping will be done for the
|
|
objects fsElpsPgConfigWorkingServiceValue and
|
|
fsElpsPgConfigprotectionServiceValue or fsElpsPgServiceListValue
|
|
based on the fsElpsPgConfigType when the fsElpsPgConfigRowStatus is Active"
|
|
DEFVAL { mstp }
|
|
::= { fsElpsContextEntry 6 }
|
|
|
|
-- *****************************************************************************
|
|
-- fsElpsPg subtree
|
|
-- *****************************************************************************
|
|
|
|
-- ---------------------------------------------
|
|
-- Table : Protection Group Configuration Table
|
|
-- ---------------------------------------------
|
|
fsElpsPgConfigTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF FsElpsPgConfigEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table is used to create and configure the
|
|
protection groups in any virtual context. Each entry in this table
|
|
corresponds to a protection group on a virtual context.
|
|
|
|
The protection switching for MPLS LSP/PW is supported only in the
|
|
default context and not in any other contexts."
|
|
::= { fsElpsPg 1 }
|
|
|
|
fsElpsPgConfigEntry OBJECT-TYPE
|
|
SYNTAX FsElpsPgConfigEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the protection group table entry. Each entry in this table contains the
|
|
required attribute values which define the protection group entry."
|
|
INDEX { fsElpsContextId,
|
|
fsElpsPgConfigPgId }
|
|
::= { fsElpsPgConfigTable 1 }
|
|
|
|
FsElpsPgConfigEntry ::=
|
|
SEQUENCE {
|
|
fsElpsPgConfigPgId
|
|
PgId,
|
|
fsElpsPgConfigType
|
|
PgType,
|
|
fsElpsPgConfigServiceType
|
|
PgServiceType,
|
|
fsElpsPgConfigMonitorMechanism
|
|
PgMonitorMechanismType,
|
|
fsElpsPgConfigIngressPort
|
|
InterfaceIndexOrZero,
|
|
fsElpsPgConfigWorkingPort
|
|
InterfaceIndexOrZero,
|
|
fsElpsPgConfigProtectionPort
|
|
InterfaceIndexOrZero,
|
|
fsElpsPgConfigWorkingServiceValue
|
|
PgServiceValueOrNone,
|
|
fsElpsPgConfigProtectionServiceValue
|
|
PgServiceValueOrNone,
|
|
fsElpsPgConfigOperType
|
|
INTEGER,
|
|
fsElpsPgConfigProtType
|
|
INTEGER,
|
|
fsElpsPgConfigName
|
|
DisplayString,
|
|
fsElpsPgConfigRowStatus
|
|
RowStatus,
|
|
fsElpsPgConfigWorkingServicePointer
|
|
RowPointer,
|
|
fsElpsPgConfigWorkingReverseServicePointer
|
|
RowPointer,
|
|
fsElpsPgConfigProtectionServicePointer
|
|
RowPointer,
|
|
fsElpsPgConfigProtectionReverseServicePointer
|
|
RowPointer,
|
|
fsElpsPgConfigWorkingInstanceId
|
|
Unsigned32,
|
|
fsElpsPgConfigProtectionInstanceId
|
|
Unsigned32,
|
|
fsElpsPgPscVersion
|
|
Unsigned32
|
|
}
|
|
|
|
fsElpsPgConfigPgId OBJECT-TYPE
|
|
SYNTAX PgId
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the unique identifier for the protection group."
|
|
::= { fsElpsPgConfigEntry 1 }
|
|
|
|
fsElpsPgConfigType OBJECT-TYPE
|
|
SYNTAX PgType
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies if the protection group needs to provide
|
|
protection for an individual service or a list of services.
|
|
|
|
If the value is 'individual(1)', the protection is available only for
|
|
the single service present in fsElpsPgConfigWorkingServiceValue which is
|
|
protected by the service present in fsElpsPgConfigProtectionServiceValue.
|
|
|
|
If the value is 'list(2)', the protection is available for a list of
|
|
services as indicated by the fsElpsServiceListTable table. The
|
|
protection group entry for which this object is configured as 'list(2)'
|
|
MUST have at least one active entry for this protection group in the
|
|
fsElpsServiceListTable before this protection group entry can be made
|
|
active. Additionally, the 'individual' protection group service values
|
|
such as the fsElpsPgConfigWorkingServiceValue object and the
|
|
fsElpsPgConfigProtectionServiceValue object for this row will not be
|
|
allowed to be configured and will always return a value of '0'.
|
|
|
|
If the value is 'all(3)', the protection is available for all the
|
|
services that are using the working port. This option is supported
|
|
for 'vlan' service type. Not supported for 'mplsLSP' and 'mplsPW'
|
|
service types."
|
|
|
|
DEFVAL { individual }
|
|
::= { fsElpsPgConfigEntry 2 }
|
|
|
|
fsElpsPgConfigServiceType OBJECT-TYPE
|
|
SYNTAX PgServiceType
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the type of transport service for which this
|
|
protection group will provide protection.
|
|
The following service types are supported
|
|
- vlan(1)
|
|
- mplsLSP(2)
|
|
- mplsPW(3)"
|
|
DEFVAL { vlan }
|
|
::= { fsElpsPgConfigEntry 3 }
|
|
|
|
fsElpsPgConfigMonitorMechanism OBJECT-TYPE
|
|
SYNTAX PgMonitorMechanismType
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the type of monitoring mechanism used for
|
|
detecting faults for this protection group entry.
|
|
If the value of this object is not 'none' for any fsElpsPgConfigEntry, then
|
|
the fsElpsPgCfmTable table MUST have an active entry for this
|
|
fsElpsPgConfigPgId, else the fsElpsPgConfigRowStatus for this entry
|
|
cannot be made active."
|
|
DEFVAL { cfm }
|
|
::= { fsElpsPgConfigEntry 4 }
|
|
|
|
fsElpsPgConfigIngressPort OBJECT-TYPE
|
|
SYNTAX InterfaceIndexOrZero
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the port through which the traffic ingresses for
|
|
the working and protection transport services into the protection
|
|
domain. This port defines the boundary of the protection domain on both
|
|
the end bridges. This object is optional and can be configured to a
|
|
value of '0' if the service protection is to be provided when the
|
|
traffic egresses out of this bridge from either the working or
|
|
protection ports instead of while ingressing into this bridge."
|
|
::= { fsElpsPgConfigEntry 5 }
|
|
|
|
fsElpsPgConfigWorkingPort OBJECT-TYPE
|
|
SYNTAX InterfaceIndexOrZero
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the working port which carries the normal traffic
|
|
in the absence of any failure.
|
|
For 'vlan' service type, this object is mandatory and should be configured with a
|
|
non-zero value.
|
|
For other service types, this object is optional and can be configured as 0."
|
|
::= { fsElpsPgConfigEntry 6 }
|
|
|
|
fsElpsPgConfigProtectionPort OBJECT-TYPE
|
|
SYNTAX InterfaceIndexOrZero
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the protection port which carries the normal
|
|
traffic upon failure of the working transport entity.
|
|
For 'vlan' service type, this object is mandatory and should be configured with a
|
|
non-zero value.
|
|
For other service types, this object is optional and can be configured as 0."
|
|
::= { fsElpsPgConfigEntry 7 }
|
|
|
|
fsElpsPgConfigWorkingServiceValue OBJECT-TYPE
|
|
SYNTAX PgServiceValueOrNone
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the service identifier of the working service
|
|
which carries the normal traffic in the absence of any failure.
|
|
|
|
This object is applicable only for 'vlan' type of services.
|
|
|
|
This object is applicable only when the fsElpsPgConfigType object is
|
|
configured as 'individual' type. When the fsElpsPgConfigType object is
|
|
configured as 'list', this object will return a value of '0' and any
|
|
attempt to configure this object to any value will throw an error."
|
|
::= { fsElpsPgConfigEntry 8 }
|
|
|
|
|
|
fsElpsPgConfigProtectionServiceValue OBJECT-TYPE
|
|
SYNTAX PgServiceValueOrNone
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
|
|
"This object specifies the service identifier of the protection service
|
|
which carries the normal traffic upon failure of the working entity.
|
|
|
|
This object is applicable only for 'vlan' type of services.
|
|
|
|
This object is applicable only when the fsElpsPgConfigType object is
|
|
configured as 'individual' type. When the fsElpsPgConfigType object is
|
|
configured as 'list', this object will return a value of '0' and any
|
|
attempt to configure this object to any value will throw an error."
|
|
::= { fsElpsPgConfigEntry 9 }
|
|
|
|
|
|
fsElpsPgConfigOperType OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
revertive(1),
|
|
nonRevertive(2)
|
|
}
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to indicate the operation type/mode of the
|
|
protection group entry. If the value is set to 'revertive(1)', then
|
|
normal traffic will be shifted from the protection entity back to the
|
|
working entity upon recovery of the working entity from the fault. If
|
|
the value is set to 'nonRevertive(2)', then the normal traffic will not
|
|
be shifted from the protection entity back to the working entity even
|
|
after the recovery of the working entity from the fault."
|
|
DEFVAL { revertive }
|
|
::= { fsElpsPgConfigEntry 10 }
|
|
|
|
fsElpsPgConfigProtType OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
oneIsToOneBidirectionalWithAps(1),
|
|
onePlusOneBidirectionalWithAps(2),
|
|
onePlusOneUnidirectionalWithAps(3),
|
|
onePlusOneUnidirectionalWithOutAps(4)
|
|
}
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to indicate the protection architecture type of the
|
|
protection group entry. Protection architecture types supported are
|
|
given below:
|
|
- 'oneIsToOneBidirectionalWithAps(1)', then the selector bridge will be
|
|
established at the time of protection switching and its based
|
|
on global priority logic. APS communication channel is required.
|
|
- 'onePlusOneBidirectionalWithAps(2)', then the permanent bridge will be
|
|
established at the source and selector bridge at the sink. Protection
|
|
switching is based on global priority logic. APS communication channel
|
|
is required.
|
|
- 'onePlusOneUnidirectionalWithAps(3)', then the permanent bridge will
|
|
be established at the source and selector bridge at the sink.
|
|
Protection switching is based on local priority logic and Far-end
|
|
requests will not be considered for switching the traffic. APS
|
|
communication channel is present.
|
|
- 'onePlusOneUnidirectionalWithoutAps(4)', then protection switching
|
|
is based on local priority logic only. APS communication channel
|
|
is not present."
|
|
DEFVAL { oneIsToOneBidirectionalWithAps }
|
|
::= { fsElpsPgConfigEntry 11 }
|
|
|
|
fsElpsPgConfigName OBJECT-TYPE
|
|
SYNTAX DisplayString (SIZE (0..32))
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to refer the protection group in addition to the
|
|
protection group Id. The default value for this object will be the
|
|
null string. This object can be configured even when the row status
|
|
of this table entry is active."
|
|
::= {fsElpsPgConfigEntry 12 }
|
|
|
|
fsElpsPgConfigRowStatus OBJECT-TYPE
|
|
SYNTAX RowStatus
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the status of this row/entry.
|
|
Setting this object to Active is not allowed in the following
|
|
scenarios:
|
|
- If the value of the column fsElpsPgConfigMonitorMechanism is set
|
|
to 'cfm/mplsOam' and there is no active entry corresponding to this
|
|
protection group present in the fsElpsPgCfmTable table.
|
|
- If the value of the column fsElpsPgConfigType is set to 'list' and
|
|
there is no active entry corresponding to this protection group in
|
|
the fsElpsPgServiceListTable table or fsElpsPgServiceListPointerTable.
|
|
- If the value of the column fsElpsPgConfigType is set to 'list' and
|
|
a valid non-zero value is set in the
|
|
fsElpsPgConfigWorkingServiceValue and
|
|
fsElpsPgConfigProtectionServiceValue columns of this table.
|
|
Setting the rowstatus value 'destroy' to this object will delete the
|
|
related entries present in fsElpsPgCfmTable,
|
|
fsElpsPgServiceListTable / fsElpsPgServiceListPointerTable.
|
|
The writable columns in any row of this table cannot be changed while
|
|
the row is active."
|
|
::= { fsElpsPgConfigEntry 13 }
|
|
|
|
fsElpsPgConfigWorkingServicePointer OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is applicable for 'mplsLSP' and 'mplsPw' service types.
|
|
|
|
When fsElpsPgConfigServiceType is 'mplsLSP' :
|
|
- This object should be configured with the object identifier
|
|
of the row in the MPLS tunnel table corresponding to
|
|
the LSP being protected (working LSP).
|
|
|
|
- In case of co-routed MPLS LSP, this object indicates the co-routed
|
|
(forward and reverse) path of the LSP.
|
|
In case of associated MPLS LSP, this object indicates the forward path of
|
|
the LSP being protected.
|
|
|
|
When fsElpsPgConfigServiceType is 'mplsPw' :
|
|
- This object should be configured with the object identifier
|
|
of the row in the MPLS Pseudo wire table corresponding to
|
|
the PW being protected (working PW).
|
|
|
|
|
|
This object is applicable only when the fsElpsPgConfigType object is
|
|
configured as 'individual' type. When the fsElpsPgConfigType object is
|
|
configured as 'list', this object will return a value of '0' and any
|
|
attempt to configure this object to any value will throw an error."
|
|
::= { fsElpsPgConfigEntry 14 }
|
|
|
|
fsElpsPgConfigWorkingReverseServicePointer OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is applicable for 'mplsLSP' service type only.
|
|
|
|
When fsElpsPgConfigServiceType is 'mplsLSP' :
|
|
- Configuring this object is optional.
|
|
- This object should be configured with the object identifier
|
|
of the row in the MPLS tunnel table corresponding to the reverse path of
|
|
the LSP being protected (reverse path of working LSP).
|
|
- This configuration is required only in case of associated MPLS LSP.
|
|
- In case of co-routed mplsLSP, this object is not applicable.
|
|
|
|
This object is applicable only when the fsElpsPgConfigType object is
|
|
configured as 'individual' type. When the fsElpsPgConfigType object is
|
|
configured as 'list', this object will return a value of '0' and any
|
|
attempt to configure this object to any value will throw an error."
|
|
::= { fsElpsPgConfigEntry 15 }
|
|
|
|
fsElpsPgConfigProtectionServicePointer OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
|
|
"This object is applicable for 'mplsLSP' and 'mplsPw' service types.
|
|
|
|
When fsElpsPgConfigServiceType is 'mplsLSP' :
|
|
- This object should be configured with the object identifier
|
|
of the row in the MPLS tunnel table corresponding to
|
|
the protection instance of the working LSP (ie. protection LSP).
|
|
|
|
- In case of co-routed MPLS LSP, this object indicates the co-routed
|
|
(forward and reverse) path of the protection LSP.
|
|
In case of associated MPLS LSP, this object indicates the forward path of
|
|
the protection LSP.
|
|
|
|
When fsElpsPgConfigServiceType is 'mplsPw' :
|
|
- This object should be configured with the object identifier
|
|
of the row in the MPLS Pseudo wire table corresponding to
|
|
the protection instance of the working PW (ie. protection PW).
|
|
|
|
This object is applicable only when the fsElpsPgConfigType object is
|
|
configured as 'individual' type. When the fsElpsPgConfigType object is
|
|
configured as 'list', this object will return a value of '0' and any
|
|
attempt to configure this object to any value will throw an error."
|
|
::= { fsElpsPgConfigEntry 16 }
|
|
|
|
fsElpsPgConfigProtectionReverseServicePointer OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is applicable for 'mplsLSP' service type only.
|
|
|
|
When fsElpsPgConfigServiceType is 'mplsLSP' :
|
|
- Configuring this object is optional.
|
|
- This object should be configured with the object identifier
|
|
of the row in the MPLS tunnel table, for the reverse path of
|
|
the protecting LSP, corresponding to the working LSP.
|
|
- This configuration is required only in case of associated MPLS LSP configured
|
|
to protect the working LSP.
|
|
- In case of co-routed mpls LSP, this object is not applicable.
|
|
|
|
This object is applicable only when the fsElpsPgConfigType object is
|
|
configured as 'individual' type. When the fsElpsPgConfigType object is
|
|
configured as 'list', this object will return a value of '0' and any
|
|
attempt to configure this object to any value will throw an error."
|
|
::= { fsElpsPgConfigEntry 17 }
|
|
|
|
fsElpsPgConfigWorkingInstanceId OBJECT-TYPE
|
|
SYNTAX Unsigned32 (0..64)
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the working instance which contains the VLAN to be protected
|
|
in this protection group.
|
|
|
|
If fsElpsContextVlanGroupManager is 'mstp' then vlan group Id should be
|
|
from one of the MSTIs created in MSTP.
|
|
|
|
If fsElpsContextVlanGroupManager is 'elps' then group Id will be created
|
|
by ELPS when fsElpsPgConfigRowStatus is active"
|
|
|
|
DEFVAL { 0 }
|
|
::= { fsElpsPgConfigEntry 18 }
|
|
|
|
fsElpsPgConfigProtectionInstanceId OBJECT-TYPE
|
|
SYNTAX Unsigned32 (0..64)
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the protection instance which contains the protection VLANs
|
|
in this protection group.
|
|
|
|
If fsElpsContextVlanGroupManager is 'mstp' then vlan group Id should be
|
|
from one of the MSTIs created in MSTP.
|
|
|
|
If fsElpsContextVlanGroupManager is 'elps' then group Id will be created
|
|
by ELPS when fsElpsPgConfigRowStatus is active"
|
|
|
|
DEFVAL { 0 }
|
|
::= { fsElpsPgConfigEntry 19 }
|
|
|
|
fsElpsPgPscVersion OBJECT-TYPE
|
|
SYNTAX Unsigned32 ( 0..1 )
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the PSC header version number to be used for
|
|
transmitting the Protection State Coordination (PSC) control
|
|
packet through the generic associated channel (G-ACh) for LSP/pseudowire.
|
|
|
|
Also determines the PSC state machine behavior, If the value is set to 0,
|
|
PSC protocol behavior will be according to draft-ietf-mpls-tp-linear-protection-06.
|
|
If the value is set to 1 the PSC protocol behaviour will be according to RFC-6378."
|
|
DEFVAL { 0 }
|
|
::= { fsElpsPgConfigEntry 20 }
|
|
|
|
-- --------------------------------------------
|
|
-- Table : Protection Group Command Table
|
|
-- --------------------------------------------
|
|
fsElpsPgCmdTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF FsElpsPgCmdEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the protection group command table. Each entry in this table
|
|
corresponds to a configured protection group on a virtual context in this
|
|
bridge. Entry in this table is implicitly created when an entry for
|
|
protection group is created in the fsElpsPgConfigTable table.
|
|
This table contains commands and parameters that are configured for a
|
|
protection group entry which is active and status objects providing the
|
|
local and far end requests and states."
|
|
::= { fsElpsPg 2 }
|
|
|
|
fsElpsPgCmdEntry OBJECT-TYPE
|
|
SYNTAX FsElpsPgCmdEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the protection group command table entry. Each entry in this table
|
|
contains objects that operate on the state event machine for the
|
|
protection group and can be configured when the protection group entry
|
|
is active.
|
|
|
|
There are 3 types of triggers that influence the operation, and
|
|
therefore, the currently operational state for each protection group -:
|
|
(a) External commands that can be issued by administrator on the local
|
|
(self/near-end) bridge
|
|
(b) Signalling conditions that occur on the local bridge
|
|
(c) Requests from the far-end bridge carried received through the APS
|
|
PDUs
|
|
The result of whether any of the above triggers are accepted and applied
|
|
to the state machine for the protection group or not, is indicated by
|
|
the corresponding 'status' objects in each entry in this table.
|
|
The last applicable and currently operational trigger (whether local or
|
|
far end) that was accepted by the state machine is indicated by the
|
|
'ActiveRequest' object for this entry and the current state is indicated
|
|
by the 'SemState' object."
|
|
INDEX { fsElpsContextId,
|
|
fsElpsPgConfigPgId }
|
|
::= { fsElpsPgCmdTable 1 }
|
|
|
|
FsElpsPgCmdEntry ::=
|
|
SEQUENCE {
|
|
fsElpsPgCmdHoTime
|
|
Unsigned32,
|
|
fsElpsPgCmdWTR
|
|
Unsigned32,
|
|
fsElpsPgCmdExtCmd
|
|
PgExtCmd,
|
|
fsElpsPgCmdExtCmdStatus
|
|
INTEGER,
|
|
fsElpsPgCmdLocalCondition
|
|
PgLocalCondition,
|
|
fsElpsPgCmdLocalConditionStatus
|
|
INTEGER,
|
|
fsElpsPgCmdFarEndRequest
|
|
PgFarEndRequest,
|
|
fsElpsPgCmdFarEndRequestStatus
|
|
INTEGER,
|
|
fsElpsPgCmdActiveRequest
|
|
PgActiveRequest,
|
|
fsElpsPgCmdSemState
|
|
PgSemState,
|
|
fsElpsPgCmdPgStatus
|
|
PgStatus,
|
|
fsElpsPgCmdApsPeriodicTime
|
|
Unsigned32
|
|
}
|
|
|
|
fsElpsPgCmdHoTime OBJECT-TYPE
|
|
SYNTAX Unsigned32( 0..1000 )
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to configure the hold-off timer. The purpose is
|
|
to allow a server layer protection mechanism to have a chance to fix
|
|
the problem before switching at the client layer, or to allow an
|
|
upstream protected domain to switch before a downstream domain.
|
|
The hold-off timer has a period from 0 to 100 seconds, configurable in
|
|
steps (units) of 100ms. Each configured value in this object represents
|
|
a multiple of 100ms. Eg: 1 = 100ms, 2 = 200ms and so on."
|
|
DEFVAL { 0 }
|
|
::= { fsElpsPgCmdEntry 1 }
|
|
|
|
fsElpsPgCmdWTR OBJECT-TYPE
|
|
SYNTAX Unsigned32 ( 1..1000 )
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to configure the wait-to-restore timer for the
|
|
protection group. The timer has a period from 1 to 1000 minutes,
|
|
configurable in steps of 1 minute.
|
|
|
|
This object is applicable only if this protection group is operating in
|
|
the revertive mode of operation. In the non-revertive mode of operation,
|
|
any value configured for this object will not be used."
|
|
DEFVAL { 5 }
|
|
::= { fsElpsPgCmdEntry 2 }
|
|
|
|
fsElpsPgCmdExtCmd OBJECT-TYPE
|
|
SYNTAX PgExtCmd
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used by the operator to request that the protection group
|
|
state machine perform some administrative operation. The operator
|
|
requests a command by writing the command value to this column. The
|
|
command may or may not affect the operation of the state machine based
|
|
on the current state and the ELPS protocol indicates the result of this
|
|
command on the state machine by setting the value of the
|
|
fsElpsPgCmdExtCmdStatus column of this table. If the command is not
|
|
accepted, then the fsElpsPgCmdActiveRequest indicates the last accepted
|
|
and currently operating request for this protection group. The
|
|
configuration of this object is allowed and meaningful only when the
|
|
the protection group entry for this fsElpsPgConfigPgId is active.
|
|
|
|
The default value for this object will be 'clear' command indicating
|
|
that no command has been issued.
|
|
|
|
The 'freeze' command is volatile and will not be restored after a
|
|
configuration save-and-restore operation."
|
|
DEFVAL { clear }
|
|
::= { fsElpsPgCmdEntry 3 }
|
|
|
|
fsElpsPgCmdExtCmdStatus OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
accepted(1),
|
|
overruled(2),
|
|
notApplicable(3),
|
|
rejected(4)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the status of the most recent administrative
|
|
command issued to this protection group through the fsElpsPgCmdExtCmd
|
|
object."
|
|
::= { fsElpsPgCmdEntry 4 }
|
|
|
|
fsElpsPgCmdLocalCondition OBJECT-TYPE
|
|
SYNTAX PgLocalCondition
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the most recent local condition that had occurred
|
|
for this protection group."
|
|
::= { fsElpsPgCmdEntry 5 }
|
|
|
|
fsElpsPgCmdLocalConditionStatus OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
accepted(1),
|
|
overruled(2),
|
|
notApplicable(3),
|
|
rejected(4)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the status of the most recent local condition
|
|
as indicated by the fsElpsPgCmdLocalCondition that occured for this
|
|
protection group."
|
|
::= { fsElpsPgCmdEntry 6 }
|
|
|
|
fsElpsPgCmdFarEndRequest OBJECT-TYPE
|
|
SYNTAX PgFarEndRequest
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the most recent far-end request received for this
|
|
protection group through the reception of APS PDU."
|
|
::= { fsElpsPgCmdEntry 7 }
|
|
|
|
fsElpsPgCmdFarEndRequestStatus OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
accepted(1),
|
|
overruled(2),
|
|
notApplicable(3),
|
|
rejected(4)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the status of the most recent far-end request
|
|
as indicated by the fsElpsPgCmdFarEndRequest object received for this
|
|
protection group."
|
|
::= { fsElpsPgCmdEntry 8 }
|
|
|
|
fsElpsPgCmdActiveRequest OBJECT-TYPE
|
|
SYNTAX PgActiveRequest
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the last local request (command or condition) or
|
|
far end request (received for this protection group through the
|
|
reception of APS PDU) that was accepted and applied to this
|
|
protection group. The value indicated by this object is influenced by
|
|
either one of the fsElpsPgCmdExtCmd, fsElpsPgCmdLocalCondition or
|
|
fsElpsPgCmdFarEndRequest objects when these are accepted by the
|
|
operation of the state machine for this protection group."
|
|
::= { fsElpsPgCmdEntry 9 }
|
|
|
|
fsElpsPgCmdSemState OBJECT-TYPE
|
|
SYNTAX PgSemState
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the current state of the State Event Machine
|
|
for this protection group."
|
|
::= { fsElpsPgCmdEntry 10 }
|
|
|
|
fsElpsPgCmdPgStatus OBJECT-TYPE
|
|
SYNTAX PgStatus
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The object is to indicate the status of the protection group."
|
|
::= { fsElpsPgCmdEntry 11 }
|
|
|
|
fsElpsPgCmdApsPeriodicTime OBJECT-TYPE
|
|
SYNTAX Unsigned32 ( 1..1000 )
|
|
UNITS "seconds"
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This column is used to configure the time interval for the periodic
|
|
transmission of
|
|
- Protection Switching PDUs, namely, APS PDU for 'vlan' service
|
|
- Protection State Coordination Protocol messages, namely, PSC packet
|
|
for 'mplsLSP' and 'mplsPW' services.
|
|
|
|
Periodic time interval is not valid for the PDU transmission happened due to
|
|
SEM state change.
|
|
The time interval has to be configured in seconds."
|
|
DEFVAL { 5 }
|
|
::= { fsElpsPgCmdEntry 12 }
|
|
|
|
-- --------------------------------------------
|
|
-- Table : Protection Group CFM Table
|
|
-- --------------------------------------------
|
|
fsElpsPgCfmTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF FsElpsPgCfmEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table contains the configurations related to the monitoring entities
|
|
for each protection group as denoted by the fsElpsPgConfigPgId object.
|
|
Currently, fault monitoring using the Y.1731 mechanism and BFD are supported.
|
|
The creation of an entry in this table does not create the
|
|
Y.1731 / MPLS-OAM Monitoring entities. These Monitoring entities have to be created
|
|
explicitly in ECFM or in MPLS-OAM accordingly."
|
|
::= { fsElpsPg 3 }
|
|
|
|
fsElpsPgCfmEntry OBJECT-TYPE
|
|
SYNTAX FsElpsPgCfmEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the entry that indicate the monitoring entities for each protection group."
|
|
INDEX { fsElpsContextId,
|
|
fsElpsPgConfigPgId }
|
|
::= { fsElpsPgCfmTable 1 }
|
|
|
|
FsElpsPgCfmEntry ::=
|
|
SEQUENCE {
|
|
fsElpsPgCfmWorkingMEG
|
|
Unsigned32,
|
|
fsElpsPgCfmWorkingME
|
|
Unsigned32,
|
|
fsElpsPgCfmWorkingMEP
|
|
Dot1agCfmMepId,
|
|
fsElpsPgCfmProtectionMEG
|
|
Unsigned32,
|
|
fsElpsPgCfmProtectionME
|
|
Unsigned32,
|
|
fsElpsPgCfmProtectionMEP
|
|
Dot1agCfmMepId,
|
|
fsElpsPgCfmRowStatus
|
|
RowStatus,
|
|
fsElpsPgCfmWorkingReverseMEG
|
|
Unsigned32,
|
|
fsElpsPgCfmWorkingReverseME
|
|
Unsigned32,
|
|
fsElpsPgCfmWorkingReverseMEP
|
|
Dot1agCfmMepId,
|
|
fsElpsPgCfmProtectionReverseMEG
|
|
Unsigned32,
|
|
fsElpsPgCfmProtectionReverseME
|
|
Unsigned32,
|
|
fsElpsPgCfmProtectionReverseMEP
|
|
Dot1agCfmMepId
|
|
}
|
|
|
|
fsElpsPgCfmWorkingMEG OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the Maintenance Entity Group (MEG) that the working
|
|
entity of the protection group denoted by fsElpsPgConfigPgId
|
|
corresponds to.
|
|
"
|
|
::= { fsElpsPgCfmEntry 1 }
|
|
|
|
fsElpsPgCfmWorkingME OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the Maintenance Entity (ME) that the working entity of
|
|
the protection group denoted by fsElpsPgConfigPgId corresponds to.
|
|
"
|
|
::= { fsElpsPgCfmEntry 2 }
|
|
|
|
fsElpsPgCfmWorkingMEP OBJECT-TYPE
|
|
SYNTAX Dot1agCfmMepId
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the Maintenance Entity Group (MEG) End Point (MEP)
|
|
that monitors the working entity of the protection group denoted by the
|
|
fsElpsPgConfigPgId value.
|
|
"
|
|
::= { fsElpsPgCfmEntry 3 }
|
|
|
|
fsElpsPgCfmProtectionMEG OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the Maintenance Entity Group (MEG) that the protection
|
|
entity of the protection group denoted by fsElpsPgConfigPgId
|
|
corresponds to.
|
|
"
|
|
::= { fsElpsPgCfmEntry 4 }
|
|
|
|
fsElpsPgCfmProtectionME OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the Maintenance Entity (ME) that the protection entity of
|
|
the protection group denoted by fsElpsPgConfigPgId corresponds to.
|
|
"
|
|
::= { fsElpsPgCfmEntry 5 }
|
|
|
|
fsElpsPgCfmProtectionMEP OBJECT-TYPE
|
|
SYNTAX Dot1agCfmMepId
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the Maintenance Entity Group (MEG) End Point (MEP) that
|
|
monitors the protection entity of the protection group denoted by the
|
|
fsElpsPgConfigPgId value.
|
|
"
|
|
::= { fsElpsPgCfmEntry 6 }
|
|
|
|
fsElpsPgCfmRowStatus OBJECT-TYPE
|
|
SYNTAX RowStatus
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The status of this row.
|
|
The writable columns in any row of this table cannot be changed while
|
|
the row is active. Furthermore, creation of any entry or modification to
|
|
any entry in this table is allowed only when the corresponding entry
|
|
present in the fsElpsPgConfigTable is not active."
|
|
::= { fsElpsPgCfmEntry 7 }
|
|
|
|
fsElpsPgCfmWorkingReverseMEG OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is applicable only when the fsElpsPgConfigServiceType is
|
|
'mplsLSP'.
|
|
In case of associated mplsLSP, this object refers to
|
|
the Maintenance Entity Group (MEG) for the reverse working entity.
|
|
In case of co-routed mplsLSP, this object is not valid"
|
|
::= { fsElpsPgCfmEntry 8 }
|
|
|
|
fsElpsPgCfmWorkingReverseME OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is applicable only when the fsElpsPgConfigServiceType is
|
|
'mplsLSP'.
|
|
In case of associated mplsLSP, this object refers to
|
|
the Maintenance Entity (ME) for the reverse working entity.
|
|
In case of co-routed mplsLSP, this object is not valid."
|
|
::= { fsElpsPgCfmEntry 9 }
|
|
|
|
fsElpsPgCfmWorkingReverseMEP OBJECT-TYPE
|
|
SYNTAX Dot1agCfmMepId
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is applicable only when the fsElpsPgConfigServiceType is
|
|
'mplsLSP'.
|
|
In case of associated mplsLSP, this object refers to
|
|
the Maintenance Entity Group(MEG) End Point (MEP) that monitors the
|
|
reverse working entity of the protection group.
|
|
In case of co-routed mplsLSP, this object is not valid."
|
|
::= { fsElpsPgCfmEntry 10 }
|
|
|
|
fsElpsPgCfmProtectionReverseMEG OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is applicable only when the fsElpsPgConfigServiceType is
|
|
'mplsLSP'. In case of associated mplsLSP, this object refers to
|
|
the Maintenance Entity Group (MEG) for the reverse protection entity
|
|
of the protection group.
|
|
In case of co-routed mplsLSP, this object is not valid."
|
|
::= { fsElpsPgCfmEntry 11 }
|
|
|
|
fsElpsPgCfmProtectionReverseME OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is applicable only when the fsElpsPgConfigServiceType is
|
|
'mplsLSP'. In case of associated mplsLSP, this object refers to
|
|
the Maintenance Entity (ME) for the reverse protection entity of the
|
|
protection group.
|
|
In case of co-routed mplsLSP, this object is not valid."
|
|
::= { fsElpsPgCfmEntry 12 }
|
|
|
|
fsElpsPgCfmProtectionReverseMEP OBJECT-TYPE
|
|
SYNTAX Dot1agCfmMepId
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is applicable only when the fsElpsPgConfigServiceType is
|
|
'mplsLSP'. In case of associated mplsLSP, this object refers to the
|
|
Maintenance Entity Group (MEG) End Point (MEP) that monitors the reverse
|
|
protection entity of the protection group.
|
|
In case of co-routed mplsLSP, this object is not valid."
|
|
::= { fsElpsPgCfmEntry 13 }
|
|
|
|
-- --------------------------------------------
|
|
-- Table : Protection Group Service List Table
|
|
-- --------------------------------------------
|
|
fsElpsPgServiceListTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF FsElpsPgServiceListEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table contains the list of services
|
|
that needs to be protected for the corresponding protection group entry.
|
|
This table needs to be populated only for those protection groups which
|
|
have the value of the object fsElpsPgConfigType as 'list'. Protecting
|
|
a list of services is only possible when the same set of services (and
|
|
therefore service identifiers) are used for both the working and
|
|
protection entities.
|
|
|
|
This table is applicable for service type 'vlan' only.
|
|
"
|
|
::= { fsElpsPg 4 }
|
|
|
|
fsElpsPgServiceListEntry OBJECT-TYPE
|
|
SYNTAX FsElpsPgServiceListEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the protection group service list table entry. Creation of this entry is
|
|
allowed only if the value of the object fsElpsPgConfigType is configured
|
|
as 'list'."
|
|
INDEX { fsElpsContextId,
|
|
fsElpsPgConfigPgId,
|
|
fsElpsPgServiceListValue }
|
|
::= { fsElpsPgServiceListTable 1 }
|
|
|
|
FsElpsPgServiceListEntry ::=
|
|
SEQUENCE {
|
|
fsElpsPgServiceListValue
|
|
PgServiceValue,
|
|
fsElpsPgServiceListRowStatus
|
|
RowStatus
|
|
}
|
|
|
|
fsElpsPgServiceListValue OBJECT-TYPE
|
|
SYNTAX PgServiceValue
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the services which needs to be protected
|
|
for this protection group and which will have its traffic shifted from
|
|
the port indicated by fsElpsPgConfigWorkingPort object to the port
|
|
indicated by the fsElpsPgConfigProtectionPort object upon failure of the
|
|
working entity.
|
|
|
|
Currently only vlan service type is supported for this table. Hence this
|
|
object can hold any value between the range 1 to 4094."
|
|
|
|
::= { fsElpsPgServiceListEntry 1 }
|
|
|
|
|
|
fsElpsPgServiceListRowStatus OBJECT-TYPE
|
|
SYNTAX RowStatus
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the status of this row. The valid options supported for this table are
|
|
'createAndGo' and 'destroy'. Entries in this table cannot be created or
|
|
modified when the corresponding entry in the protection group config
|
|
table for this fsElpsPgConfigPgId is active."
|
|
|
|
::= { fsElpsPgServiceListEntry 2 }
|
|
|
|
|
|
-- ----------------------------------------------------
|
|
-- Table : Protection Group Service List Pointer Table
|
|
-- ----------------------------------------------------
|
|
fsElpsPgServiceListPointerTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF FsElpsPgServiceListPointerEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table contains the
|
|
object identifiers for the list of services that needs to be protected
|
|
and the corresponding the protection services.
|
|
|
|
This table is applicable only when the protection group type is 'list'.
|
|
|
|
This table is useful when each of the working service has a specific protection
|
|
service who's service value is different from the working service value.
|
|
|
|
This table also helps to generically configure the working and protection services
|
|
in terms of specifying their 'object identifiers', instead of directly configuring
|
|
the value of the services.
|
|
"
|
|
::= { fsElpsPg 7 }
|
|
|
|
fsElpsPgServiceListPointerEntry OBJECT-TYPE
|
|
SYNTAX FsElpsPgServiceListPointerEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the protection group service list pointer table entry.
|
|
Creation of this entry is allowed only if the value of the object fsElpsPgConfigType
|
|
is configured as 'list'."
|
|
INDEX { fsElpsContextId,
|
|
fsElpsPgConfigPgId,
|
|
fsElpsPgServiceListId }
|
|
::= { fsElpsPgServiceListPointerTable 1 }
|
|
|
|
FsElpsPgServiceListPointerEntry ::=
|
|
SEQUENCE {
|
|
fsElpsPgServiceListId
|
|
Unsigned32,
|
|
fsElpsPgWorkingServiceListPointer
|
|
RowPointer,
|
|
fsElpsPgWorkingReverseServiceListPointer
|
|
RowPointer,
|
|
fsElpsPgProtectionServiceListPointer
|
|
RowPointer,
|
|
fsElpsPgProtectionReverseServiceListPointer
|
|
RowPointer,
|
|
fsElpsPgServiceListPointerRowStatus
|
|
RowStatus
|
|
}
|
|
|
|
fsElpsPgServiceListId OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the Unique numeric identifier for a working and protection service set in a protection list
|
|
within the protection group."
|
|
::= { fsElpsPgServiceListPointerEntry 1 }
|
|
|
|
fsElpsPgWorkingServiceListPointer OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies a working service which needs to be protected.
|
|
|
|
This object is applicable for 'mplsLSP' and 'mplsPw' service type.
|
|
|
|
When fsElpsPgConfigServiceType is 'mplsLSP' :
|
|
- This object should be configured with the object identifier
|
|
of the row in the MPLS tunnel table corresponding to
|
|
the LSP being protected (working LSP).
|
|
|
|
- In case of co-routed MPLS LSP, this object indicates the co-routed
|
|
(forward and reverse) path of the LSP.
|
|
In case of associated MPLS LSP, this object indicates the forward path of
|
|
the LSP being protected.
|
|
|
|
When fsElpsPgConfigServiceType is 'mplsPw' :
|
|
- This object should be configured with the object identifier
|
|
of the row in the MPLS Pseudo wire table corresponding to
|
|
the PW being protected (working PW)."
|
|
|
|
::= { fsElpsPgServiceListPointerEntry 2 }
|
|
|
|
fsElpsPgWorkingReverseServiceListPointer OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the reverse path of the working service that is protected.
|
|
This object is optional and is applicable only when the forward and resverse paths
|
|
are different for certain type of services.
|
|
|
|
This object is applicable for 'mplsLSP' service type only.
|
|
|
|
When fsElpsPgConfigServiceType is 'mplsLSP' :
|
|
- Configuring this object is optional.
|
|
- This object should be configured with the object identifier
|
|
of the row in the MPLS tunnel table corresponding to the reverse path of
|
|
the LSP being protected (reverse path of working LSP).
|
|
- This configuration is required only in case of associated MPLS LSP.
|
|
- In case of co-routed mplsLSP, this object is not applicable.
|
|
"
|
|
::= { fsElpsPgServiceListPointerEntry 3 }
|
|
|
|
fsElpsPgProtectionServiceListPointer OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies to the protection service corresponding to the working service.
|
|
|
|
This object is applicable for 'mplsLSP' and 'mplsPw' service types.
|
|
|
|
When fsElpsPgConfigServiceType is 'mplsLSP' :
|
|
- This object should be configured with the object identifier
|
|
of the row in the MPLS tunnel table corresponding to
|
|
the protection instance of the working LSP (ie. protection LSP).
|
|
|
|
- In case of co-routed MPLS LSP, this object indicates the co-routed
|
|
(forward and reverse) path of the protection LSP.
|
|
In case of associated MPLS LSP, this object indicates the forward path of
|
|
the protection LSP.
|
|
|
|
When fsElpsPgConfigServiceType is 'mplsPw' :
|
|
- This object should be configured with the object identifier
|
|
of the row in the MPLS Pseudo wire table corresponding to
|
|
the protection instance of the working PW (ie. protection PW)."
|
|
|
|
::= { fsElpsPgServiceListPointerEntry 4 }
|
|
|
|
fsElpsPgProtectionReverseServiceListPointer OBJECT-TYPE
|
|
SYNTAX RowPointer
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the reverse path of the protection service.
|
|
Configuring this object is optional and is applicable only when the
|
|
forward and resverse paths are different for certain type of services.
|
|
|
|
This object is applicable for 'mplsLSP' service type only.
|
|
|
|
When fsElpsPgConfigServiceType is 'mplsLSP' :
|
|
- Configuring this object is optional.
|
|
- This object should be configured with the object identifier
|
|
of the row in the MPLS tunnel table, for the reverse path of
|
|
the protecting LSP, corresponding to the working LSP.
|
|
- This configuration is required only in case of associated MPLS LSP configured
|
|
to protect the working LSP.
|
|
- In case of co-routed mpls LSP, this object is not applicable.
|
|
"
|
|
::= { fsElpsPgServiceListPointerEntry 5 }
|
|
|
|
fsElpsPgServiceListPointerRowStatus OBJECT-TYPE
|
|
SYNTAX RowStatus
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the status of this row. Entries in this table cannot be created or modified
|
|
when the corresponding entry in the protection group config table for this
|
|
fsElpsPgConfigPgId is active.
|
|
|
|
RowStatus can be made active only when a valid working and protection services
|
|
are configured for this entry."
|
|
|
|
::= { fsElpsPgServiceListPointerEntry 6 }
|
|
|
|
-- -------------------------------------
|
|
-- Table : Protection Group Share Table
|
|
-- -------------------------------------
|
|
fsElpsPgShareTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF FsElpsPgShareEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table contains the set of protection groups
|
|
that shares the same protection entity (i.e. protection port)."
|
|
::= { fsElpsPg 5 }
|
|
|
|
fsElpsPgShareEntry OBJECT-TYPE
|
|
SYNTAX FsElpsPgShareEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The protection group share table entry. Each entry indicates a protection
|
|
group that shares the protection port."
|
|
INDEX { fsElpsContextId,
|
|
fsElpsPgShareProtectionPort,
|
|
fsElpsPgConfigPgId }
|
|
::= { fsElpsPgShareTable 1 }
|
|
|
|
FsElpsPgShareEntry ::=
|
|
SEQUENCE {
|
|
fsElpsPgShareProtectionPort
|
|
InterfaceIndex,
|
|
fsElpsPgSharePgStatus
|
|
PgStatus
|
|
}
|
|
|
|
fsElpsPgShareProtectionPort OBJECT-TYPE
|
|
SYNTAX InterfaceIndex
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the protection entity (port) which
|
|
carries the normal traffic upon failure of the working transport
|
|
entity."
|
|
::= { fsElpsPgShareEntry 1 }
|
|
|
|
fsElpsPgSharePgStatus OBJECT-TYPE
|
|
SYNTAX PgStatus
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The object is used to indicate the status of the protection group that shares
|
|
the protection port as indicated by the fsElpsPgConfigProtectionPort
|
|
object."
|
|
::= { fsElpsPgShareEntry 2 }
|
|
|
|
-- ------------------------------------------
|
|
-- Table : Protection Group Statistics Table
|
|
-- ------------------------------------------
|
|
fsElpsPgStatsTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF FsElpsPgStatsEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table contains statistics information for each of the protection
|
|
groups present in the system. Entries in this table are created
|
|
implicitly by the creation of entries in the fsElpsPgConfigTable."
|
|
::= { fsElpsPg 6 }
|
|
|
|
fsElpsPgStatsEntry OBJECT-TYPE
|
|
SYNTAX FsElpsPgStatsEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the protection group statistics table entry. There is one entry in this
|
|
table for each entry in the fsElpsPgConfigTable table."
|
|
INDEX { fsElpsContextId,
|
|
fsElpsPgConfigPgId }
|
|
::= { fsElpsPgStatsTable 1 }
|
|
|
|
FsElpsPgStatsEntry ::=
|
|
SEQUENCE {
|
|
fsElpsPgStatsAutoProtectionSwitchCount
|
|
Counter32,
|
|
fsElpsPgStatsForcedSwitchCount
|
|
Counter32,
|
|
fsElpsPgStatsManualSwitchCount
|
|
Counter32,
|
|
fsElpsPgStatsClearStatistics
|
|
TruthValue,
|
|
fsElpsPgStatsApsPktTxCount
|
|
Counter32,
|
|
fsElpsPgStatsApsPktRxCount
|
|
Counter32,
|
|
fsElpsPgStatsApsPktDiscardCount
|
|
Counter32,
|
|
fsElpsPgLRSFRxTime
|
|
Unsigned32,
|
|
fsElpsPgLRSFTxTime
|
|
Unsigned32,
|
|
fsElpsPgFRSFRxTime
|
|
Unsigned32,
|
|
fsElpsPgStateChgTime
|
|
Unsigned32
|
|
}
|
|
|
|
fsElpsPgStatsAutoProtectionSwitchCount OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to record the number of times automatic protection switching
|
|
has happened for this protection group entry."
|
|
::= { fsElpsPgStatsEntry 1 }
|
|
|
|
fsElpsPgStatsForcedSwitchCount OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to record the number of times a forced protection switch has
|
|
happened for this protection group entry."
|
|
::= { fsElpsPgStatsEntry 2 }
|
|
|
|
fsElpsPgStatsManualSwitchCount OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to record the number of times a manual protection switch has
|
|
happened for this protection group entry."
|
|
::= { fsElpsPgStatsEntry 3 }
|
|
|
|
fsElpsPgStatsClearStatistics OBJECT-TYPE
|
|
SYNTAX TruthValue
|
|
MAX-ACCESS read-write
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to reset all the statistics counter objects present
|
|
in this table.
|
|
This will be done by setting the value of this column to 'true(1)'.
|
|
This column will always return 'false(2)' when read."
|
|
::= { fsElpsPgStatsEntry 4 }
|
|
|
|
fsElpsPgStatsApsPktTxCount OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to record the total number of APS/PSC packets attempted to
|
|
be transmitted out of this protection group entry. "
|
|
::= { fsElpsPgStatsEntry 5 }
|
|
|
|
fsElpsPgStatsApsPktRxCount OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to record the total number of APS/PSC packets received by
|
|
this protection group entry."
|
|
::= { fsElpsPgStatsEntry 6 }
|
|
|
|
fsElpsPgStatsApsPktDiscardCount OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to record the total number of APS/PSC packets discarded in
|
|
this protection group entry."
|
|
::= { fsElpsPgStatsEntry 7 }
|
|
|
|
fsElpsPgLRSFRxTime OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the timestamp when receiving Local Request -
|
|
signal fail message. This is detected in local node and it is not got
|
|
from the packet. The time is in milliseconds."
|
|
::= { fsElpsPgStatsEntry 8 }
|
|
|
|
fsElpsPgLRSFTxTime OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the timestamp when sending Local Request - signal
|
|
fail packet to the peer node. The time is in milliseconds."
|
|
::= { fsElpsPgStatsEntry 9 }
|
|
|
|
fsElpsPgFRSFRxTime OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the timestamp when receiving Far end Request -
|
|
signal fail packet from the peer node. The time is in milliseconds."
|
|
::= { fsElpsPgStatsEntry 10 }
|
|
|
|
fsElpsPgStateChgTime OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the timestamp when the protection path becomes
|
|
active after processing the signal fail packet that is received from
|
|
the peer. The time is in milliseconds."
|
|
::= { fsElpsPgStatsEntry 11 }
|
|
|
|
-- *****************************************************************************
|
|
-- fsElpsPgNotifications subtree
|
|
-- *****************************************************************************
|
|
|
|
fsElpsTraps OBJECT IDENTIFIER ::= { fsElpsPgNotifications 0 }
|
|
|
|
fsElpsTrapContextName OBJECT-TYPE
|
|
SYNTAX DisplayString (SIZE (1..32))
|
|
MAX-ACCESS accessible-for-notify
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the name given to the virtual context."
|
|
::= { fsElpsPgNotifications 1 }
|
|
|
|
fsElpsTrapSwitchingMechanism OBJECT-TYPE
|
|
SYNTAX DisplayString (SIZE (1..32))
|
|
MAX-ACCESS accessible-for-notify
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object provides the text indicating the mechanism by which the
|
|
switching of traffic occurred from the working to the protection
|
|
transport entity.
|
|
|
|
'AutoProtectionSwitch' will be set when the switching happens
|
|
automatically through the operation of the APS protocol.
|
|
|
|
'ForcedSwitch' will be set when the switching happens by means of
|
|
an administrator-issued Force Switch command.
|
|
|
|
'ManualSwitch' will be set when the switching happens by means of
|
|
an administrator-issued Manual Switch command."
|
|
::= { fsElpsPgNotifications 2 }
|
|
|
|
fsElpsTrapMismatchType OBJECT-TYPE
|
|
SYNTAX DisplayString (SIZE (1..32))
|
|
MAX-ACCESS accessible-for-notify
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to provide the text indicating the mismatches found
|
|
in the APS PDUs exchanged between the near-end and the far-end
|
|
switches.
|
|
|
|
'BbitMismatch' will be set when there is a mismatch found in the
|
|
B bit of the received APS PDU.
|
|
|
|
'ConfigurationMismatch' will be set when an APS PDU is received
|
|
through the working transport entity instead of the protection
|
|
transport entity.
|
|
|
|
'LackOfResponse' will be set when there is a lack of response to a
|
|
bridge request for a period greater than 50 ms (i.e., no match in sent
|
|
'Requested Signal' and received 'Requested Signal' for > 50ms).
|
|
|
|
'AbitMismatch' will be set when there is a mismatch found in the A bit
|
|
of the received APS PDU.
|
|
|
|
'DbitMismatch' will be set when there is a mismatch found in the D bit
|
|
of the received APS PDU.
|
|
|
|
'RbitMismatch' will be set when there is a mismatch found in the R bit
|
|
of the received APS/PSC PDU."
|
|
|
|
|
|
::= { fsElpsPgNotifications 3 }
|
|
|
|
fsElpsTypeOfFailure OBJECT-TYPE
|
|
SYNTAX DisplayString (SIZE (1..32))
|
|
MAX-ACCESS accessible-for-notify
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to provide the text indicating a particular failure
|
|
condition.
|
|
|
|
'HwProtectionGroupCreationFailed' will be indicated when the setting
|
|
up of the protection group in the hardware has failed.
|
|
|
|
'HwProtectionGroupDeletionFailed' will be indicated when the deletion
|
|
of the protection group from the hardware has failed.
|
|
|
|
'HwSwitchToWorkingPathFailed' will be indicated when the setting up of
|
|
the working path as the active path for a protection group in the
|
|
hardware has failed.
|
|
|
|
'HwSwitchToProtectionPathFailed' will be indicated when the setting up
|
|
of the protection path as the active path for a protection group in
|
|
the hardware has failed.
|
|
|
|
'ApsPduTxFailed' will be set when the state machine is unable to
|
|
transmit an APS PDU upon a protection group state change."
|
|
::= { fsElpsPgNotifications 4 }
|
|
|
|
fsElpsProtectionSwitchTrap NOTIFICATION-TYPE
|
|
OBJECTS {
|
|
fsElpsTrapContextName,
|
|
fsElpsPgCmdPgStatus,
|
|
fsElpsTrapSwitchingMechanism
|
|
}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the trap that is generated when the switching happens from working
|
|
transport entity to protection transport entity (and vice-versa).
|
|
The generated trap will carry the information about the context-name,
|
|
the protection group status indicating whether the service is carried
|
|
over the working path or the protection path currently and the
|
|
mechanism (Auto Protection Switch, Forced Switch, Manual Switch)
|
|
by which the switching happened."
|
|
::= { fsElpsTraps 1 }
|
|
|
|
fsElpsProtectionSwitchFailureTrap NOTIFICATION-TYPE
|
|
OBJECTS {
|
|
fsElpsTrapContextName,
|
|
fsElpsPgCmdPgStatus,
|
|
fsElpsTypeOfFailure
|
|
}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object specifies the trap that is generated when there is a hardware failure
|
|
for a protection group or the state machine is unable to transmit APS
|
|
PDUs upon a protection group state change."
|
|
::= { fsElpsTraps 2 }
|
|
|
|
fsElpsProtectionTypeMismatchTrap NOTIFICATION-TYPE
|
|
OBJECTS {
|
|
fsElpsTrapContextName,
|
|
fsElpsPgCmdPgStatus,
|
|
fsElpsTrapMismatchType
|
|
}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This trap is generated whenever a mismatch is found through the APS
|
|
protocol operation. The mismatches can be a B-bit mismatch,
|
|
a Configuration mismatch, a Lack Of Response, an A-bit mismatch or
|
|
a D-bit mismatch."
|
|
::= { fsElpsTraps 3 }
|
|
|
|
END
|