-- =================================================================
-- Copyright (C) 2016 by HUAWEI TECHNOLOGIES. All rights reserved
-- 
-- Description: ITU-T G.8032 huawei mib define
-- Reference: ITU-T G.8032/Y.1344
-- Version: V2.13
-- History:
--    <fenghaisheng 61958>,<2011.07.05>,<create>
-- =================================================================
         
HUAWEI-ERPS-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        hwDatacomm            
            FROM HUAWEI-MIB            
        EnabledStatus            
            FROM P-BRIDGE-MIB            
        VlanId            
            FROM Q-BRIDGE-MIB            
        OBJECT-GROUP, NOTIFICATION-GROUP, MODULE-COMPLIANCE            
            FROM SNMPv2-CONF            
        InterfaceIndex, ifName
            FROM IF-MIB  
        Integer32, Unsigned32, OBJECT-TYPE, MODULE-IDENTITY, OBJECT-IDENTITY,
        NOTIFICATION-TYPE,TimeTicks,Counter32     
            FROM SNMPv2-SMI                
        RowStatus,DisplayString            
            FROM SNMPv2-TC;

    -- 1.3.6.1.4.1.2011.5.25.256
    hwErpsMIB MODULE-IDENTITY 
        LAST-UPDATED "201610280000Z"
        ORGANIZATION 
            "Huawei Technologies Co.,Ltd."
        CONTACT-INFO 
            "Huawei Industrial Base
              Bantian, Longgang
               Shenzhen 518129
               People's Republic of China
               Website: http://www.huawei.com
               Email: support@huawei.com
             "
        DESCRIPTION 
            "The private mib file includes the general extent 
            information of the device.hwDatacomm(25).hwErpsMIB.
            "
        REVISION "201610280000Z"
            DESCRIPTION
            	"fix the errors points of hwErpsNotifications."
        REVISION "201308310000Z"
            DESCRIPTION
            	"fix the errors checked by a tool."
        REVISION "201306280001Z"
            DESCRIPTION
            	"Add new node hwErpsNotifications"
        ::= { hwDatacomm 256 }

    
