-- ==================================================================
-- Copyright (C) 2002 by HUAWEI-3COM TECHNOLOGIES. All rights reserved.
--
-- Description:  HUAWEI-3COM LAN Switch RRPP MIB
-- Reference:
-- Version: V1.4
-- History:
-- V1.0 2004-12-02 Created by XueCong
-- V1.1 2006-12-21 Modified by XuPengfei
--     Add objects: h3cRrppPortRXEdgeHello, h3cRrppPortRXMajorFault,
--     h3cRrppPortTXEdgeHello, h3cRrppPortTXMajorFault, h3cRrppMajorFault.
-- V1.2 2007-03-01 Modified by ZhouXiaodong
--     Modify the description of h3cRrppMajorFault.
--     Adjust file format.
-- V1.3 2007-04-26 Modified by GuCe
--     Add objects: h3cRrppDomainInstanceListLow, h3cRrppDomainInstanceListHigh.
-- V1.4 2007-06-18 Modified by SongJianyong
--     Modify the description of h3cRrppDomainInstanceListLow and
--     h3cRrppDomainInstanceListHigh.
--     Add objects: h3cRrppDomainProtectVlanListLow,
--     h3cRrppDomainProtectVlanListHigh, h3cRrppProtectVlanConfigMode.
-- ==================================================================
-- ==================================================================
--
-- Variables and types be imported
--
-- ==================================================================
H3C-RRPP-MIB DEFINITIONS ::= BEGIN

IMPORTS

    MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32, OBJECT-IDENTITY,
    NOTIFICATION-TYPE
        FROM SNMPv2-SMI

    RowStatus,TEXTUAL-CONVENTION
        FROM SNMPv2-TC

    h3cCommon
        FROM HUAWEI-3COM-OID-MIB;

h3cRrpp MODULE-IDENTITY
    LAST-UPDATED "200412020000Z"
    ORGANIZATION
        "Huawei 3Com Technologies Co., Ltd."
    CONTACT-INFO
        "Platform Team Huawei 3Com Technologies Co., Ltd.
         Hai-Dian District Beijing P.R. China
         Http://www.huawei-3com.com
         Zip:100085"
    DESCRIPTION
        "The RRPP (Rapid Ring Protection protocol) provides
        fast protection switching to layer 2 switches
        interconnected in an Ethernet ring topology.  When
        a link in the ring breaks, the RRPP can recover the
        data path quickly.  Its protection switching is
        similar to what can be achieved with the Spanning
        Tree Protocol (STP), but the converging time is less
        than a second after link failure.
        This MIB defines management information used on
        products which support RRPP."
    ::= { h3cCommon  45 }

EnabledStatus ::=  TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A simple status value for the object."
    SYNTAX      INTEGER{enabled(1),disabled(2)}

-- ==================================================================
--
-- ======================= definition begin =========================
--
-- ==================================================================

h3cRrppScalarGroup OBJECT IDENTIFIER ::= {  h3cRrpp 1  }

h3cRrppEnableStatus OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicating whether the RRPP is enabled on this switch."
    ::= { h3cRrppScalarGroup 1 }

h3cRrppPassword OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..16))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Password configured for RRPP nodes to identify the validity
        of a link-down message.  This value must be set together with
        h3cRrppPasswordType which indicates whether this value can
        be got.  This value can not be set alone without configuring
        h3cRrppPasswordType."
    DEFVAL     { '303030464532303346443735'H }
    ::= { h3cRrppScalarGroup 2 }

