-- ======================================================================= -- File : osEthServProtection.mib -- Description : Private MIB support protection for MEF services -- By : Gur -- Copyright (c) 2013 MRV. All Rights Reserved. -- -- -- Reproduction of this document is authorized on condition that this -- copyright notice is included. This MRV SNMP MIB Specification -- embodies MRV's proprietary intellectual property. MRV -- retains all title and ownership in the specification, including any -- revisions. -- -- It is MRV's intent to encourage the widespread use of this -- specification in connection with the management of MRV's -- products. MRV grants vendor, end-users, and other interested -- parties a non-exclusive license to use this specification in -- connection with the management of MRV's products. -- -- This specification is supplied "AS IS," and MRV makes no -- warranty, either express or implied, as to the use, operation, -- condition, or performance of the specification. -- -- Copyright text courtesy of MRV -- -- If you have any questions about this MIB, please call MRV -- Technical Support Center at 1-800-858-7815 from inside USA or -- 1-818-773-0900 from outside USA. -- -- -- MRV retains the right to change this MIB without notification. OS-ETH-SERV-PROTECTION-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Counter32, Integer32 FROM SNMPv2-SMI oaOptiSwitch, OsCfmMepIdOrZero FROM OS-COMMON-TC-MIB osEthServId FROM OS-ETH-SERV-MIB TEXTUAL-CONVENTION, MacAddress FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF; osEthServProtection MODULE-IDENTITY LAST-UPDATED "201301210000Z" -- 21 Jan 2013 ORGANIZATION "MRV Communications, Inc." CONTACT-INFO "Gur Stavi MRV Communication, Inc http://www.mrv.com Email: gstavi@mrv.com" DESCRIPTION "Protection for MEF Ethernet Virtual Connections MIB." REVISION "201301210000Z" -- 21 Jan 2013 DESCRIPTION "Initial edition." ::= { oaOptiSwitch 33 } -- ************************************************************ -- MIB place Definition -- ************************************************************ osEthServProtNotifications OBJECT IDENTIFIER ::= { osEthServProtection 0 } osEthProtConformance OBJECT IDENTIFIER ::= { osEthServProtection 100 } osEthProtMIBCompliances OBJECT IDENTIFIER ::= { osEthProtConformance 1 } osEthProtMIBGroups OBJECT IDENTIFIER ::= { osEthProtConformance 2 } -- ************************************************************ -- Textual converions -- ************************************************************ CcmTrackState ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "State of ccm-tracking for a trail. disabled - no CCM tracking for the trail up - CCMs of the ma/mep associated with the trail arrive down - A CCM timeout event detected for the ma/mep associated with the trail. The timeout is considered a signal failure on the trail that is injected into the .8031 logic." SYNTAX INTEGER { disabled (1), up (2), down (3) } TrailSignalState ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The state of a trail based on port link down events or CCM timeout events. A state other than 'normal' may cause active trail switch by the G.8031 logic." SYNTAX INTEGER { unknown (1), normal (2), fail (3), degrade (4) } ElpCommand ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A management that can be injected as an input into the G.8031 logic and may cause state change and switch over of the active trail." SYNTAX INTEGER { unknown (1), nothing (2), clear (3), lockout (4), forcedSwitch (5), manualSwitchWorking (6), manualSwitchProtection (7), exercise (8), freeze (9), clearFreeze (10) } -- ************************************************************ -- The osEthServElpTable Table -- ************************************************************ osEthServElpTable OBJECT-TYPE SYNTAX SEQUENCE OF OsEthServElpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Ethernet Linear Protection (G.8031) per service configuration table." ::= { osEthServProtection 1 } osEthServElpEntry OBJECT-TYPE SYNTAX OsEthServElpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Contains an entry of the table." INDEX { osEthServId } ::= { osEthServElpTable 1 } OsEthServElpEntry ::= SEQUENCE { osEthElpApsMacAddress MacAddress, osEthElpTrackCcm INTEGER, osEthElpRemoteMepIdWorking OsCfmMepIdOrZero, osEthElpRemoteMepIdProtection OsCfmMepIdOrZero, osEthElpHoldOffDelay Integer32, osEthElpRevertDelay Integer32, osEthElpCommand ElpCommand, osEthElpActiveTrail INTEGER, osEthElpPendingCommand ElpCommand, osEthElpApsRxCount Counter32, osEthElpApsTxCount Counter32, osEthElpFsmStateName OCTET STRING, osEthElpFarEndFsmStateName OCTET STRING, osEthElpTrackCcmStateWorking CcmTrackState, osEthElpTrackCcmStateProtection CcmTrackState, osEthElpTimeToRevert Integer32, osEthElpWorkingSignalState INTEGER, osEthElpProtectionSignalState INTEGER, osEthElpProtectionIndexName OCTET STRING, osEthElpAdminStatus INTEGER } osEthElpApsMacAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-write STATUS current DESCRIPTION "The MAC Address that is used as destination in TX APS PDUs and also used to trap RX APS PDUs." REFERENCE "802.1ag clause 12.14.7.3.2:b" ::= { osEthServElpEntry 1 } osEthElpTrackCcm OBJECT-TYPE SYNTAX INTEGER { none (1), all (2), onlyWorking (3), onlyProtection (4) } MAX-ACCESS read-write STATUS current DESCRIPTION "Enable tracking of CCM timeout events. Timeout on the specified MA (and optionally RMEP) assigned to the service will be considered as signal failure." DEFVAL { none } ::= { osEthServElpEntry 2 } osEthElpRemoteMepIdWorking OBJECT-TYPE SYNTAX OsCfmMepIdOrZero MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates a remote MEP Id that send CCMs. A timeout event for that remote MEP will be considered an ELP signal failure on the WORKING trail" DEFVAL { 0 } ::= { osEthServElpEntry 3 } osEthElpRemoteMepIdProtection OBJECT-TYPE SYNTAX OsCfmMepIdOrZero MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates a remote MEP Id that send CCMs. A timeout event for that remote MEP will be considered an ELP signal failure on the PROTECTION trail" DEFVAL { 0 } ::= { osEthServElpEntry 4 } osEthElpHoldOffDelay OBJECT-TYPE SYNTAX Integer32 (0|100..60000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "Time in milliseconds to hold-off switch over in case of a failure event." DEFVAL { 0 } ::= { osEthServElpEntry 5 } osEthElpRevertDelay OBJECT-TYPE SYNTAX Integer32 (-1|0|10..86400000) UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "Following a recovery from signal failure on the WORKING trail, time in milliseconds to wait until switching over to the WORKING trail. (-1) indicates Do-Not-Revert. 0 indicates revert immediately when recovery is detected" DEFVAL { -1 } ::= { osEthServElpEntry 6 } osEthElpCommand OBJECT-TYPE SYNTAX ElpCommand MAX-ACCESS read-write STATUS current DESCRIPTION "Issue a Command to mainpulate the G.8031 state machine. Note that command may be rejected if a higher priority condition is in effect. This is effectively a write-only field. GET will always return 'nothing'" DEFVAL { nothing } ::= { osEthServElpEntry 7 } osEthElpActiveTrail OBJECT-TYPE SYNTAX INTEGER { working (1), protection (2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Current active trail for the service." DEFVAL { working } ::= { osEthServElpEntry 20 } osEthElpPendingCommand OBJECT-TYPE SYNTAX ElpCommand MAX-ACCESS read-only STATUS current DESCRIPTION "The pending managment command within the G.8031 logic. Note that a pending command may be silently cleared by the G.8031 logic once a higher priority condition is encountered." DEFVAL { nothing } ::= { osEthServElpEntry 21 } osEthElpApsRxCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of APS packets received with valid content." DEFVAL { 0 } ::= { osEthServElpEntry 22 } osEthElpApsTxCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of APS packets transmitted" DEFVAL { 0 } ::= { osEthServElpEntry 23 } osEthElpFsmStateName OBJECT-TYPE SYNTAX OCTET STRING (SIZE (1..12)) MAX-ACCESS read-only STATUS current DESCRIPTION "The current state of the G.8031 Final-State-Machine. This value is a string with the name of the state." ::= { osEthServElpEntry 24 } osEthElpFarEndFsmStateName OBJECT-TYPE SYNTAX OCTET STRING (SIZE (1..12)) MAX-ACCESS read-only STATUS current DESCRIPTION "The far-end's last reported state of the G.8031 Final-State-Machine. This value is a string with the name of the state." ::= { osEthServElpEntry 25 } osEthElpTrackCcmStateWorking OBJECT-TYPE SYNTAX CcmTrackState MAX-ACCESS read-only STATUS current DESCRIPTION "The CCM tracking state of the WORKING trail." DEFVAL { disabled } ::= { osEthServElpEntry 26 } osEthElpTrackCcmStateProtection OBJECT-TYPE SYNTAX CcmTrackState MAX-ACCESS read-only STATUS current DESCRIPTION "The CCM tracking state of the PROTECTION trail." DEFVAL { disabled } ::= { osEthServElpEntry 27 } osEthElpTimeToRevert OBJECT-TYPE SYNTAX Integer32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "Time in seconds until ELP is going to revert from PROTECTION to WORKING." DEFVAL { 0 } ::= { osEthServElpEntry 28 } osEthElpWorkingSignalState OBJECT-TYPE SYNTAX TrailSignalState MAX-ACCESS read-only STATUS current DESCRIPTION "The signal state of the WORKING trail. Based on CCM tracking and port link state." DEFVAL { unknown } ::= { osEthServElpEntry 29 } osEthElpProtectionSignalState OBJECT-TYPE SYNTAX TrailSignalState MAX-ACCESS read-only STATUS current DESCRIPTION "The signal state of the PROTECTION trail. Based on CCM tracking and port link state." DEFVAL { unknown } ::= { osEthServElpEntry 30 } osEthElpProtectionIndexName OBJECT-TYPE SYNTAX OCTET STRING (SIZE (1..30)) MAX-ACCESS read-only STATUS current DESCRIPTION "Service identifier of the row that holds the protection information for the service" ::= { osEthServElpEntry 40 } osEthElpAdminStatus OBJECT-TYPE SYNTAX INTEGER { unknown (1), nothing (2), delete (3), create (4), enable (5), disable (6) } MAX-ACCESS read-write STATUS current DESCRIPTION "Create - create a protection row in osEthServTable in which proteection trail properties such as s-vlan and s-ports should be configured. delete - delete the protection row in osEthServTable. enable/disable - Turn Ethernet Linear Protection on or off. nothing - protection row has not been created. unknown - primary row was not found for the index (error)." ::= { osEthServElpEntry 98 } osEthElpTrailSwitch NOTIFICATION-TYPE OBJECTS { osEthElpActiveTrail, osEthElpWorkingSignalState, osEthElpProtectionSignalState } STATUS current DESCRIPTION "ELP switched the active trail" ::= { osEthServProtNotifications 1 } -- ******************************************************************* -- Conformance Information -- ******************************************************************* osEthProtMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The core compliance statement for all the implementations." MODULE -- this module MANDATORY-GROUPS { osEthProtectionMandatoryGroup, osEthProtectionNotificationsGroup } ::= { osEthProtMIBCompliances 1 } -- ................................................................... -- Conformance Groups -- ................................................................... osEthProtectionMandatoryGroup OBJECT-GROUP OBJECTS { osEthElpAdminStatus, osEthElpApsMacAddress, osEthElpTrackCcm, osEthElpRemoteMepIdWorking, osEthElpRemoteMepIdProtection, osEthElpHoldOffDelay, osEthElpRevertDelay, osEthElpCommand, osEthElpActiveTrail, osEthElpPendingCommand, osEthElpApsRxCount, osEthElpApsTxCount, osEthElpFsmStateName, osEthElpFarEndFsmStateName, osEthElpTrackCcmStateWorking, osEthElpTrackCcmStateProtection, osEthElpTimeToRevert, osEthElpWorkingSignalState, osEthElpProtectionSignalState, osEthElpProtectionIndexName } STATUS current DESCRIPTION "." ::= { osEthProtMIBGroups 1 } osEthProtectionNotificationsGroup NOTIFICATION-GROUP NOTIFICATIONS { osEthElpTrailSwitch } STATUS current DESCRIPTION "." ::= { osEthProtMIBGroups 2 } END