--  Node definitions
-- 
    -- 1.3.6.1.4.1.2011.5.25.256.1
    hwErpsObjects OBJECT IDENTIFIER ::= { hwErpsMIB 1 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.1
    hwErpsGlobalResetRapsPktCnt OBJECT-TYPE
        SYNTAX INTEGER {
                        clear(1),
                        unused(65535)
                       }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Reset the RAPS packets counter of all running ERPS ports.
            The value is unused(65535) when it is read. And it must be clear(1) when it is set."
        ::= { hwErpsObjects 1 }

    -- ring config table
    -- 1.3.6.1.4.1.2011.5.25.256.1.2
    hwErpsRingConfigTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwErpsRingConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table includes the configurtion of ERPS rings."
        ::= { hwErpsObjects 2 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1
    hwErpsRingConfigEntry OBJECT-TYPE
        SYNTAX HwErpsRingConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table includes the configurtion of ERPS rings.
            The index of the table is ERPS ring id."
        INDEX { hwConfigRingId }
        ::= { hwErpsRingConfigTable 1 }

    
    HwErpsRingConfigEntry ::=
        SEQUENCE { 
            hwConfigRingId
                Integer32, 
            hwConfigRingRowStatus
                RowStatus,     
            hwConfigDescription
                DisplayString,                
            hwConfigControlVlanId
                Integer32,
            hwConfigProtectedInstanceList
                OCTET STRING,           
            hwConfigWtrTimerSettingValue
                Integer32, 
            hwConfigGuardTimerSettingValue
                Integer32,
            hwConfigHoldoffTimerSettingValue
                Integer32,
            hwConfigResetRapsPktCnt 
                INTEGER,
            hwConfigRapsMel
                Integer32,
            hwConfigVersion
                INTEGER,
            hwConfigRevertiveMode
                INTEGER,
            hwConfigRingRole
                INTEGER,
            hwConfigRapsChannelMode
                INTEGER,
            hwConfigTcNotifyErpsRing
                OCTET STRING,
            hwConfigTcProtectionInterval
                Integer32,
            hwConfigTcProtectionThreshold
                Integer32,
            hwConfigProtectionSwitch
                INTEGER
               }

    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.1
    hwConfigRingId OBJECT-TYPE
        SYNTAX Integer32 (1..255)
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "ERPS ring Identifier."
        ::= { hwErpsRingConfigEntry 1 }

    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.2
    hwConfigRingRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Operation of CreateAndGo can be used to create a new ERPS ring, 
            and operation of Destroy be used to destroy an existent ERPS ring."
        ::= { hwErpsRingConfigEntry 2 }

    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.3
    hwConfigDescription OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..80))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "A textual description of the ERPS ring.  
            It is mandatory that this only contain no more than 80 printable ASCII characters."
        ::= { hwErpsRingConfigEntry 3 }


    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.4
    hwConfigControlVlanId OBJECT-TYPE
        SYNTAX Integer32 (0 | 1..4094)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The control VLAN identifier of the ERPS ring.
             If the value of the object is set 0, the operation is to delete configuration."
        DEFVAL { 0 }
        ::= { hwErpsRingConfigEntry 4 }

    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.5
    hwConfigProtectedInstanceList OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..512))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            " The protected instance list of the ERPS ring."
        ::= { hwErpsRingConfigEntry 5 }          
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.6
    hwConfigWtrTimerSettingValue OBJECT-TYPE
        SYNTAX Integer32 (1..12)
        UNITS "minutes"
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The setting value of  the ring's wait to restore timer."
        DEFVAL { 5 }
        ::= { hwErpsRingConfigEntry 6 } 
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.7
    hwConfigGuardTimerSettingValue OBJECT-TYPE
        SYNTAX Integer32 (1..200)
        UNITS "centiseconds"
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The setting value of the ring's guard timer." 
        ::= { hwErpsRingConfigEntry 7 }  
         
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.8
    hwConfigHoldoffTimerSettingValue OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        UNITS "deciseconds"
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The setting value of the ring's hold-off timer."
        DEFVAL { 0 }
        ::= { hwErpsRingConfigEntry 8 } 

    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.9
    hwConfigResetRapsPktCnt OBJECT-TYPE
        SYNTAX INTEGER
                {
                clear(1),
                unused(65535)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
            "Reset the RAPS packets counter of the ERPS ring's ports.
             The value is unused(65535) when it is read. And it must be clear(1) when it is set."
            ::= { hwErpsRingConfigEntry 9 }

    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.10
    hwConfigRapsMel OBJECT-TYPE
        SYNTAX Integer32 (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The MEL is the maintenance entity group(MEG) level providing a communication channel for the ring RAPS information."
        DEFVAL { 7 }
        ::= { hwErpsRingConfigEntry 10 }
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.11
    hwConfigVersion OBJECT-TYPE
        SYNTAX INTEGER
                {
	        v1(1),
	        v2(2)
                }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Set protocol version of the ERPS ring. The default version is v1."
        DEFVAL { 1 }
        ::= { hwErpsRingConfigEntry 11 }
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.12
    hwConfigRevertiveMode OBJECT-TYPE
        SYNTAX INTEGER
        {
        revertive(1),
        nonRevertive(2)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Set revertive mode of the ERPS ring. The default mode is revertive."
        DEFVAL { 1 }
        ::= { hwErpsRingConfigEntry 12 }
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.13
    hwConfigRingRole OBJECT-TYPE
        SYNTAX INTEGER
        {
        majorRing(1),
        subRing(2)
        }	
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Specify the ERPS ring as sub-ring."
        DEFVAL { 1 }    
        ::= { hwErpsRingConfigEntry 13 }
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.14
    hwConfigRapsChannelMode OBJECT-TYPE
        SYNTAX INTEGER 	
        {
        virtualChannel(1),
        nonVirtualChannel(2),
        unused(65535)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Set RAPS channel of the sub-ring. By default, non-virtual channel is used. 
            unused(65535) is displayed when it is read if the ring is major ring."
        ::= { hwErpsRingConfigEntry 14 }
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.15
    hwConfigTcNotifyErpsRing OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..32))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Set the list of ERPS rings that will be notified when topology changes."
        ::= { hwErpsRingConfigEntry 15 }
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.16
    hwConfigTcProtectionInterval OBJECT-TYPE
        SYNTAX Integer32 (1..600)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Time interval for topology change protection, in seconds. The default value is 2."
        DEFVAL { 2 }    
        ::= { hwErpsRingConfigEntry 16 }
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.17
    hwConfigTcProtectionThreshold OBJECT-TYPE
        SYNTAX Integer32 (1..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Threshold of topology change protection. The default value is 3."
        DEFVAL { 3 }
        ::= { hwErpsRingConfigEntry 17 }
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.18
    hwConfigProtectionSwitch OBJECT-TYPE
        SYNTAX INTEGER
        {
        clear(1),
        idle(65535)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Cancel current configuration of the ERPS ring. The value is idle(65535) when it is read, and is clear(1) when the current configuration is canceled."
        ::= { hwErpsRingConfigEntry 18 }
        
        
                  
    --ring status table 
    -- 1.3.6.1.4.1.2011.5.25.256.1.3
    hwErpsRingStatusTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwErpsRingStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table includes the status of ERPS rings."
        ::= { hwErpsObjects 3 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.3.1
    hwErpsRingStatusEntry OBJECT-TYPE
        SYNTAX HwErpsRingStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table includes the status of ERPS rings.
            The index of the table is ERPS ring id."
        INDEX { hwConfigRingId }
        ::= { hwErpsRingStatusTable 1 }

    
    HwErpsRingStatusEntry ::=
        SEQUENCE { 
            hwStatusWtrTimerRunningValue
                Integer32,
               hwStatusGuardTimerRunningValue
                Integer32,
               hwStatusHoldoffTimerRunningValue
                Integer32,
               hwStatusMachineState
                   INTEGER, 
               hwStatusTopoLastChangeTime
                   TimeTicks,
               hwStatusWtbTimerRunningValue
                   Integer32
                   }

       
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.1
    hwStatusWtrTimerRunningValue OBJECT-TYPE
        SYNTAX Integer32 (0..720)
        UNITS "seconds"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The running value of the ring's wait to restore timer."
        ::= { hwErpsRingStatusEntry 1 }
     
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.2
    hwStatusGuardTimerRunningValue OBJECT-TYPE
        SYNTAX Integer32 (0..200)
        UNITS "centiseconds"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The running value of the ring's guard timer."
        ::= { hwErpsRingStatusEntry 2 }
              
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.3
    hwStatusHoldoffTimerRunningValue OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        UNITS "deciseconds"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The running value of the ring's hold-off timer."
        ::= { hwErpsRingStatusEntry 3 }
     
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.4
    hwStatusMachineState OBJECT-TYPE
        SYNTAX INTEGER
                {
                idle(1),
                protection(2),
                manualSwitch(3),
                forcedSwitch(4),
                pending(5)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
            "The Finite-state machine's state of the ERPS ring.
                state               value
                idle                1
                protection          2
                manualSwitch        3
                forcedSwitch        4
                pending             5
                "
            ::= { hwErpsRingStatusEntry 4 }
     
     
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.5
    hwStatusTopoLastChangeTime OBJECT-TYPE
        SYNTAX TimeTicks
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
            "The time since last topology change of the ring."
            ::= { hwErpsRingStatusEntry 5 }
    
    
    -- 1.3.6.1.4.1.2011.5.25.256.1.2.1.6
    hwStatusWtbTimerRunningValue OBJECT-TYPE
        SYNTAX Integer32 (0..700)
        UNITS "centiseconds"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The running value of the ring's wait to block timer."
        ::= { hwErpsRingStatusEntry 6 }       
           
    --port config table     
    --1.3.6.1.4.1.2011.5.25.256.1.3
    hwErpsPortConfigTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwErpsPortConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table includes the configuration of ERPS ports."
        ::= { hwErpsObjects 4 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.4.1
    hwErpsPortConfigEntry OBJECT-TYPE
        SYNTAX HwErpsPortConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table includes the configuration of ERPS ports.
            The index of the table is ERPS ring identifier, port type, port identifier1, port identifier2, port identifier3, port identifier4.
            If it is an ethernet port including fast ethernet/gigabit ethernet/eth-trunk, the port type is 1, the port identifier1 is the IfIndex of the ethernet port.
            the other port identifier is for extension and not used currently, should be set 0."
        INDEX { hwConfigRingId, hwConfigPortType, hwConfigPortId1, hwConfigPortId2, hwConfigPortId3, 
            hwConfigPortId4 }
        ::= { hwErpsPortConfigTable 1 }

    
    HwErpsPortConfigEntry ::=
        SEQUENCE {    
            hwConfigPortType
                Unsigned32,
            hwConfigPortId1
                Unsigned32,
            hwConfigPortId2
                Unsigned32,
            hwConfigPortId3
                Unsigned32,
            hwConfigPortId4
                Unsigned32,
            hwConfigPortRowStatus
                RowStatus,
            hwConfigPortConfigRole
                Integer32,
            hwConfigPortProtectionSwitch
                INTEGER
                  }

    -- 1.3.6.1.4.1.2011.5.25.256.1.4.1.1
    hwConfigPortType OBJECT-TYPE
        SYNTAX Unsigned32 (1)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The port type.Currently ERPS just supports ethernet port and the value is 1."
        ::= { hwErpsPortConfigEntry 1 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.4.1.2
    hwConfigPortId1 OBJECT-TYPE
        SYNTAX Unsigned32 (0..2147483647)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The port identifier1, when the hwConfigPortType is 1, the value of the object is the IfIndex of the port."
        ::= { hwErpsPortConfigEntry 2 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.4.1.3
    hwConfigPortId2 OBJECT-TYPE
        SYNTAX Unsigned32 (0..2147483647)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The port identifier2, Currently it is not used and only for extension, should be set 0."
        ::= { hwErpsPortConfigEntry 3 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.4.1.4
    hwConfigPortId3 OBJECT-TYPE
        SYNTAX Unsigned32 (0..2147483647)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The port identifier3, Currently it is not used and only for extension, should be set 0."
        ::= { hwErpsPortConfigEntry 4 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.4.1.5
    hwConfigPortId4 OBJECT-TYPE
        SYNTAX Unsigned32 (0..2147483647)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The port identifier4, Currently it is not used and only for extension, should be set 0."
        ::= { hwErpsPortConfigEntry 5 } 
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.4.1.6
    hwConfigPortRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Operation of CreateAndGo can be used to have a port join the ERPS ring.
            and operation of Destroy be used to have a port leave the ERPS ring."
        ::= { hwErpsPortConfigEntry 6 }

    -- 1.3.6.1.4.1.2011.5.25.256.1.4.1.7
    hwConfigPortConfigRole OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The configued port role:
            role                       value
            common                      0x10
            rplOwner                    0x21
            rplNeighbour                0x22"
        ::= { hwErpsPortConfigEntry 7 }
       
    -- 1.3.6.1.4.1.2011.5.25.256.1.4.1.8
    hwConfigPortProtectionSwitch OBJECT-TYPE
        SYNTAX INTEGER
        {
       	forcedSwitch(1),
        manualSwitch(2),
        idle(65535)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Set the protection switch mode, including forced switch and manual switch. If no mode is set, idle(65535) is displayed."
        ::= { hwErpsPortConfigEntry 8 }
       
    --port status table     
    --1.3.6.1.4.1.2011.5.25.256.1.5
    hwErpsPortStatusTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwErpsPortStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table includes the status of ERPS ports."
        ::= { hwErpsObjects 5 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.5.1
    hwErpsPortStatusEntry OBJECT-TYPE
        SYNTAX HwErpsPortStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table includes the status of ERPS ports.
            The index of the table is ERPS ring identifier, port type, port identifier1, port identifier2, port identifier3, port identifier4.
            If it is an ethernet port including fast ethernet/gigabit ethernet/eth-trunk, the port type is 1, the port identifier1 is the IfIndex of the ethernet port.
            the other port identifier is for extension and not used currently, should be set 0."
        INDEX { hwConfigRingId, hwConfigPortType, hwConfigPortId1, hwConfigPortId2, hwConfigPortId3, 
        hwConfigPortId4 }
        ::= { hwErpsPortStatusTable 1 }

    
    HwErpsPortStatusEntry ::=
        SEQUENCE { 
            hwPortStatusActiveRole
                Integer32,
            hwPortStatusSignalStatus
                INTEGER,
            hwPortStatusFwdStatus
                INTEGER
                }

    -- 1.3.6.1.4.1.2011.5.25.256.1.5.1.1
    hwPortStatusActiveRole OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The active port role:
            role                       value
            common                      0x10
            rplOwner                    0x21
            rplNeighbour                0x22"
        ::= { hwErpsPortStatusEntry 1 }     
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.5.1.7
    hwPortStatusSignalStatus OBJECT-TYPE
        SYNTAX INTEGER
                {
                failed(1),
                nonFailed(2)
                }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The signal status of the port:
                state         value
                failed        1
                nonFailed     2"
            ::= { hwErpsPortStatusEntry 2 }


    -- 1.3.6.1.4.1.2011.5.25.256.1.5.1.8
    hwPortStatusFwdStatus OBJECT-TYPE
            SYNTAX INTEGER
                {
                discarding(1),
                forwarding(2)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The forwarding status of the port:
                state         value
                discarding     1
                forwarding     2"
            ::= { hwErpsPortStatusEntry 3 }

    
    --port Statistics table     
    --1.3.6.1.4.1.2011.5.25.256.1.6
    hwErpsPortStatisticsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwErpsPortStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table includes the statistics of ERPS ports."
        ::= { hwErpsObjects 6 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.6.1
    hwErpsPortStatisticsEntry OBJECT-TYPE
        SYNTAX HwErpsPortStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table includes the Statistics of ERPS ports.
            The index of the table is ERPS ring identifier, port type, port identifier1, port identifier2, port identifier3, port identifier4.
            If it is an ethernet port including fast ethernet/gigabit ethernet/eth-trunk, the port type is 1, the port identifier1 is the IfIndex of the ethernet port.
            the other port identifier is for extension and not used currently, should be set 0."
        INDEX { hwConfigRingId, hwConfigPortType, hwConfigPortId1, hwConfigPortId2, hwConfigPortId3, hwConfigPortId4}
        ::= { hwErpsPortStatisticsTable 1 }

    
    HwErpsPortStatisticsEntry ::=
        SEQUENCE { 
            hwRxRapsSfPktCnt
                Counter32,
            hwTxRapsSfPktCnt
                Counter32,
            hwRxRapsNrPktCnt
                Counter32,
            hwTxRapsNrPktCnt
                Counter32,
            hwRxRapsNrRbPktCnt
                Counter32,
            hwTxRapsNrRbPktCnt
                Counter32,  
            hwRxRapsFsPktCnt
                Counter32,
            hwTxRapsFsPktCnt
                Counter32,
            hwRxRapsMsPktCnt
                Counter32,
            hwTxRapsMsPktCnt
                Counter32,
            hwRxRapsEventPktCnt
                Counter32,
            hwTxRapsEventPktCnt
                Counter32            
             }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.6.1.1
    hwRxRapsSfPktCnt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of received RAPS SF packets."
        ::= { hwErpsPortStatisticsEntry 1 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.3.1.2
    hwTxRapsSfPktCnt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of transmitted RAPS SF packets."
        ::= { hwErpsPortStatisticsEntry 2 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.3.1.3
    hwRxRapsNrPktCnt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of received RAPS NR packets."
        ::= { hwErpsPortStatisticsEntry 3 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.3.1.4
    hwTxRapsNrPktCnt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of transmitted RAPS NR packets."
        ::= { hwErpsPortStatisticsEntry 4 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.3.1.5
    hwRxRapsNrRbPktCnt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of received RAPS NRRB packets."
        ::= { hwErpsPortStatisticsEntry 5 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.3.1.6
    hwTxRapsNrRbPktCnt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of transmitted RAPS NRRB packets."
        ::= { hwErpsPortStatisticsEntry 6 }
        
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.3.1.7
    hwRxRapsFsPktCnt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of received RAPS FS packets."
        ::= { hwErpsPortStatisticsEntry 7 }  
        
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.3.1.8
    hwTxRapsFsPktCnt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of transmitted RAPS FS packets."
        ::= { hwErpsPortStatisticsEntry 8 }    
        
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.3.1.9
    hwRxRapsMsPktCnt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of received RAPS MS packets."
        ::= { hwErpsPortStatisticsEntry 9 }
        
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.3.1.10
    hwTxRapsMsPktCnt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of transmitted RAPS MS packets."
        ::= { hwErpsPortStatisticsEntry 10 }
        
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.3.1.11
    hwRxRapsEventPktCnt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of received RAPS Event packets."
        ::= { hwErpsPortStatisticsEntry 11 }
        
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.3.1.12
    hwTxRapsEventPktCnt OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The number of transmitted RAPS Event packets."
        ::= { hwErpsPortStatisticsEntry 12 }
        
        
    --ERPS port tracking information table     
    --1.3.6.1.4.1.2011.5.25.256.1.7
    hwErpsPortTrackTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwErpsPortTrackEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table includes the information of ERPS ports track."
        ::= { hwErpsObjects 7 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.7.1
    hwErpsPortTrackEntry OBJECT-TYPE
        SYNTAX HwErpsPortTrackEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The table includes the information of ERPS ports track.
            The index of the table is ERPS ring identifier, port type, port identifier1, port identifier2, port identifier3, port identifier4, protocol type.
            If it is an ethernet port including fast ethernet/gigabit ethernet/eth-trunk, the port type is 1, the port identifier1 is the IfIndex of the ethernet port.
            the other port identifier is for extension and not used currently, should be set 0."
        INDEX { hwConfigRingId, hwConfigPortType, hwConfigPortId1, hwConfigPortId2, hwConfigPortId3, hwConfigPortId4, hwErpsPortTrackProtocolType}
        ::= { hwErpsPortTrackTable 1 }


    HwErpsPortTrackEntry ::=
        SEQUENCE { 
            hwErpsPortTrackProtocolType
                INTEGER,
            hwErpsPortTrackRowStatus
                RowStatus,    
            hwErpsPortTrackCfmMdName
                OCTET STRING,
            hwErpsPortTrackCfmMaName
                OCTET STRING,
            hwErpsPortTrackCfmMepId
                Integer32,
            hwErpsPortTrackCfmRmepId
                Integer32        
             }
    
    
    -- 1.3.6.1.4.1.2011.5.25.256.1.7.1.1
    hwErpsPortTrackProtocolType OBJECT-TYPE
        SYNTAX INTEGER
        {
        cfm(1)   
        }
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "The protocol type that ERPS port tracks. Currently ERPS port just supports tracking CFM."
        ::= { hwErpsPortTrackEntry 1 }             

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.7.1.2
    hwErpsPortTrackRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The CreateAndGo operation enables an ERPS port to track the protocol. The Destroy operation disables an ERPS port from tracking the protocol." 
        ::= { hwErpsPortTrackEntry 2 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.1.7.1.3
    hwErpsPortTrackCfmMdName OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE (1..43))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION	
            "The name of maintenance domain."
        ::= { hwErpsPortTrackEntry 3 }
        

    -- 1.3.6.1.4.1.2011.5.25.256.1.7.1.4
    hwErpsPortTrackCfmMaName OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (1..43))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The name of maintenance association."
        ::= { hwErpsPortTrackEntry 4 }
        
        
    -- 1.3.6.1.4.1.2011.5.25.256.1.7.1.5
    hwErpsPortTrackCfmMepId OBJECT-TYPE
        SYNTAX Integer32 (1..8191)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "MEP ID."
        ::= { hwErpsPortTrackEntry 5 }
        
          
    -- 1.3.6.1.4.1.2011.5.25.256.1.7.1.6
    hwErpsPortTrackCfmRmepId OBJECT-TYPE
        SYNTAX Integer32 (1..8191)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Remote MEP ID."
        ::= { hwErpsPortTrackEntry 6 }
  
    
              
    -- 1.3.6.1.4.1.2011.5.25.256.4
    hwErpsNotifications OBJECT IDENTIFIER ::= { hwErpsMIB 4 }


    -- 1.3.6.1.4.1.2011.5.25.256.4.1
    hwErpsFwStateForwarding NOTIFICATION-TYPE
        OBJECTS { hwConfigRingId , ifName }
        STATUS current
        DESCRIPTION 
            "Trap message is generated by ERPS node when 
            it detects that the state of ERPS port changes to forwarding."
        ::= { hwErpsNotifications 1 }


    -- 1.3.6.1.4.1.2011.5.25.256.4.2
    hwErpsFwStateDiscarding NOTIFICATION-TYPE
        OBJECTS { hwConfigRingId , ifName }
        STATUS current
        DESCRIPTION 
            "Trap message is generated by ERPS node when 
            it detects that the state of ERPS port changes to discarding."
        ::= { hwErpsNotifications 2 }

 
                    
    -- 1.3.6.1.4.1.2011.5.25.256.2
    hwErpsGroups OBJECT IDENTIFIER ::= { hwErpsMIB 2 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.2.1
    hwErpsGlobalInfoGroup OBJECT-GROUP
        OBJECTS { hwErpsGlobalResetRapsPktCnt }
        STATUS current
        DESCRIPTION 
            "The group of global information."
        ::= { hwErpsGroups 1 }

    
    -- 1.3.6.1.4.1.2011.5.25.256.2.2
    hwErpsRingConfigInfoGroup OBJECT-GROUP
        OBJECTS { hwConfigRingRowStatus, hwConfigDescription, hwConfigControlVlanId, hwConfigProtectedInstanceList,  
            hwConfigWtrTimerSettingValue, hwConfigGuardTimerSettingValue, hwConfigHoldoffTimerSettingValue,
            hwConfigResetRapsPktCnt, hwConfigRapsMel, hwConfigVersion, hwConfigRevertiveMode, hwConfigRingRole, hwConfigRapsChannelMode, hwConfigTcNotifyErpsRing, 
            hwConfigTcProtectionInterval, hwConfigTcProtectionThreshold, hwConfigProtectionSwitch }
        STATUS current
        DESCRIPTION 
            "The group of ring configuration."
        ::= { hwErpsGroups 2 } 
        
    -- 1.3.6.1.4.1.2011.5.25.256.2.3
    hwErpsRingStatusInfoGroup OBJECT-GROUP
        OBJECTS { hwStatusWtrTimerRunningValue, hwStatusGuardTimerRunningValue, hwStatusHoldoffTimerRunningValue,
            hwStatusMachineState, hwStatusTopoLastChangeTime, hwStatusWtbTimerRunningValue }
        STATUS current
        DESCRIPTION 
            "The group of ring status."
        ::= { hwErpsGroups 3 }
    
    -- 1.3.6.1.4.1.2011.5.25.256.2.4
    hwErpsPortConfigInfoGroup OBJECT-GROUP
        OBJECTS { hwConfigPortRowStatus, hwConfigPortConfigRole, hwConfigPortProtectionSwitch }
        STATUS current
        DESCRIPTION 
            "The group of port configuration."
        ::= { hwErpsGroups 4 }
    
    
    -- 1.3.6.1.4.1.2011.5.25.256.2.5
    hwErpsPortStatusInfoGroup OBJECT-GROUP
        OBJECTS { hwPortStatusActiveRole, hwPortStatusSignalStatus, hwPortStatusFwdStatus }
        STATUS current
        DESCRIPTION 
            "The group of port status."
        ::= { hwErpsGroups 5 }


    -- 1.3.6.1.4.1.2011.5.25.256.2.6
    hwErpsPortStatisticsInfoGroup OBJECT-GROUP
        OBJECTS { hwRxRapsSfPktCnt, hwTxRapsSfPktCnt, hwRxRapsNrPktCnt, hwTxRapsNrPktCnt,
            hwRxRapsNrRbPktCnt, hwTxRapsNrRbPktCnt, hwRxRapsFsPktCnt, hwTxRapsFsPktCnt, hwRxRapsMsPktCnt, hwTxRapsMsPktCnt, hwRxRapsEventPktCnt, hwTxRapsEventPktCnt }
        STATUS current
        DESCRIPTION 
            "The group of port information."
        ::= { hwErpsGroups 6 }
        
        
    -- 1.3.6.1.4.1.2011.5.25.256.2.7
    hwErpsPortTrackInfoGroup OBJECT-GROUP
        OBJECTS { hwErpsPortTrackProtocolType, hwErpsPortTrackRowStatus, hwErpsPortTrackCfmMdName, hwErpsPortTrackCfmMaName, hwErpsPortTrackCfmMepId, hwErpsPortTrackCfmRmepId }
        STATUS current
        DESCRIPTION 
            "The group of ERPS port tracking information."
        ::= { hwErpsGroups 7 }


    -- 1.3.6.1.4.1.2011.5.25.256.2.8
    hwErpsNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS { hwErpsFwStateForwarding, hwErpsFwStateDiscarding }
        STATUS current
        DESCRIPTION 
            "The notification group."
        ::= { hwErpsGroups 8 }

-- compliance statements
    hwErpsConformance  OBJECT IDENTIFIER ::= { hwErpsMIB 3 }   
                        
    hwErpsCompliances  OBJECT IDENTIFIER ::= { hwErpsConformance 1 }
                
    hwErpsCompliance MODULE-COMPLIANCE
	STATUS current
	DESCRIPTION
            "The core compliance statement for all implementations."
	MODULE -- this module
	MANDATORY-GROUPS  {
		hwErpsGlobalInfoGroup,
		hwErpsRingConfigInfoGroup,
		hwErpsRingStatusInfoGroup,
		hwErpsPortConfigInfoGroup, 
		hwErpsPortStatusInfoGroup,
		hwErpsPortStatisticsInfoGroup,
                                        hwErpsNotificationGroup  		            		            		            
	    }
	    ::= { hwErpsCompliances 1 } 
	    
    END

--
-- HUAWEI-ERPS-MIBv2.my
--