ZTE-AN-ZESR-MIB  DEFINITIONS ::= BEGIN
  IMPORTS
    TEXTUAL-CONVENTION,RowStatus, DisplayString,TruthValue   FROM SNMPv2-TC
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, enterprises, Integer32      FROM SNMPv2-SMI
    zxAn, VlanId,ZxAnIfindex                        FROM ZTE-AN-TC-MIB;
      

  zxAnZesrMib  MODULE-IDENTITY
    LAST-UPDATED  "200909160815Z"
    ORGANIZATION  "ZTE Corporation"
    CONTACT-INFO  "zhangzhikun
                  Mail: zhang.zhikun@zte.com.cn
                  Tel : 021-68897319"
    DESCRIPTION   "This MIB defines zte EAPS(thernet Automatic Protection Switching) function modules' managed objects."
    ::=  {  zxAn 9  }


    zxAnZesrObjects    OBJECT IDENTIFIER ::= { zxAnZesrMib 1 }
    zxAnZesrTraps      OBJECT IDENTIFIER ::= { zxAnZesrMib 2 }
    

--------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.ZESR Group Table
-- 2.Trap
--------------------------------------------------------------------------------




------------------------------------------------------------------------------
-- 1.ZESR Group Table
------------------------------------------------------------------------------

      zxAnZesrTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ZxAnZesrEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
         "This table defines ZTE EAPS information on this device."
        ::= { zxAnZesrObjects 1 }

     zxAnZesrEntry  OBJECT-TYPE
       SYNTAX      ZxAnZesrEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               ""
       INDEX    { zxAnZesrCtrlVlanId }
       ::= { zxAnZesrTable 1 }

     
     ZxAnZesrEntry ::= SEQUENCE {
       zxAnZesrCtrlVlanId                   VlanId,
       zxAnZesrCtrlVlanMstpInstance         INTEGER, 
       zxAnZesrNodeType                     INTEGER,
       zxAnZesrPrimaryPort                  ZxAnIfindex,
       zxAnZesrSecondaryPort                ZxAnIfindex, 
       zxAnZesrProtectVlanMstpInstance      INTEGER, 
       zxAnZesrHealthCheckInterval          INTEGER,
       zxAnZesrFailPeriodTime               INTEGER,
       zxAnZesrPreForwardingTime            INTEGER, 
       zxAnZesrDomainState                  INTEGER,  
       zxAnZesrPrimaryPortState             INTEGER,
       zxAnZesrSecondaryPortState           INTEGER,
       zxAnZesrProtectVlanList              OCTET STRING,
       zxAnZesrStandbyEnable                INTEGER,
       zxAnZesrRowStatus                    RowStatus
     }
          
     zxAnZesrCtrlVlanId OBJECT-TYPE
        SYNTAX          VlanId
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "This object indicates the 'Control VLAN' that can always pass
             through all ports in the EAPS Domain, including the secondary port
             of the master node."
        REFERENCE 
            "rfc4619.txt" 
        ::= { zxAnZesrEntry 1 }
        
    zxAnZesrCtrlVlanMstpInstance OBJECT-TYPE
        SYNTAX      INTEGER(1..16)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object indicates the MSTP instance id.
             This object is no use for F829."        
        ::= { zxAnZesrEntry 2} 
        
     zxAnZesrNodeType OBJECT-TYPE
        SYNTAX          INTEGER
         {
             master(1),
             transit(2)                      
         }
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Each EAPS Domain has a single designated 'master node'. All other
             nodes  on that ring are referred to as 'transit nodes'.
             When a node is configured as 'transit node', the node could be 
             configured as a standby master node."
        REFERENCE 
            "rfc4619.txt Used by MAP"   
        ::= { zxAnZesrEntry 3 }

     zxAnZesrPrimaryPort OBJECT-TYPE
        SYNTAX          ZxAnIfindex     
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Each node on the ring will have 2 ports connected to the ring.
             One port of the master node is designated as the 'primary port' to
             the ring, while the other port is designated as the   'secondary 
             port'."
        REFERENCE 
            "rfc4619.txt Used by MAP"
        ::= { zxAnZesrEntry 4 }
                
     zxAnZesrSecondaryPort OBJECT-TYPE
        SYNTAX      ZxAnIfindex
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object indicates the 'secondary port' of this node."
        REFERENCE 
            "rfc4619.txt Used by MAP"     
        ::= { zxAnZesrEntry 5}    
        
     zxAnZesrProtectVlanMstpInstance OBJECT-TYPE
        SYNTAX      INTEGER(1..16)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object indicates the MSTP instance id.
             This object is no use for F829."
        REFERENCE 
            "rfc4619.txt"
        ::= { zxAnZesrEntry 6} 
        
    zxAnZesrHealthCheckInterval OBJECT-TYPE
        SYNTAX      INTEGER(10..1000)
        UNITS       "ms"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The master node sends a health-check frame on the Control VLAN at a
             user-configurable interval."
        REFERENCE
            "rfc4619.txt Used by MAP"      
        ::= { zxAnZesrEntry 7}
    
    zxAnZesrFailPeriodTime OBJECT-TYPE
        SYNTAX      INTEGER(10..3000)
        UNITS       "ms"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The master node sends a health-check frame on the Control VLAN at a
             user-configurable interval.  If the ring is complete, the health-
             check frame will be received on its secondary port, where the master
             node will reset its fail-period timer and continue normal operation.
            "
        REFERENCE 
            "rfc4619.txt Used by MAP"      
        ::= { zxAnZesrEntry 8}     
        
   zxAnZesrPreForwardingTime OBJECT-TYPE
        SYNTAX      INTEGER(10..3000)
        UNITS       "ms"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "During the time between the transit node detecting that its link is
             restored and the master node detecting that the ring is restored, 
             the secondary port of the master node is still open -- creating the
             possibility of a temporary loop in the topology.  To prevent this,
             the transit node will place all the protected VLANs transiting the
             newly restored port into a temporary blocked state, remember which
             port has been temporarily blocked, and transition into the 'pre-
             forwarding' state.  When the transit node in the 'pre-forwarding'
             state receives a control frame instructing it to flush its bridging
             table, it will flush the bridging table, unblock the previously
             blocked protected VLANs on the newly restored port, and transition 
             to the 'normal' state."
        REFERENCE 
            "rfc4619.txt Used by MAP"      
        ::= { zxAnZesrEntry 9}
        
    zxAnZesrDomainState OBJECT-TYPE
        SYNTAX      INTEGER
        {
           idle(1),
           complete(2),
           failed(3),
           linksup(4),
           linkdown(5),
           preforwarding(6),
           init(7) 
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This indicates the current EAPS state of this EAPS domain."
        REFERENCE 
            "EXTREME-EAPS-MIB Used by MAP"      
        ::= { zxAnZesrEntry 10}
        
    zxAnZesrPrimaryPortState OBJECT-TYPE
        SYNTAX      INTEGER
        {
           block(1),
           preforward(2),
           forward(3) 
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This indicates the primary port state of this EAPS domain."      
        REFERENCE 
            "Used by MAP" 
        ::= { zxAnZesrEntry 11}                                           
        
    zxAnZesrSecondaryPortState OBJECT-TYPE
        SYNTAX      INTEGER
        {
           block(1),
           preforward(2),
           forward(3) 
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This indicates the secondary port state of this EAPS domain."      
        REFERENCE 
            "Used by MAP" 
        ::= { zxAnZesrEntry 12}   
    
    zxAnZesrProtectVlanList OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(512))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object indicates the protected vlan list that are configured
             on all ports in the ring for the given EAPS domain. Each bit of the 
             512 bytes(4096 bits) represents the status of corresponding VLAN, 
             bit 0 represents VLAN 1, bit 1 represents VLAN 2... and bit 4093 
             represents VLAN 4094. A value of 1 indicates current domain
             protects the corresponding vlan."   
        REFERENCE 
            "Used by MAP"         
        ::= { zxAnZesrEntry 13}     
        
    zxAnZesrStandbyEnable OBJECT-TYPE
        SYNTAX      INTEGER
        {
           enable(1),
           disable(2)           
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Enable or disable a transit node as a standby master node. As the 
             master node is down, this standby master node will work as master
             node in the EAPS domain."
        REFERENCE 
            "Used by MAP"     
        ::= { zxAnZesrEntry 14}
        
    zxAnZesrRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { zxAnZesrEntry 50}   

------------------------------------------------------------------------------
-- 2.Trap
------------------------------------------------------------------------------

    zxAnZesrSwappedTrap NOTIFICATION-TYPE
        OBJECTS {
                   zxAnZesrDomainState               ,  
                   zxAnZesrPrimaryPortState          ,
                   zxAnZesrSecondaryPortState      
                }
        STATUS             current
        DESCRIPTION
           "It indicates the  Zesr domain has switched."
       ::= { zxAnZesrTraps 1 }        

END