h3cRrppPasswordType OBJECT-TYPE
    SYNTAX      INTEGER{simple(1),cipher(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicating whether the h3cRrppPassword can be got.
        simple(1):h3cRrppPassword can be got.
        cipher(2):h3cRrppPassword can not be got.
        This value can not be set alone without configuring
        h3cRrppPassword."
    ::= { h3cRrppScalarGroup 3 }

h3cRrppProtectVlanConfigMode OBJECT-TYPE
    SYNTAX      INTEGER{vlan(1),instance(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicating the mode in which the protected VLANs of an RRPP
        domain are configured. The value 'vlan' indicates that
        h3cRrppDomainProtectVlanListLow and h3cRrppDomainProtectVlanListHigh
        can be used for setting protected VLANs, while
        h3cRrppDomainInstanceListLow and h3cRrppDomainInstanceListHigh
        cannot. By contraries, the value 'instance' indicates
        that 3cRrppDomainInstanceListLow and h3cRrppDomainInstanceListHigh
        can be used for setting protected VLANs while the other two cannot."
    ::= { h3cRrppScalarGroup 4 }

h3cRrppTable OBJECT IDENTIFIER ::= {  h3cRrpp 2  }

h3cRrppDomainTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cRrppDomainEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing information about configurations
        and status of a RRPP domain."
    ::= { h3cRrppTable  1 }

h3cRrppDomainEntry OBJECT-TYPE
    SYNTAX      H3cRrppDomainEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Detailed information of a specified RRPP domain."
    INDEX
        {
            h3cRrppDomainID
        }
    ::= { h3cRrppDomainTable 1 }

H3cRrppDomainEntry  ::= SEQUENCE
    {
        h3cRrppDomainID               Integer32,
        h3cRrppDomainControlVlanID    Integer32,
        h3cRrppDomainHelloTime        Integer32,
        h3cRrppDomainFailTime         Integer32,
        h3cRrppDomainRowStatus        RowStatus,
        h3cRrppDomainInstanceListLow  OCTET STRING,
        h3cRrppDomainInstanceListHigh OCTET STRING,
        h3cRrppDomainProtectVlanListLow  OCTET STRING,
        h3cRrppDomainProtectVlanListHigh OCTET STRING
    }

h3cRrppDomainID OBJECT-TYPE
    SYNTAX      Integer32(1..16)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "An index uniquely identifies a RRPP domain,
        which ranges from 1~16.
        This value can't be modified after created."
    ::= { h3cRrppDomainEntry 1 }

h3cRrppDomainControlVlanID OBJECT-TYPE
    SYNTAX      Integer32(2..4094|65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Index of the control VLAN specified to a domain.
        The value 65535 indicates the control VLAN has
        not been configured.
        The VLAN assigned to a RRPP Domain must not have
        been created.
        This value can't be modified after created."
    ::= { h3cRrppDomainEntry 2 }

h3cRrppDomainHelloTime OBJECT-TYPE
    SYNTAX      Integer32(1..10)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value indicates the interval between two hello
        packets sent by master-node, and its unit is second.
        The value ranges from 1s~10s."
    DEFVAL     { 1 }
    ::= { h3cRrppDomainEntry 3 }

h3cRrppDomainFailTime OBJECT-TYPE
    SYNTAX      Integer32(3..30)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The expiration value of the fail-period timer and its unit
        is second.  If not receiving hello packets before this
        expires, the master-node considers the ring is broken.
        The value of this node ranging from 3s~30s must not be
        less than triple h3cRrppDomainHelloTime's value."
    DEFVAL     { 3 }
    ::= { h3cRrppDomainEntry 4 }

h3cRrppDomainRowStatus 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."
    ::= { h3cRrppDomainEntry 5 }

h3cRrppDomainInstanceListLow OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(256))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Each octet contained in this value specifies an eight-instance
        group, with the first octet specifying instances 0 through 7,
        the second octet specifying instances 8 through 15, and so on.
        Within each octet, the most significant bit represents the
        highest numbered instance, and the least significant bit represents
        the lowest numbered instance. Thus, each instance to which the
        protected VLANs of an RRPP domain are mapped corresponds to a
        bit within the value of this object. A bit with a value of '1'
        indicates that the VLANs mapped to the instance are protected
        VLANs of the RRPP domain. By contraries, the VLANs mapped to the
        instance are not protected VLANs if the corresponding bit has a
        value of '0'. The value of this object must be set with
        h3cRrppDomainInstanceListHigh at the same time when a SET
        operation is performed.
        This object is valid only when the value of h3cRrppProtectVlanConfigMode
        is 'instance'. If this object is invalid, it does not respond to SET
        operation, and it returns all '0' bits in response to GET operation."
    ::= { h3cRrppDomainEntry 6 }

h3cRrppDomainInstanceListHigh OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(256))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Each octet contained in this value specifies an eight-instance
        group, with the first octet specifying instances 2048 through
        2055, the second octet specifying instances 2056 through 2063,
        and so on. Within each octet, the most significant bit represents
        the highest numbered instance, and the least significant bit
        represents the lowest numbered instance. The most significant bit
        of the last octet is invalid. Thus, each instance to which the
        protected VLANs of an RRPP domain are mapped corresponds to a bit
        within the value of this object. A bit with a value of '1' indicates
        that the VLANs mapped to the instance are protected VLANs of the
        RRPP domain. By contraries, the VLANs mapped to the instance are
        not protected VLANs if the corresponding bit has a value of '0'.
        The value of this object must be set with h3cRrppDomainInstanceListLow
        at the same time when a SET operation is performed.
        This object is valid only when the value of h3cRrppProtectVlanConfigMode
        is 'instance'. If this object is invalid, it does not respond to SET
        operation, and it returns all '0' bits in response to GET operation."
    ::= { h3cRrppDomainEntry 7 }

h3cRrppDomainProtectVlanListLow OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(256))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Each octet contained in this value specifies an eight-VLAN group,
        with the first octet specifying VLANs 1 through 7, the second
        octet specifying VLANs 8 through 15, and so on. Within each octet,
        the most significant bit represents the highest numbered VLAN, and
        the least significant bit represents the lowest numbered VLAN.
        The least significant bit of the first octet is invalid. Thus,
        each protected VLAN of an RRPP domain corresponds to a bit within
        the value of this object. A bit with a value of '1' indicates that
        the corresponding VLAN is a protected VLAN of the RRPP domain.
        By contraries, the VLAN is not a protected VLAN if the
        corresponding bit has a value of '0'. The value of this object
        must be set with h3cRrppDomainProtectVlanListHigh at the same time
        when a SET operation is performed.
        This object is valid only when the value of h3cRrppProtectVlanConfigMode
        is 'vlan'. If this object is invalid, it does not respond to SET
        operation, and it returns all '0' bits in response to GET operation."
    ::= { h3cRrppDomainEntry 8 }

h3cRrppDomainProtectVlanListHigh OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(256))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Each octet contained in this value specifies an eight-VLAN group,
        with the first octet specifying VLANs 2048 through 2055, the
        second octet specifying VLANs 2056 through 2063, and so on. Within
        each octet, the most significant bit represents the highest
        numbered VLAN, and the least significant bit represents the lowest
        numbered VLAN. The most significant bit of the last octet is
        invalid. Thus, each protected VLAN of an RRPP domain corresponds
        to a bit within the value of this object. A bit with a value of '1'
        indicates that the corresponding VLAN is a protected VLAN of the
        RRPP domain. By contraries, the VLAN is not a protected VLAN if
        the corresponding bit has a value of '0'. The value of this object
        must be set with h3cRrppDomainProtectVlanListLow at the same time
        when a SET operation is performed.
        This object is valid only when the value of h3cRrppProtectVlanConfigMode
        is 'vlan'. If this object is invalid, it does not respond to SET
        operation, and it returns all '0' bits in response to GET operation."
    ::= { h3cRrppDomainEntry 9 }

h3cRrppRingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cRrppRingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing information about configurations
        and status of a RRPP Ring."
    ::= { h3cRrppTable  2 }

h3cRrppRingEntry OBJECT-TYPE
    SYNTAX      H3cRrppRingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Detailed information of a specified RRPP Ring."
    INDEX
        {
            h3cRrppDomainID,
            h3cRrppRingID
        }
    ::= { h3cRrppRingTable 1 }

H3cRrppRingEntry  ::= SEQUENCE
    {
        h3cRrppRingID               Integer32,
        h3cRrppRingEnableStatus     EnabledStatus,
        h3cRrppRingActive           INTEGER,
        h3cRrppRingState            INTEGER,
        h3cRrppRingNodeMode         INTEGER,
        h3cRrppRingPrimaryPort      Integer32,
        h3cRrppRingSecondaryPort    Integer32,
        h3cRrppRingLevel            INTEGER,
        h3cRrppRingRowStatus        RowStatus
    }

h3cRrppRingID OBJECT-TYPE
    SYNTAX      Integer32(1..64)
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "An index uniquely identifies a RRPP Ring,
        which ranges from 1~64.
        This value can't be modified after created."
    ::= { h3cRrppRingEntry 1 }

h3cRrppRingEnableStatus OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Indicating whether the RRPP is enabled on this Ring.
        NOTE: If major-ring and sub-ring(s) of a domain
        coexist on a switch, major-ring must be enabled
        before sub-ring is enabled.  And sub-ring must be
        disabled before major-ring is disabled."
    ::= { h3cRrppRingEntry 2 }

h3cRrppRingActive OBJECT-TYPE
    SYNTAX      INTEGER{active(1),inactive(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "As both h3cRrppEnableStatus and h3cRrppRingEnableStatus
        are enabled, the ring is activated.  Whereas either of
        the two items is disabled, the ring is inactive."
    ::= { h3cRrppRingEntry 3 }

h3cRrppRingState OBJECT-TYPE
    SYNTAX      INTEGER{unknown(1),health(2),fault(3)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status (i.e. unknown, health or fault) of the Ethernet
        ring.
        This is valid only on the master-node."
    ::= { h3cRrppRingEntry 4 }

h3cRrppRingNodeMode OBJECT-TYPE
    SYNTAX      INTEGER{master(1),transit(2),edge(3),assistantEdge(4)}
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "There are four RRPP node modes for the switch on a RRPP
        ring, such as master, transit, edge and assistant-edge.
        Each RRPP ring has a single designated master-node.  All
        other nodes except edge-node and assistant-edge-node on
        that ring are referred to as transit-nodes.
        The node mode of edge and assistant-edge should be
        configured only on sub-ring.  When there is a common link
        between a sub-ring and its major-ring, the node mode of
        the sub-ring must be edge or assistant-edge, and they must
        be configured in pairs.
        If node mode is designated as edge or assistant-edge,
        several points should be noticed:
        Major-ring must be created before a sub-ring is created;
        Major-ring can't be deleted unless all its sub-rings are
        deleted;
        The node mode of the switch on major-ring must be
        transit;
        Major-ring and sub-ring must have only a common port.
        This value can't be modified after created."
    ::= { h3cRrppRingEntry 5 }

h3cRrppRingPrimaryPort OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "If the switch is a master-node or transit-node, this value
        is the primary port ifIndex; otherwise, if the switch is a
        edge-node or assistant-edge-node, this value is the common
        port ifIndex.
        This value can't be modified after created."
    ::= { h3cRrppRingEntry 6 }

h3cRrppRingSecondaryPort OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "If the switch is a master-node or transit-node, this value
        is the secondary port ifIndex; otherwise, if the switch is
        an edge-node or assistant-edge-node, this value is the edge
        port ifIndex.
        This value can't be modified after created."
    ::= { h3cRrppRingEntry 7 }

h3cRrppRingLevel OBJECT-TYPE
    SYNTAX      INTEGER{majorRing(1),subRing(2)}
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Level of a ring.  This field should be set 1 on major-ring
        and 2 on the sub-ring.
        This value can't be modified after created."
    ::= { h3cRrppRingEntry 8 }

h3cRrppRingRowStatus 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.
        To create a new row, h3cRrppRingNodeMode,
        h3cRrppRingPrimaryPort, h3cRrppRingSecondaryPort and
        h3cRrppRingLevel must be specified."
    ::= { h3cRrppRingEntry 9 }

h3cRrppPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cRrppPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing information about configurations and
        status of a RRPP port."
    ::= { h3cRrppTable 3 }

h3cRrppPortEntry OBJECT-TYPE
    SYNTAX      H3cRrppPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Detailed information of a specified RRPP port."
    INDEX
        {
            h3cRrppDomainID,
            h3cRrppRingID,
            h3cRrppPortID
        }
    ::= { h3cRrppPortTable 1 }

H3cRrppPortEntry  ::= SEQUENCE
    {
        h3cRrppPortID                 Integer32,
        h3cRrppPortRole               INTEGER,
        h3cRrppPortState              INTEGER,
        h3cRrppPortRXError            Counter32,
        h3cRrppPortRXHello            Counter32,
        h3cRrppPortRXLinkUp           Counter32,
        h3cRrppPortRXLinkDown         Counter32,
        h3cRrppPortRXCommonFlush      Counter32,
        h3cRrppPortRXCompleteFlush    Counter32,
        h3cRrppPortTXHello            Counter32,
        h3cRrppPortTXLinkUp           Counter32,
        h3cRrppPortTXLinkDown         Counter32,
        h3cRrppPortTXCommonFlush      Counter32,
        h3cRrppPortTXCompleteFlush    Counter32,
        h3cRrppPortRXEdgeHello        Counter32,
        h3cRrppPortRXMajorFault       Counter32,
        h3cRrppPortTXEdgeHello        Counter32,
        h3cRrppPortTXMajorFault       Counter32
    }

h3cRrppPortID OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "ifIndex of the port."
    ::= { h3cRrppPortEntry 1 }

h3cRrppPortRole OBJECT-TYPE
    SYNTAX      INTEGER{primary(1),secondary(2),common(3),edge(4)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The RRPP role of the port.
        (i.e. primary, secondary, common or edge port)."
    ::= { h3cRrppPortEntry 2 }

h3cRrppPortState OBJECT-TYPE
    SYNTAX      INTEGER{unknown(1),unblocked(2),blocked(3),down(4)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "State of RRPP port, including unknown, unblocked, blocked
        and down."
    ::= { h3cRrppPortEntry 3 }

h3cRrppPortRXError OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of illegal RRPP packets received from
        this port."
    ::= { h3cRrppPortEntry 4 }

h3cRrppPortRXHello OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of hello packets received from
        this port on specified ring."
    ::= { h3cRrppPortEntry 5 }

h3cRrppPortRXLinkUp OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of link-up packets received
        from this port on specified ring."
    ::= { h3cRrppPortEntry 6 }

h3cRrppPortRXLinkDown OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of link-down packets received
        from this port on specified ring."
    ::= { h3cRrppPortEntry 7 }

h3cRrppPortRXCommonFlush OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of common-flush packets received from
        this port on specified ring.
        Instruction
        When master-node receives valid link-down packets
        or link-up packets, it will send common-flush packets,
        instructing the other nodes on the ring to flush their
        forwarding database.
        When the nodes except master-node receive common-flush,
        they will flush forwarding database.  If there is any
        port blocked on that node, it won't be unblocked."
    ::= { h3cRrppPortEntry 8 }

h3cRrppPortRXCompleteFlush OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of complete-flush packets received
        from this port on specified ring.
        Instruction
        When the ring recovers, master-node will receive its own
        hello packets.  It will send complete-flush packets,
        instructing the other nodes on the ring to flush their
        forwarding database.
        When the nodes except master-node receive complete-flush,
        they will flush forwarding database.  If there is any port
        blocked on that node, it will be unblocked."
    ::= { h3cRrppPortEntry 9 }

h3cRrppPortTXHello OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of hello packets sent from
        this port on specified ring."
    ::= { h3cRrppPortEntry 10 }

h3cRrppPortTXLinkUp OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of link-up packets sent
        from this port on specified ring."
    ::= { h3cRrppPortEntry 11 }

h3cRrppPortTXLinkDown OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of link-down packets sent
        from this port on specified ring."
    ::= { h3cRrppPortEntry 12 }

h3cRrppPortTXCommonFlush OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of common-flush packets sent from
        this port on specified ring."
    ::= { h3cRrppPortEntry 13 }

h3cRrppPortTXCompleteFlush OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of complete-flush packets sent
        from this port on specified ring."
    ::= { h3cRrppPortEntry 14 }

h3cRrppPortRXEdgeHello OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of edge-hello packets received
        from this port on specified ring.
        When edge-node sends edge-hello packets,
        assistantEdge-node will receive its own edge-hello
        packets from the common link and the master ring."
    ::= { h3cRrppPortEntry 15 }

h3cRrppPortRXMajorFault OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of major-fault packets received
        from this port on specified ring.
        When assistantEdge can't receive edge-hello packets
        in the specified fault-time,
        assistantEdge-node will send its own major-fault
        packets from the edge port around the sub ring.
        Edge-node will receive the major-fault packets from
        its edge port. Then Edge-node will block its edge port."
    ::= { h3cRrppPortEntry 16 }

h3cRrppPortTXEdgeHello OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of edge-hello packets sent
        from this port on specified ring."
    ::= { h3cRrppPortEntry 17 }

h3cRrppPortTXMajorFault OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The statistics of major-fault packets sent
        from this port on specified ring."
    ::= { h3cRrppPortEntry 18 }

h3cRrppNotifications OBJECT IDENTIFIER ::= {  h3cRrpp 3  }

h3cRrppRingRecover NOTIFICATION-TYPE
    OBJECTS
        {
            h3cRrppDomainID,
            h3cRrppRingID
        }
    STATUS      current
    DESCRIPTION
        "Trap message is generated by master-node on
        the ring when the ring recovers from fault."
    ::= { h3cRrppNotifications 1 }

h3cRrppRingFail NOTIFICATION-TYPE
    OBJECTS
        {
            h3cRrppDomainID,
            h3cRrppRingID
        }
    STATUS      current
    DESCRIPTION
        "Trap message is generated by master-node on
        the ring when the ring fails."
    ::= { h3cRrppNotifications 2 }

h3cRrppMultiMaster NOTIFICATION-TYPE
    OBJECTS
        {
            h3cRrppDomainID,
            h3cRrppRingID
        }
    STATUS      current
    DESCRIPTION
        "Trap message is generated by master-node when
        it detects there are more than one master-node
        on the ring."
    ::= { h3cRrppNotifications 3 }

h3cRrppMajorFault NOTIFICATION-TYPE
    OBJECTS
        {
            h3cRrppDomainID,
            h3cRrppRingID
        }
    STATUS      current
    DESCRIPTION
        "Trap message is generated by edge-node or assistant-edge-node
        when it detects major fault."
    ::= { h3cRrppNotifications 4 }

END

