-- ==================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- Description: Rstp MIB
-- Reference:
-- Version: V1.4
-- History:
--(1) Created by Zhangshilin, 2001.06.29
--(2) Revised by Qi Zhenglin, 2002.01.08
-- V1.1 2004-10-12 updated by gaolong
--      Import TEXTUAL-CONVENTION, OBJECT-IDENTITY, NOTIFICATION-TYPE.
--      Relocate hpnicfLswRstpMib MODULE-IDENTITY clause.
--      Substitute chinese characters with English words.
--      Change MAX-ACCESS clause value of hpnicfdot1dStpClearStatistics and
--      hpnicfdot1dSetStpDefaultPortCost from write-only to read-write.
-- V1.2 2004-11-10 add hpnicfdot1dStpRXTCBPDU by xuboning
-- V1.3 2004-12-21 add hpnicfdot1dStpPortSendingBPDUType, hpnicfdot1dStpOperPortPointToPoint,
--                 change hpnicfdot1dStpPortPointToPoint by zhuchaopeng
-- V1.4 2005-07-04 modify hpnicfdot1dStpPathCostStandard by zhanghaihong
--                 adjust file format by gaolong 
-- ==================================================================
-- ==================================================================
--
-- Varibles and types be imported
--
-- ==================================================================
HPN-ICF-LswRSTP-MIB DEFINITIONS ::= BEGIN

