-- *****************************************************************
-- raisecom-elps-mib.mib:  Raisecom ELPS MIB file
--
-- 9 2009, yanguotao
--
-- Copyright (c) 1994-2009, 2009 by Raisecom, Inc.
-- All rights reserved. 
-- Modify Record
-- 02,20111208,huxiangfeng, ROS00007717,ɾڵrcElpsPeerProtectionType  rcElpsPeerStatusĬֵ
-- 01,20111122,yangkewei, ROS00006692ɾڵrcElpsNameĬֵ 
-- *****************************************************************
RAISECOM-ELPS-MIB  DEFINITIONS ::= BEGIN

IMPORTS
	   iscomSwitch
		   FROM RAISECOM-BASE-MIB 
	   MODULE-IDENTITY, OBJECT-TYPE, Integer32,
       Unsigned32, Gauge32, NOTIFICATION-TYPE
           FROM SNMPv2-SMI                  -- RFC2578
 	   RowStatus,TruthValue
           FROM SNMPv2-TC                   -- RFC2579
       EnableVar,Vlanset
           FROM SWITCH-TC;  
                 
	rcElps MODULE-IDENTITY
		LAST-UPDATED    "200909200000Z"
		ORGANIZATION    "Raisecom, Inc."
		CONTACT-INFO
                "       Raise Systems
                        
                Postal: Beijing,
                        China

                   Tel: 86-010-82884499

                E-mail: yanguotao@raisecom.com"
        DESCRIPTION
                "description of ethernet linear protection switching managed object."
                ::= { iscomSwitch 54} 
  
  rcElpsBaseGroup           OBJECT IDENTIFIER ::= { rcElps 1 }
  rcElpsFailureDetGroup     OBJECT IDENTIFIER ::= { rcElps 2 }
      
  -- rcElpsBaseGroup
  -- ---------------------------------------------------------------- --
  rcElpsTrapEnable        OBJECT-TYPE
	SYNTAX      EnableVar
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "Indicates whether traps for G.8031
 	         should be generated or not." 
    DEFVAL { disable }
    ::= { rcElpsBaseGroup 1 }

  -- rcElpsCfgTable
  rcElpsCfgTable OBJECT-TYPE
		SYNTAX SEQUENCE OF RcElpsCfgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of elps configuration and associated properties."
        ::= { rcElpsBaseGroup 2}

  rcElpsCfgEntry OBJECT-TYPE
        SYNTAX RcElpsCfgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for elps configuration and associated properties."
        INDEX { rcElpsId }
        ::= { rcElpsCfgTable 1 }

  RcElpsCfgEntry ::= SEQUENCE {  
		rcElpsId                    Unsigned32,
		rcElpsName		            OCTET STRING(SIZE (1..32)),   	
		rcElpsWorkingPort           Integer32,
		rcElpsWorkingBlockVlanlist  Vlanset,
		rcElpsProtectionPort        Integer32,     
		rcElpsProtectionBlockVlanlist  Vlanset,
		rcElpsProtectionTypeAdmin  Unsigned32,
		rcElpsProtectionTypeOper   Unsigned32,
		rcElpsForceSwitch          TruthValue,
 		rcElpsManualSwitch         TruthValue,
		rcElpsManualSwitchtoWork   TruthValue,
		rcElpsLockout              TruthValue,
		rcElpsClear                TruthValue,
		rcElpsWtrTimer             Unsigned32,
		rcElpsHoldOffTimer         Unsigned32, 
		rcElpsProtocolVlan         INTEGER,
		rcElpsStatus               INTEGER, 
		rcElpsDfopStatus           INTEGER,
		rcElpsRowStatus            RowStatus
        } 

    rcElpsId OBJECT-TYPE
        SYNTAX  Unsigned32(1..8)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An index uniquely identifies a Linear Protection,
             which ranges from 1~8. This value can't be modified after created."
        ::= { rcElpsCfgEntry 1 }
   
    rcElpsName OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (1..32))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Name for the associtaed Linear protection."  
        ::= { rcElpsCfgEntry 2 }

    rcElpsWorkingPort OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The port of working transport entity."
        ::= { rcElpsCfgEntry 3 }
       
    rcElpsWorkingBlockVlanlist OBJECT-TYPE
        SYNTAX      Vlanset  
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "The block Vlan list for working entity."
        ::= { rcElpsCfgEntry 4 }

    rcElpsProtectionPort OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The port of protection.transport entity."
        ::= { rcElpsCfgEntry 5 }
        
    rcElpsProtectionBlockVlanlist OBJECT-TYPE
        SYNTAX      Vlanset 
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "The block Vlan list for protection entity."
        ::= { rcElpsCfgEntry 6 }

    rcElpsProtectionTypeAdmin OBJECT-TYPE
        SYNTAX Unsigned32 (0..16)  
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The protection type configured locally."  
         DEFVAL{ 15 }
        ::= { rcElpsCfgEntry 7 } 
        
    rcElpsProtectionTypeOper OBJECT-TYPE
        SYNTAX Unsigned32 (0..16)  
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The protection type coordinated with the far end."
        ::= { rcElpsCfgEntry 8} 
                                                         
    rcElpsForceSwitch OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Forces normal traffic signal to be selected from the protection transport entity."    
        DEFVAL{ false }
        ::= { rcElpsCfgEntry 9 }   
        
    rcElpsManualSwitch OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "In the absence of a failure of a working or protection transport entity, forces normal 
            traffic signal to be selected from the protection transport entity."    
        DEFVAL{ false }
        ::= { rcElpsCfgEntry 10 }     
        
    rcElpsManualSwitchtoWork OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "In the absence of a failure of a working or protection transport entity in non-revertive operation, 
            forces normal traffic signal to be selected from the working transport entity."    
        DEFVAL{ false }
        ::= { rcElpsCfgEntry 11 }  
        
    rcElpsLockout OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This command prevents a working signal from being selected from the protection transport 
            entity. This effectively disables the protection group."    
        DEFVAL{ false }
        ::= { rcElpsCfgEntry 12 }
          
    rcElpsClear OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Clears the active near end Lockout of Protection, Forced Switch, Manual Switch, 
            or WTR state."    
        DEFVAL{ false }
        ::= { rcElpsCfgEntry 13 }  
      
    rcElpsWtrTimer OBJECT-TYPE
        SYNTAX Unsigned32 (1..12)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "In revertive mode of operation, to prevent frequent operation of the protection switch 
            due to an intermittent defect, a failed working transport entity must become fault-free. 
            After the failed working transport entity meets this criterion, a fixed period of time 
            shall elapse before a normal traffic signal uses it again. This period, called 
            wait-to-restore (WTR) period, may be configured by the operator in 1 minute steps 
            between 5 and 12 minutes; the default value is 5 minutes."
        DEFVAL { 5 }
        ::= { rcElpsCfgEntry 14 }
    
     rcElpsHoldOffTimer OBJECT-TYPE
        SYNTAX  Unsigned32(0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "When a new defect or more severe defect occurs (new SF), this event will not be 
            reported immediately to protection switching if the provisioned holdoff timer 
            value is non-zero. Instead, the holdoff timer will be started. When the holdoff 
            timer expires, whether a defect still exists on the trail that started the timer
            will be checked. If one does exist, that defect will be reported to protection 
            switching. Each protection group should have a provisionable holdoff timer. The 
            suggested range of the holdoff timer is 0 to 10 seconds in steps of 100 ms with 
            an accuracy of 5 ms."
        DEFVAL { 0 }
        ::= { rcElpsCfgEntry 15 }     
       
     rcElpsProtocolVlan OBJECT-TYPE
        SYNTAX  INTEGER(1..4094)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Protocol vlan for APS packet encapsulation."
        DEFVAL { 1 }  
        ::= { rcElpsCfgEntry 16 }     
   
     rcElpsStatus OBJECT-TYPE
        SYNTAX INTEGER{
						nr-w(1),
						nr-p(2),
						lo(3),
						fs(4),
						sf-w(5),
						sf-p(6),
						ms(7),
						ms-w(8),
						wtr(9),
						dnr(10)
  				      }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Ethernet linear protection status.The default state is No Request (Working/Active Protection/Standby)."
        DEFVAL { 1 }
        ::= { rcElpsCfgEntry 17 }     
        
   rcElpsDfopStatus OBJECT-TYPE
        SYNTAX INTEGER{
 					    normal(1),
						dFOP-CM(2),
						dFOP-PM(3),
						dFOP-NR(4)
  				      }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Elps dFOP status.When the APS protocol is running regularly, the status in normal.If 
            failure of protocol is detected, the status is dFOP-CM,dFOP-PM or dFOP-NR according to
            the cause of dFOP.The default state is normal."
        DEFVAL { 1 }
        ::= { rcElpsCfgEntry 18 }               
              
    rcElpsRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object is responsible for managing the creation, deletion and modification of rows,
             which support active status and CreatAndGo, destroy operation."
       ::= { rcElpsCfgEntry 19 }           
       
  -- ELPS Statistics Table
  rcElpsStatisticsTable OBJECT-TYPE
		SYNTAX SEQUENCE OF RcElpsStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Statistics Table of Ethernet Linear Protection Switching."
        ::= { rcElpsBaseGroup 3}

  rcElpsStatisticsEntry OBJECT-TYPE
        SYNTAX RcElpsStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for elps statistics information."
        INDEX { rcElpsId }
        ::= { rcElpsStatisticsTable 1 }

  RcElpsStatisticsEntry ::= SEQUENCE {  
		rcElpsStatisticsSwitchCounts     Unsigned32,
		rcElpsStatisticsApsTx            Unsigned32,
		rcElpsStatisticsApsRx            Unsigned32,
        rcElpsStatisticsLastStatusOccur  TimeTicks,
		rcElpsStatisticsLastSwitchOccur  TimeTicks,
		rcElpsStatisticsLastDfop         TimeTicks,
		rcElpsStatisticsClear            EnableVar
        } 
        
   rcElpsStatisticsSwitchCounts OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Counts of switching from working transport entity to protection transport entity 
            or from protection transport entity to working transport entity."
        ::= { rcElpsStatisticsEntry 1 }  
        
    rcElpsStatisticsApsTx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "APS packet number sent to the far end."
        ::= { rcElpsStatisticsEntry 2 } 
        
	rcElpsStatisticsApsRx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "APS packet number received from the far end."
        ::= { rcElpsStatisticsEntry 3 }
        
    rcElpsStatisticsLastStatusOccur OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Time when last status changes."
        ::= { rcElpsStatisticsEntry 4 }
     
    rcElpsStatisticsLastSwitchOccur OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Time when last linear protection switching happens."
        ::= { rcElpsStatisticsEntry 5 }  
        
    rcElpsStatisticsLastDfop OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Time when last dFOP happens."
        ::= { rcElpsStatisticsEntry 6 }

    rcElpsStatisticsClear OBJECT-TYPE
        SYNTAX EnableVar
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Clear statistics information of linear protection."
        DEFVAL { disable }
        ::= { rcElpsStatisticsEntry 7 }  
        
  -- ELPS Peer Table
  rcElpsPeerTable OBJECT-TYPE
		SYNTAX SEQUENCE OF RcElpsPeerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Elps information of the far end."
        ::= { rcElpsBaseGroup 4}

  rcElpsPeerEntry OBJECT-TYPE
        SYNTAX RcElpsPeerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for elps information of the far end."
        INDEX { rcElpsId }
        ::= { rcElpsPeerTable 1 }
                                                 
  RcElpsPeerEntry ::= SEQUENCE {    
		rcElpsPeerProtectionType        Unsigned32,
		rcElpsPeerStatus                INTEGER,
		rcElpsRequestSignal             INTEGER,
		rcElpsBridgedSignal             INTEGER
        } 
        
   rcElpsPeerProtectionType OBJECT-TYPE
        SYNTAX Unsigned32(8..15)  
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The protection type of the far end." 
        ::= { rcElpsPeerEntry 1 } 
   
    rcElpsPeerStatus OBJECT-TYPE
        SYNTAX INTEGER{
 					    nr-w(1),
						nr-p(2),
						lo(3),
						fs(4),
						sf-w(5),
						sf-p(6),
						ms(7),
						ms-w(8),
						wtr(9),
						dnr(10),
						sd(11),
						exer(12),
						rr(13)
  				      }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Ethernet linear protection status of the far end.The default state is 
            No Request (Working/Active Protection/Standby)."
        ::= { rcElpsPeerEntry 2 }  
        
     rcElpsRequestSignal OBJECT-TYPE
        SYNTAX INTEGER{
 					     null(0),
						 normal-traffic-signal(1)
		  			  }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Request Signal from received APS packet."
        DEFVAL { 1 }
        ::= { rcElpsPeerEntry 3 }  
        
    rcElpsBridgedSignal OBJECT-TYPE
        SYNTAX INTEGER{
 					     null(0),
						 normal-traffic-signal(1)
		  			  }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Bridged Signal from received APS packet."
        DEFVAL { 1 }
        ::= { rcElpsPeerEntry 4 } 
        
    -- Notification Definition section   
    rcElpsNotifications     OBJECT IDENTIFIER ::= { rcElpsBaseGroup 5 }
  
    rcElpsDfopTrap NOTIFICATION-TYPE
         OBJECTS {
           rcElpsStatisticsLastDfop
           }
         STATUS  current
         DESCRIPTION
             "When dFOP happens."
         ::= { rcElpsNotifications 1 }
   
   rcElpsDfopClearTrap NOTIFICATION-TYPE
         OBJECTS {
           rcElpsStatisticsLastDfop
           }
         STATUS  current
         DESCRIPTION
             "Comes to a new status from dFOP."
         ::= { rcElpsNotifications 2 }
      
    rcElpsSwitchTrap NOTIFICATION-TYPE
         OBJECTS {
           rcElpsStatus
           }
         STATUS  current
         DESCRIPTION
             "Linear protection switching happens."
         ::= { rcElpsNotifications 3 }
             
    -- rcElpsFailureDetGroup
    -- ------------------------------------------------------------------
    -- rcElpsFailureDetTable
    rcElpsFailureDetTable OBJECT-TYPE
		SYNTAX SEQUENCE OF RcElpsFailureDetEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of elps link failure detecton configuration ."
        ::= { rcElpsFailureDetGroup 1}

    rcElpsFailureDetEntry OBJECT-TYPE
        SYNTAX RcElpsFailureDetEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for elps link failure detecton configuration."
        INDEX { rcElpsId, rcElpsFdLink }  
        ::= { rcElpsFailureDetTable 1 }

    RcElpsFailureDetEntry ::= SEQUENCE {  
		rcElpsFdLink         INTEGER,
        rcElpsFdType         INTEGER, 
        rcElpsFdLinkStatus   INTEGER,
        rcElpsFdSfType       INTEGER,
	    rcElpsFdMdName       OCTET STRING,
        rcElpsFdMaName       OCTET STRING,
        rcElpsFdLocalMep     INTEGER,
        rcElpsFdRemoteMep    INTEGER,
        rcElpsMdLevel        Integer32
        } 
     
    rcElpsFdLink OBJECT-TYPE
        SYNTAX  INTEGER{
 					     working(1),
						 protection(2)
		  			  }
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Linear protection link type, identifies if the link is working entity
             or protection entity."  
        ::= { rcElpsFailureDetEntry 1 }     
        
    rcElpsFdType OBJECT-TYPE
        SYNTAX  INTEGER{
 					      physical-link(1),
 					      cc(2),
 					      both(3)
		  			  }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The failure detection type for the link."   
        DEFVAL { 1 } 
        ::= { rcElpsFailureDetEntry 2 } 
      
    rcElpsFdLinkStatus OBJECT-TYPE
        SYNTAX  INTEGER{
 					      ok(1),
 					      sf(2)
		  			  }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The link status."  
        ::= { rcElpsFailureDetEntry 3 } 
    
    rcElpsFdSfType OBJECT-TYPE
        SYNTAX  INTEGER{
 					      none(1),
 					      physical-link(2),
 					      cc(3),
 					      both(4)
                      }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The failure detect types which have triggered SF."    
        ::= { rcElpsFailureDetEntry 4 } 
 
    rcElpsFdMdName OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(1..16))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Maintenance Domain name. Each Maintenance Domain has unique name amongst all 
            those used or available to a service provider or operator.  It facilitates easy 
            identification of administrative responsibility for each Maintenance Domain."
        ::= { rcElpsFailureDetEntry 5 }
    
    rcElpsFdMaName OBJECT-TYPE
        SYNTAX  OCTET STRING(SIZE(1..13))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Short Maintenance Association name. The type/format of this object is determined 
            by the value of the dot1agCfmMaNetNameType object.  This name must be unique 
            within a maintenance domain."
        ::= { rcElpsFailureDetEntry 6 } 
        
    rcElpsFdLocalMep OBJECT-TYPE
        SYNTAX  INTEGER(1..8191)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Local MEPId of working or protection entity, identifying a specific MEP."
          ::= { rcElpsFailureDetEntry 7 }

    rcElpsFdRemoteMep OBJECT-TYPE
        SYNTAX  INTEGER(1..8191)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Remote MEPId of working or protection entity, identifying a specific MEP."     
        ::= { rcElpsFailureDetEntry 8 }
   
     rcElpsMdLevel OBJECT-TYPE
        SYNTAX  Integer32 (0..7)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Maintenance Domain Level."
        ::= { rcElpsFailureDetEntry 9 }
  
END