IMPORTS
     TruthValue, MacAddress, TEXTUAL-CONVENTION
        FROM SNMPv2-TC

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

    dot1dStpPortEntry, dot1dStpPort
        FROM BRIDGE-MIB
    hpnicflswCommon
        FROM HPN-ICF-OID-MIB;

   hpnicfLswRstpMib MODULE-IDENTITY
            LAST-UPDATED "200106290000Z"
            ORGANIZATION
                ""
            CONTACT-INFO
                ""
            DESCRIPTION
            ""
            REVISION "200106290000Z"
            DESCRIPTION
            ""
            ::= { hpnicflswCommon  6 }

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


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

    hpnicfLswRstpMibObject OBJECT IDENTIFIER ::= {  hpnicfLswRstpMib 1  }



     hpnicfdot1dStpStatus OBJECT-TYPE
          SYNTAX   EnabledStatus
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION " Bridge STP enabled/disabled state"
          ::= { hpnicfLswRstpMibObject 1 }

     hpnicfdot1dStpForceVersion OBJECT-TYPE
          SYNTAX   INTEGER
          {
              stp(0),
              rstp(2)
          }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION " Running mode of the bridge RSTP state machine"
          ::= { hpnicfLswRstpMibObject 2 }

     hpnicfdot1dStpDiameter OBJECT-TYPE
          SYNTAX   INTEGER (1..7)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION " Permitted amount of bridges between any two ends on the network."
          ::= { hpnicfLswRstpMibObject 3 }

     hpnicfdot1dStpRootBridgeAddress OBJECT-TYPE
          SYNTAX  MacAddress
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION " MAC address of the root bridge"
          ::= { hpnicfLswRstpMibObject 4 }

     hpnicfDot1dStpBpduGuard  OBJECT-TYPE
          SYNTAX   EnabledStatus
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION " If BPDU guard enabled. The edge port will discard illegal BPDU when enabled"
          ::= { hpnicfLswRstpMibObject 6 }

     hpnicfDot1dStpRootType  OBJECT-TYPE
          SYNTAX  INTEGER
          {
          normal       (1),
          primary      (2),
          secondary    (3)
          }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION " Root type of the bridge"
          ::= { hpnicfLswRstpMibObject 7 }

     hpnicfDot1dTimeOutFactor  OBJECT-TYPE
          SYNTAX   INTEGER (3..7)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION " Time Out Factor of the bridge."
          ::= { hpnicfLswRstpMibObject 8 }

     hpnicfDot1dStpPathCostStandard  OBJECT-TYPE
          SYNTAX  INTEGER
          {
          dot1d-1998       (1),
          dot1t      (2),
          legacy     (3)
          }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION " Path Cost Standard of the bridge. Value 'dot1d-1998' is
          IEEE 802.1d standard in 1998, value 'dot1t' is IEEE 802.1t standard,
          and value 'legacy' is a private legacy standard."
          ::= { hpnicfLswRstpMibObject 9 }

     hpnicfdot1dStpPortXTable  OBJECT-TYPE
          SYNTAX   SEQUENCE OF HpnicfDot1dStpPortXEntry
          MAX-ACCESS not-accessible
          STATUS   current
          DESCRIPTION "RSTP extended information of the port "
          ::= { hpnicfLswRstpMibObject  5 }


     hpnicfdot1dStpPortXEntry  OBJECT-TYPE
          SYNTAX HpnicfDot1dStpPortXEntry
          MAX-ACCESS  not-accessible
          STATUS   current
          DESCRIPTION " RSTP extended information of the port  "
          AUGMENTS    { dot1dStpPortEntry }
          ::= { hpnicfdot1dStpPortXTable 1 }

    HpnicfDot1dStpPortXEntry    ::=
    SEQUENCE {
        hpnicfdot1dStpPortStatus        EnabledStatus   ,
        hpnicfdot1dStpPortEdgeport      TruthValue  ,
        hpnicfdot1dStpPortPointToPoint  INTEGER ,
        hpnicfdot1dStpMcheck        TruthValue  ,
        hpnicfdot1dStpTransLimit        INTEGER ,
        hpnicfdot1dStpRXStpBPDU     Counter32   ,
        hpnicfdot1dStpTXStpBPDU     Counter32   ,
        hpnicfdot1dStpRXTCNBPDU     Counter32   ,
        hpnicfdot1dStpTXTCNBPDU     Counter32   ,
        hpnicfdot1dStpRXRSTPBPDU        Counter32   ,
        hpnicfdot1dStpTXRSTPBPDU        Counter32  ,
        hpnicfdot1dStpClearStatistics   INTEGER ,
        hpnicfdot1dSetStpDefaultPortCost    INTEGER ,
        hpnicfdot1dStpRootGuard         EnabledStatus ,
        hpnicfdot1dStpLoopGuard         EnabledStatus,
        hpnicfdot1dStpPortBlockedReason     INTEGER  ,
        hpnicfdot1dStpRXTCBPDU              Counter32 ,
        hpnicfdot1dStpPortSendingBPDUType   INTEGER,
        hpnicfdot1dStpOperPortPointToPoint  INTEGER
        }



     hpnicfdot1dStpPortStatus  OBJECT-TYPE
          SYNTAX  EnabledStatus
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION " RSTP status of the port"
          ::= { hpnicfdot1dStpPortXEntry 1 }


     hpnicfdot1dStpPortEdgeport  OBJECT-TYPE
          SYNTAX  TruthValue
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION " Whether the port can be an edge port"
          ::= { hpnicfdot1dStpPortXEntry 2 }


     hpnicfdot1dStpPortPointToPoint OBJECT-TYPE
          SYNTAX  INTEGER
          {
          forceTrue (1),
          forceFalse    (2),
          auto      (3)
          }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION " It is the administrative value indicates whether the port
          can be connected to a point-to-point link or not.

          If the value is 'auto', the operative value of a point-to-point link state is
          determined by device itself, and can be read from hpnicfdot1dStpOperPortPointToPoint."
          ::= { hpnicfdot1dStpPortXEntry 3 }


     hpnicfdot1dStpMcheck  OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Check if the port transfer state machine enters"
        ::= { hpnicfdot1dStpPortXEntry 4 }


     hpnicfdot1dStpTransLimit  OBJECT-TYPE
        SYNTAX  INTEGER(1..255)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Packet transmission limit of the bridge in a duration of Hello Time."
        ::= { hpnicfdot1dStpPortXEntry 5 }


     hpnicfdot1dStpRXStpBPDU  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION " Number of STP BPDU received   "
        ::= { hpnicfdot1dStpPortXEntry 6 }


     hpnicfdot1dStpTXStpBPDU  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION " Number of STP BPDU transmitted    "
        ::= { hpnicfdot1dStpPortXEntry 7 }


     hpnicfdot1dStpRXTCNBPDU  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION " Number of TCN BPDU received    "
        ::= { hpnicfdot1dStpPortXEntry 8 }


     hpnicfdot1dStpTXTCNBPDU  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION " Number of TCN BPDU transmitted    "
        ::= { hpnicfdot1dStpPortXEntry 9 }


     hpnicfdot1dStpRXRSTPBPDU  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Number of RSTP BPDU received"
        ::= { hpnicfdot1dStpPortXEntry 10 }


     hpnicfdot1dStpTXRSTPBPDU  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION " Number of RSTP BPDU transmitted    "
        ::= { hpnicfdot1dStpPortXEntry 11 }

      hpnicfdot1dStpClearStatistics  OBJECT-TYPE
        SYNTAX  INTEGER {clear(1)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Clear RSTP statistics. Read operation not supported. "
        ::= { hpnicfdot1dStpPortXEntry 12 }

      hpnicfdot1dSetStpDefaultPortCost  OBJECT-TYPE
        SYNTAX  INTEGER {enable(1)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Set PathCost back to the default setting. Read operation not supported."
        ::= { hpnicfdot1dStpPortXEntry 13 }

     hpnicfdot1dStpRootGuard  OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " If the port guard root bridge. Other bridge which want to be root can not become root through this port if enabled. "
        ::= { hpnicfdot1dStpPortXEntry 14 }

     hpnicfdot1dStpLoopGuard  OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION " Loop guard function that keep a root port or an alternate port in discarding state while the information on the port is aged out."
        ::= { hpnicfdot1dStpPortXEntry 15 }

     hpnicfdot1dStpPortBlockedReason  OBJECT-TYPE
          SYNTAX  INTEGER
          {
          notBlock       (1),
          blockForProtocol   (2),
          blockForRootGuard  (3),
          blockForBPDUGuard  (4),
          blockForLoopGuard  (5)
          }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION " Record the block reason of the port.
               notBlock         (1) means that the port is not in block state,.
               blockForProtocol (2) means that the port is blocked by stp protocol to avoid loop.
               blockForRootGuard(3) means that the root guard flag of bridge is set and a better message received from the port,and the port is blocked.
               blockForBPDUGuard(4) means that the port has been configured as an edge port and receive a BPDU and thus blocked.
               blockForLoopGuard(5) means that the port is blocked for loopguarded. "
        ::= { hpnicfdot1dStpPortXEntry 16 }

     hpnicfdot1dStpRXTCBPDU  OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION " The number of received TC BPDUs "
        ::= { hpnicfdot1dStpPortXEntry 17 }

     hpnicfdot1dStpPortSendingBPDUType  OBJECT-TYPE
        SYNTAX  INTEGER
        {
        stp(0),
        rstp(2)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION " Type of BPDU which the port is sending. "
        ::= { hpnicfdot1dStpPortXEntry 18 }

     hpnicfdot1dStpOperPortPointToPoint  OBJECT-TYPE
        SYNTAX  INTEGER
        {
        true    (1),
        false   (2)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION " This object indicates whether the port
          has connected to a point-to-point link or not.

          The administrative value should be read from hpnicfdot1dStpPortPointToPoint. "
        ::= { hpnicfdot1dStpPortXEntry 19 }

     hpnicfRstpEventsV2 OBJECT-IDENTITY
     STATUS      current
     DESCRIPTION "Definition point for RSTP notifications."
     ::= { hpnicfLswRstpMibObject 0 }

     hpnicfRstpBpduGuarded NOTIFICATION-TYPE
     OBJECTS  { dot1dStpPort }
     STATUS   current
     DESCRIPTION
         "The SNMP trap that is generated when an edged port of the BPDU-guard switch recevies BPDU packets."
     ::= { hpnicfRstpEventsV2 1 }

     hpnicfRstpRootGuarded NOTIFICATION-TYPE
     OBJECTS { dot1dStpPort }
     STATUS    current
     DESCRIPTION
         "The SNMP trap that is generated when a root-guard port receives a superior bpdu."
     ::= { hpnicfRstpEventsV2 2 }

     hpnicfRstpBridgeLostRootPrimary NOTIFICATION-TYPE
     STATUS   current
     DESCRIPTION
         "The SNMP trap that is generated when the bridge is no longer the root bridge of the spanning tree.
          Another switch with higher priority has already been the root bridge. "
     ::= { hpnicfRstpEventsV2 3 }

     hpnicfRstpLoopGuarded NOTIFICATION-TYPE
     OBJECTS { dot1dStpPort }
     STATUS    current
     DESCRIPTION
         "The SNMP trap that is generated when a loop-guard port is aged out ."
     ::= { hpnicfRstpEventsV2 4 }

     hpnicfdot1dStpIgnoredVlanTable  OBJECT-TYPE
          SYNTAX   SEQUENCE OF HpnicfDot1dStpIgnoredVlanEntry
          MAX-ACCESS not-accessible
          STATUS   current
          DESCRIPTION "RSTP extended information of vlan "
          ::= { hpnicfLswRstpMibObject  10 }


     hpnicfdot1dStpIgnoredVlanEntry  OBJECT-TYPE
          SYNTAX HpnicfDot1dStpIgnoredVlanEntry
          MAX-ACCESS  not-accessible
          STATUS   current
          DESCRIPTION " RSTP extended information of the vlan  "
          INDEX    { hpnicfdot1dVlan }
          ::= { hpnicfdot1dStpIgnoredVlanTable 1 }

    HpnicfDot1dStpIgnoredVlanEntry  ::=
    SEQUENCE {
        hpnicfdot1dVlan     INTEGER ,
        hpnicfdot1dStpIgnore    INTEGER
        }

     hpnicfdot1dVlan  OBJECT-TYPE
          SYNTAX  INTEGER(1..4094)
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION " Vlan id supported"
          ::= { hpnicfdot1dStpIgnoredVlanEntry 1 }


     hpnicfdot1dStpIgnore  OBJECT-TYPE
          SYNTAX  INTEGER
          {
          enable    (1),
          disable   (2)
          }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION " Whether the vlan is stp Ignored"
          ::= { hpnicfdot1dStpIgnoredVlanEntry 2 }

END
