NORTEL-NETWORKS-MULTIPLE-SPANNING-TREE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE,
    Integer32, Counter32, TimeTicks
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, TruthValue, RowStatus, MacAddress
        FROM SNMPv2-TC
    BridgeId, Timeout
        FROM BRIDGE-MIB
    VlanId
        FROM Q-BRIDGE-MIB
    bayStackMibs
        FROM SYNOPTICS-ROOT-MIB;

nnMultipleSpanningTreeMib MODULE-IDENTITY
    LAST-UPDATED    "200604100000Z"
    ORGANIZATION    "Nortel Networks"
    CONTACT-INFO    "Nortel Networks"
    DESCRIPTION
        "Nortel Networks Multiple Spanning-Tree MIB

         Copyright 2003 Nortel Networks, Inc.
         All rights reserved.
         This Nortel Networks SNMP Management Information Base
         Specification embodies Nortel Networks' confidential and
         proprietary intellectual property. Nortel Networks retains all
         title and ownership in the Specification, including any
         revisions.

         This Specification is supplied 'AS IS,' and Nortel Networks
         makes no warranty, either express or implied, as to the use,
         operation, condition, or performance of the Specification."

    REVISION "200604100000Z" -- 10 Apr 2006
    DESCRIPTION "v002:  Expanded the range for nnMstMaxHopCount"

    REVISION "200402240000Z" -- 24 Feb 2004
    DESCRIPTION "v001:  Initial version."
    ::= { bayStackMibs 5 }

nnMstNotifications OBJECT IDENTIFIER ::= { nnMultipleSpanningTreeMib 0 }
nnMstObjects       OBJECT IDENTIFIER ::= { nnMultipleSpanningTreeMib 1 }

nnMstScalars OBJECT IDENTIFIER ::= { nnMstObjects 1 }

nnMstNoOfInstancesSupported OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "Indicates Maximum number of spanning tree Instances supported."
   ::= { nnMstScalars 1 }

nnMstMaxHopCount OBJECT-TYPE
   SYNTAX      Integer32 (100..4000)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Indicates the Maximum Hop Count value.
       The granularity of this timer is specified
       to be 1 second.  An agent may return a badValue
       error if a set is attempted to a value which is
       not a whole number of seconds."
   DEFVAL { 2000 }
   ::= { nnMstScalars 2 }

nnMstBrgAddress OBJECT-TYPE
   SYNTAX      MacAddress
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The MAC address used by this bridge when it must
          be referred to in a unique fashion.   It is
          recommended that this be the numerically smallest
          MAC address of all ports that belong to this
          bridge.  However it is only required to be unique.
          When concatenated with nnMstCistBridgePriority or
          nnMstBridgePriority a unique BridgeIdentifier
          is formed which is used in the Spanning Tree Protocol."
   ::= { nnMstScalars 3 }

nnMstCistRoot OBJECT-TYPE
   SYNTAX      BridgeId
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The bridge identifier of the Root of the common spanning
         tree as determined by the Spanning Tree Protocol
         as executed by this node.  This value is used as
         the CIST Root Identifier parameter in all Configuration
         Bridge PDUs originated by this node."
   ::= { nnMstScalars 4 }

nnMstCistRegionalRoot OBJECT-TYPE
   SYNTAX      BridgeId
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The bridge identifier of the Root of the Multiple
         spanning tree region as determined by the Spanning Tree
         Protocol as executed by this node.  This value is used as
         the CIST Regional Root Identifier parameter in all Configuration
         Bridge PDUs originated by this node."
   ::= { nnMstScalars 5 }

nnMstCistRootCost OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The Cost of the path to the CIST Root as seen
        from this bridge."
   ::= { nnMstScalars 6 }

nnMstCistRegionalRootCost OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The Cost of the path to the CIST Regional Root
        as seen from this bridge."
   ::= { nnMstScalars 7 }

nnMstCistRootPort OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The Port Number of the Port which offers the lowest
       path cost from this bridge to the CIST Root Bridge."
   ::= { nnMstScalars 8 }

nnMstCistBridgePriority OBJECT-TYPE
   SYNTAX      Integer32 (0..61440)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
        "The Value of the writable portion of the Bridge
        Identifier comprising of the first two octets.
        The values that are set for Bridge Priority must be
        in steps of 4096."
   DEFVAL {32768}
   ::= { nnMstScalars 9 }

nnMstCistBridgeMaxAge OBJECT-TYPE
   SYNTAX      Timeout (600..4000)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
        "The value that all bridges use for MaxAge when
         this bridge is acting as the root. The granularity
         of this timer is specified to be 1 second.
         An agent may return a badValue error if a set is
         attempted to a value which is not a whole number
         of seconds."
   DEFVAL {2000}
   ::= { nnMstScalars 10 }

nnMstCistBridgeForwardDelay OBJECT-TYPE
   SYNTAX      Timeout (400..3000)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
        "The value that all bridges use for ForwardDelay
         when this bridge is acting as the root.  Note that
         802.1D specifies that the range for this
         parameter is related to the value of
         BridgeMaxAge.  The granularity of this
         timer is specified to be 1 second.
         An agent may return a badValue error if a set is
         attempted to a value which is not a whole number
         of seconds."
   DEFVAL {1500}
   ::= { nnMstScalars 11 }

nnMstCistHoldTime OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "This time value determines the interval length
         during which no more than two Configuration bridge
         PDUs shall be transmitted by this node, in units
         of hundredths of a second."
   ::= { nnMstScalars 12 }

nnMstCistMaxAge OBJECT-TYPE
   SYNTAX      Timeout
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The maximum age of Spanning Tree Protocol
          information learned from the network on any port
          before it is discarded, in units of hundredths of
          a second.  This is the actual value that this
          bridge is currently using."
   ::= { nnMstScalars 13 }

nnMstCistForwardDelay OBJECT-TYPE
   SYNTAX      Timeout
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
             "This time value, measured in units of hundredths
           of a second, controls how fast a port changes its
           spanning state when moving towards the Forwarding
           state.  The value determines how long the port
           stays in a particular state before moving to the
           next state."
   ::= { nnMstScalars 14 }

nnMstMstpUpCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The number of times MSTP Module has been enabled.
        A Trap is generated on the occurence of this event."
   ::= { nnMstScalars 15 }

nnMstMstpDownCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The number of times MSTP Module has been disabled.
        A Trap is generated on the occurence of this event."
   ::= { nnMstScalars 16 }

nnMstPathCostDefaultType OBJECT-TYPE
SYNTAX      INTEGER {
               stp8021d1998(1),
               stp8021t2001(2)
            }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
        "The version of the Spanning Tree default Path Costs that
         are to be used by this Bridge.  A value of 8021d1998(1)
         uses the 16-bit default Path Costs from IEEE Std. 802.1D-1998.
         A value of stp8021t2001(2) uses the 32-bit default Path
         Costs from IEEE Std. 802.1t."
   ::= { nnMstScalars 17 }

nnMstForceProtocolVersion OBJECT-TYPE
   SYNTAX      INTEGER {
                  stpCompatible(0),
                  rstp(2),
                  mstp(3)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
        "The version of Spanning Tree Protocol the bridge is
        currently running.  The value 'stpCompatible(0)'
        indicates the Spanning Tree Protocol specified in
        IEEE 802.1D and 'rstp(2)' indicates the Rapid Spanning
        Tree Protocol specified in IEEE 802.1w and 'mstp(3)'
        indicates the Multiple Spanning Tree Protocol Specified
        in IEEE 802.1s."

   DEFVAL { mstp }
   ::= { nnMstScalars 18 }

nnMstTxHoldCount OBJECT-TYPE
    SYNTAX      INTEGER (1..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value used by the Port Transmit state machine to limit
         the maximum transmission rate."
    DEFVAL  { 3 }
   ::= { nnMstScalars 19 }

nnMstConfigIdSel OBJECT-TYPE
   SYNTAX      Integer32 (0..255)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The Configuration Identifier Format Selector used
       by the Bridge. This has a fixed value of 0 to indicate
       RegionName, RegionVersion are specified as in Standard."
   ::= { nnMstScalars 20 }

nnMstRegionName OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE (0..32))
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The Name for the Region's configuration. By Default
       Region Name will be equal to the Bridge Mac Address."
   ::= { nnMstScalars 21 }

nnMstRegionVersion OBJECT-TYPE
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Version of the MST Region."
   ::= { nnMstScalars 22 }

nnMstConfigDigest OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE (16))
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The Configuration Digest value for this Region, this is an
       MD5 digest value, and hence must always be 16 octets long."
   ::= { nnMstScalars 23 }

nnMstRegionConfigChangeCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The number of times a Region Configuration Identifier Change
              was detected.
         A Trap is generated on the occurence of this event."
   ::= { nnMstScalars 24 }

nnMstCistBridgeRoleSelectionSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  initbridge (0),
                  roleselection (1)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port Role Selection State Machine
           of this bridge in Common Spanning Tree context"
   ::= { nnMstScalars 25 }

nnMstCistTimeSinceTopologyChange OBJECT-TYPE
   SYNTAX      TimeTicks
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The time (in hundredths of a second) since the
         TcWhile Timer for any port in this Bridge was
         non-zero for Common Spanning Tree context."
   ::= { nnMstScalars 26 }

nnMstCistTopChanges OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times that there have been atleast
         one non-zero TcWhile Timer on this Bridge for Common
         Spanning Tree context."
   ::= { nnMstScalars 27 }

nnMstCistNewRootBridgeCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times this Bridge has detected a Root
          Bridge change for Common Spanning Tree context.
          A Trap is generated on the occurence of this event."
   ::= { nnMstScalars 28 }

-- -----------------------------------------------------------------
--
-- nnMstBridgeTable, table of bridge/spanning-tree instances
--
-- -----------------------------------------------------------------

nnMstBridgeTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF NnMstBridgeEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Table containing Bridge Information specific to Spanning
       Tree Instance."
   ::= { nnMstObjects 2 }

nnMstBridgeEntry OBJECT-TYPE
   SYNTAX      NnMstBridgeEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry indicating the Bridge Information."
   INDEX { nnMstBridgeInstance }
   ::= { nnMstBridgeTable 1 }

NnMstBridgeEntry ::=
   SEQUENCE {
      nnMstBridgeInstance                Integer32,
      nnMstBridgeRegionalRoot            BridgeId,
      nnMstBridgePriority                Integer32,
      nnMstBridgeRootCost                Integer32,
      nnMstBridgeRootPort                Integer32,
      nnMstBridgeTimeSinceTopologyChange TimeTicks,
      nnMstBridgeTopChanges              Counter32,
      nnMstBridgeNewRootCount            Counter32,
      nnMstBridgeRoleSelectionSemState   INTEGER,
      nnMstBridgeInstanceUpCount         Counter32,
      nnMstBridgeInstanceDownCount       Counter32,
      nnMstBridgeOldDesignatedRoot       BridgeId,
      nnMstBridgeEnabled                 TruthValue,
      nnMstBridgeRowStatus               RowStatus
   }

nnMstBridgeInstance OBJECT-TYPE
   SYNTAX      Integer32 (1..64)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Spanning Tree Instance to which the information belongs."
   ::= { nnMstBridgeEntry 1 }

nnMstBridgeRegionalRoot OBJECT-TYPE
   SYNTAX      BridgeId
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "MSTI Regional Root Identifier value for the Instance. This value
       is used as the MSTI Regional Root Identifier parameter in all
       Configuration Bridge PDUs originated by this node"
   ::= { nnMstBridgeEntry 2 }

nnMstBridgePriority OBJECT-TYPE
   SYNTAX      Integer32 (0..61440)
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
      "The writable portion of the MSTI Bridge Identifier.
       comprising of the first two octets.
       The values that are set for Bridge Priority must be
       in steps of 4096."
   DEFVAL {32768}
   ::= { nnMstBridgeEntry 3 }

nnMstBridgeRootCost OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The Cost of the path to the MSTI Regional Root as seen
       by this bridge."
   ::= { nnMstBridgeEntry 4 }

nnMstBridgeRootPort OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The Port Number of the Port which offers the lowest
       path cost from this bridge to the MSTI Region Root Bridge."
   ::= { nnMstBridgeEntry 5 }

nnMstBridgeTimeSinceTopologyChange OBJECT-TYPE
   SYNTAX      TimeTicks
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The time (in hundredths of a second) since the
         TcWhile Timer for any port in this Bridge was
         non-zero for this spanning tree instance."
   ::= { nnMstBridgeEntry 6 }

nnMstBridgeTopChanges OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times that there have been atleast
         one non-zero TcWhile Timer on this Bridge for this
         spanning tree instance."
   ::= { nnMstBridgeEntry 7 }

nnMstBridgeNewRootCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times this Bridge has detected a Root
          Bridge change for this spanning tree instance.
          A Trap is generated on the occurence of this event."
   ::= { nnMstBridgeEntry 8 }

nnMstBridgeRoleSelectionSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  initbridge (0),
                  roleselection (1)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port Role Selection State Machine
           for this spanning tree instance for this bridge."
   ::= { nnMstBridgeEntry 9 }

nnMstBridgeInstanceUpCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The number of times a new spanning tree instance has
         been created.
         A Trap is generated on the occurence of this event."
   ::= { nnMstBridgeEntry 10 }

nnMstBridgeInstanceDownCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The number of times a spanning tree instance has
         been deleted.
         A Trap is generated on the occurence of this event."
   ::= { nnMstBridgeEntry 11 }

nnMstBridgeOldDesignatedRoot OBJECT-TYPE
   SYNTAX  BridgeId
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The bridge identifier of the old root of the spanning
         tree instance as determined by the Spanning Tree Protocol
         as executed by this node. "
   ::= { nnMstBridgeEntry 12 }

nnMstBridgeEnabled OBJECT-TYPE
   SYNTAX  TruthValue
   MAX-ACCESS  read-create
   STATUS  current
   DESCRIPTION
        "This object is used to control whether this bridge instance
         is enabled or disabled."
   ::= { nnMstBridgeEntry 13 }

nnMstBridgeRowStatus OBJECT-TYPE
   SYNTAX  RowStatus
   MAX-ACCESS  read-create
   STATUS  current
   DESCRIPTION
        "This object is used to control row creation/deletion."
   ::= { nnMstBridgeEntry 14 }

-- -----------------------------------------------------------------
--
-- nnMstCistPortTable, contains per-port information that is common to
-- all bridge/spanning-tree instances
--
-- -----------------------------------------------------------------

nnMstCistPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF NnMstCistPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
          "This table contains Common Spanning Tree Port
           Information."
     ::= { nnMstObjects 3 }

nnMstCistPortEntry OBJECT-TYPE
      SYNTAX      NnMstCistPortEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "A list of information maintained by every port for
          Common Spanning tree."
      INDEX  { nnMstCistPort }
      ::= { nnMstCistPortTable 1 }

NnMstCistPortEntry ::=
   SEQUENCE {
       nnMstCistPort                         Integer32,
       nnMstCistPortPathCost                 Integer32,
       nnMstCistPortPriority                 Integer32,
       nnMstCistPortDesignatedRoot           BridgeId,
       nnMstCistPortDesignatedBridge         BridgeId,
       nnMstCistPortDesignatedPort           OCTET STRING,
       nnMstCistPortAdminP2P                 INTEGER,
       nnMstCistPortOperP2P                  TruthValue,
       nnMstCistPortAdminEdgeStatus          TruthValue,
       nnMstCistPortOperEdgeStatus           TruthValue,
       nnMstCistPortProtocolMigration        TruthValue,
       nnMstCistPortState                    INTEGER,
       nnMstCistForcePortState               INTEGER,
       nnMstCistPortForwardTransitions       Counter32,
       nnMstCistPortRxMstBpduCount           Counter32,
       nnMstCistPortRxRstBpduCount           Counter32,
       nnMstCistPortRxConfigBpduCount        Counter32,
       nnMstCistPortRxTcnBpduCount           Counter32,
       nnMstCistPortTxMstBpduCount           Counter32,
       nnMstCistPortTxRstBpduCount           Counter32,
       nnMstCistPortTxConfigBpduCount        Counter32,
       nnMstCistPortTxTcnBpduCount           Counter32,
       nnMstCistPortInvalidMstBpduRxCount    Counter32,
       nnMstCistPortInvalidRstBpduRxCount    Counter32,
       nnMstCistPortInvalidConfigBpduRxCount Counter32,
       nnMstCistPortInvalidTcnBpduRxCount    Counter32,
       nnMstCistPortTransmitSemState         INTEGER,
       nnMstCistPortReceiveSemState          INTEGER,
       nnMstCistPortProtMigrationSemState    INTEGER,
       nnMstCistProtocolMigrationCount       Counter32,
       nnMstCistPortDesignatedCost           Integer32,
       nnMstCistPortRegionalRoot             BridgeId,
       nnMstCistPortRegionalPathCost         Integer32,
       nnMstCistSelectedPortRole             INTEGER,
       nnMstCistCurrentPortRole              INTEGER,
       nnMstCistPortInfoSemState             INTEGER,
       nnMstCistPortRoleTransitionSemState   INTEGER,
       nnMstCistPortStateTransitionSemState  INTEGER,
       nnMstCistPortTopologyChangeSemState   INTEGER,
       nnMstCistPortHelloTime                Timeout,
       nnMstCistPortOperVersion              INTEGER,
       nnMstCistPortEffectivePortState       TruthValue
}

nnMstCistPort OBJECT-TYPE
      SYNTAX      Integer32 (1..65535)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The Port number of the port for which this entry contains
           spanning tree information."
      ::= { nnMstCistPortEntry 1 }

nnMstCistPortPathCost OBJECT-TYPE
      SYNTAX      Integer32 (1..200000000)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
            "The contribution of this port to the path cost of
             paths towards the CIST Root which include this port."
      ::= { nnMstCistPortEntry 2 }

nnMstCistPortPriority OBJECT-TYPE
      SYNTAX      Integer32 (0..240)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The four most significant bits of the Port Identifier
          of the Spanning Tree instance can be modified by setting
          the CistPortPriority value. The values that are set for Port
          Priority must be in steps of 16."
     DEFVAL {128}
      ::= { nnMstCistPortEntry 3 }

nnMstCistPortDesignatedRoot OBJECT-TYPE
      SYNTAX      BridgeId
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge recorded as the
           CIST Root in the configuration BPDUs transmitted."
      ::= { nnMstCistPortEntry 4 }

nnMstCistPortDesignatedBridge OBJECT-TYPE
      SYNTAX      BridgeId
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge which this port
           considers to be the Designated Bridge for the port's segment."
      ::= { nnMstCistPortEntry 5 }

nnMstCistPortDesignatedPort OBJECT-TYPE
      SYNTAX  OCTET STRING (SIZE (2))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The Port identifier of the port on the Designated Bridge
           for this port's segment."
      ::= { nnMstCistPortEntry 6 }

nnMstCistPortAdminP2P OBJECT-TYPE
      SYNTAX      INTEGER {
                    forceTrue(0),
                    forceFalse(1),
                    auto(2)
                  }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The administrative point-to-point status of the LAN segment
          attached to this port.  A value of forceTrue(0) indicates that
          this port should always be treated as if it is connected to
          a point-to-point link.  A value of forceFalse(1) indicates
          that this port should be treated as having a shared media
          connection.  A value of auto(2) indicates that this port is
          considered to have a point-to-point link if it is an Aggregator
          and all of its members are aggregatable, or if the MAC entity
          is configured for full duplex operation, either through
          auto-negotiation or by management means."
      ::= { nnMstCistPortEntry 7 }

nnMstCistPortOperP2P OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The operational point-to-point status of the LAN segment
          attached to this port.  It indicates whether a port is
          considered to have a point-to-point connection or not.
          The value is determined by management or by auto-detection,
          as described in the nnMstCistPortAdminP2P object."
      ::= { nnMstCistPortEntry 8 }

nnMstCistPortAdminEdgeStatus OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The administrative value of the Edge Port parameter.  A
          value of TRUE(1) indicates that this port should be
          assumed as an edge-port and a value of FALSE(2) indicates
          that this port should be assumed as a non-edge-port."
      ::= { nnMstCistPortEntry 9 }

nnMstCistPortOperEdgeStatus OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The operational value of the Edge Port parameter.  The
          object is initialized to the value of
          nnMstCistPortAdminEdgeStatus and is set FALSE on reception
          of a BPDU."
      ::= { nnMstCistPortEntry 10 }

nnMstCistPortProtocolMigration OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "Indicates the Protocol migration state of this Port.
           When operating in RSTP/MSTP (version >= 2) mode, writing
          TRUE(1) to this object forces this port to transmit MSTP
          BPDUs without instance information.
          Any other operation on this object has no effect and
          it always returns FALSE(2) when read."
      ::= { nnMstCistPortEntry 11 }

nnMstCistPortState OBJECT-TYPE
      SYNTAX      INTEGER {
                  disabled (1),
                  discarding (2),
                  learning (4),
                  forwarding (5)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port as defined by the Common
           spanning tree protocol."
      ::= { nnMstCistPortEntry 12 }

nnMstCistForcePortState OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   enabled(1)
                  }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "Current state of the Port which can be changed to either
           Disabled or Enabled for the base spanning tree
           instance."
      ::= { nnMstCistPortEntry 13 }

nnMstCistPortForwardTransitions OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of times this port has transitioned to the
           Forwarding State."
      ::= { nnMstCistPortEntry 14 }

nnMstCistPortRxMstBpduCount OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of MST BPDUs received on this port."
      ::= { nnMstCistPortEntry 15 }

nnMstCistPortRxRstBpduCount OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of RST BPDUs received on this port."
      ::= { nnMstCistPortEntry 16 }

nnMstCistPortRxConfigBpduCount OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of Configuration BPDUs received on this port."
      ::= { nnMstCistPortEntry 17 }

nnMstCistPortRxTcnBpduCount OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of TCN BPDUs received on this port."
      ::= { nnMstCistPortEntry 18 }

nnMstCistPortTxMstBpduCount OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of MST BPDUs Transmitted from this port."
      ::= { nnMstCistPortEntry 19 }

nnMstCistPortTxRstBpduCount OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of RST BPDUs Transmitted from this port."
      ::= { nnMstCistPortEntry 20 }

nnMstCistPortTxConfigBpduCount OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of Configuration BPDUs Transmitted from this port."
      ::= { nnMstCistPortEntry 21 }

nnMstCistPortTxTcnBpduCount OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of TCN BPDUs Transmitted from this port."
      ::= { nnMstCistPortEntry 22 }

nnMstCistPortInvalidMstBpduRxCount OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of Invalid MST BPDUs Received on this port."
      ::= { nnMstCistPortEntry 23 }

nnMstCistPortInvalidRstBpduRxCount OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of Invalid RST BPDUs Received on this port."
      ::= { nnMstCistPortEntry 24 }

nnMstCistPortInvalidConfigBpduRxCount OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of Invalid Configuration BPDUs Received on this port."
      ::= { nnMstCistPortEntry 25 }

nnMstCistPortInvalidTcnBpduRxCount OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of Invalid TCN BPDUs Received on this port."
      ::= { nnMstCistPortEntry 26 }

nnMstCistPortTransmitSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  transmitinit (0),
                  transmitperiodic (1),
                  transmitconfig (2),
                  transmittcn (3),
                  transmitrstp (4),
                  idle (5)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Indicates current State of the Port Transmit state machine."
      ::= { nnMstCistPortEntry 27 }

nnMstCistPortReceiveSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  discard (0),
                  receive (1)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Indicates current State of the Port Receive state machine."
      ::= { nnMstCistPortEntry 28 }

nnMstCistPortProtMigrationSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  init (0),
                  sendrstp (1),
                  sendingrstp (2),
                  sendstp (3),
                  sendingstp (4)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Indicates current State of the Port Protocol Migration
           State machine."
      ::= { nnMstCistPortEntry 29 }

nnMstCistProtocolMigrationCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The number of times this Port has migrated from one STP protocol
        version to another. The relevant protocols are STP-COMPATIBLE and
        RSTP/MSTP.
        A Trap is generated on the occurence of this event."
      ::= { nnMstCistPortEntry 30 }

nnMstCistPortDesignatedCost OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
           "The path cost of the Designated Port of the
            segment connected to this port."
      ::= { nnMstCistPortEntry 31 }

nnMstCistPortRegionalRoot OBJECT-TYPE
      SYNTAX      BridgeId
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge recorded as the
           CIST Regional Root Identifier in the configuration BPDUs
           transmitted."
      ::= { nnMstCistPortEntry 32 }

nnMstCistPortRegionalPathCost OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The contribution of this port to the path cost of paths
           towards the CIST Regional Root which include this port."
      ::= { nnMstCistPortEntry 33 }

nnMstCistSelectedPortRole OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   alternate(1),
                   backup(2),
                   root(3),
                   designated(4)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Selected Port Role of the port for this spanning
          tree instance."
      ::= { nnMstCistPortEntry 34 }

nnMstCistCurrentPortRole OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   alternate(1),
                   backup(2),
                   root(3),
                   designated(4)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current Port Role of the port for this spanning
          tree instance."
      ::= { nnMstCistPortEntry 35 }

nnMstCistPortInfoSemState OBJECT-TYPE
        SYNTAX      INTEGER {
               disabled (0),
               enabled (1),
               aged (2),
               update (3),
               superiordesg (4),
               repeatdesg (5),
               root (6),
               other (7),
               present (8),
               receive (9)
            }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port Information State Machine
           for this port in this spanning tree context."
      ::= { nnMstCistPortEntry 36 }

nnMstCistPortRoleTransitionSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  init (0),
                  blockport (1),
                  blockedport (2),
                  activeport (3)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port Role Transition State Machine
           for this port in this spanning tree context."
      ::= { nnMstCistPortEntry 37 }

nnMstCistPortStateTransitionSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  discarding (0),
                  learning (1),
                  forwarding (2)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port State Transition State Machine
           for this port in this spanning tree context."
      ::= { nnMstCistPortEntry 38 }

nnMstCistPortTopologyChangeSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  init (0),
                  inactive (1),
                  active (2),
                  detected (3),
                  notifiedtcn (4),
                  notifiedtc (5),
                  propagating (6),
                  acknowledged (7)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Topology Change State Machine
           for this port in this spanning tree context."
      ::= { nnMstCistPortEntry 39 }

nnMstCistPortHelloTime OBJECT-TYPE
   SYNTAX      Timeout (100..1000)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
             "The amount of time between the transmission of
           Configuration bridge PDUs by this node on this port
           in units of hundredths of a second."
      ::= { nnMstCistPortEntry 40 }

nnMstCistPortOperVersion OBJECT-TYPE
   SYNTAX      INTEGER {
               stpCompatible(0),
               rstp(2),
               mstp(3)
            }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
             "This indicates whether the Port is operationally in the Mstp
       mode, Rstp mode or the Stp-compatible mode i.e., whether the
       Port is transmitting MST BPDUs, RST BPDUs or Config/TCN BPDUs."
      ::= { nnMstCistPortEntry 41 }

nnMstCistPortEffectivePortState OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The effective operational state of the port for CIST. This will
          TRUE only when the port is operationally up in the Interface level
          and Protocol level for CIST. This is will be set to False for all
          other times."
      ::= { nnMstCistPortEntry 42 }


-- -----------------------------------------------------------------
--
-- nnMstPortBridgeTable, contains per-port information that is
-- specific to a bridge/spanning-tree instance
--
-- -----------------------------------------------------------------

nnMstPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF NnMstPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
          "This table contains Spanning Tree Instance Specific Port
           Information."
     ::= { nnMstObjects 4 }

nnMstPortEntry OBJECT-TYPE
      SYNTAX      NnMstPortEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "A list of information maintained by every port for each
           and every spanning tree instance."
      INDEX  { nnMstPort, nnMstBridgeInstance }
      ::= { nnMstPortTable 1 }

NnMstPortEntry ::=
   SEQUENCE {
       nnMstPort                        Integer32,
       nnMstPortPathCost                Integer32,
       nnMstPortPriority                Integer32,
       nnMstPortDesignatedRoot          BridgeId,
       nnMstPortDesignatedBridge        BridgeId,
       nnMstPortDesignatedPort          OCTET STRING,
       nnMstPortState                   INTEGER,
       nnMstPortForcePortState          INTEGER,
       nnMstPortForwardTransitions      Counter32,
       nnMstPortReceivedBPDUs           Counter32,
       nnMstPortTransmittedBPDUs        Counter32,
       nnMstPortInvalidBPDUsRcvd        Counter32,
       nnMstPortDesignatedCost          Integer32,
       nnMstPortSelectedPortRole        INTEGER,
       nnMstPortCurrentPortRole         INTEGER,
       nnMstPortInfoSemState            INTEGER,
       nnMstPortRoleTransitionSemState  INTEGER,
       nnMstPortStateTransitionSemState INTEGER,
       nnMstPortTopologyChangeSemState  INTEGER,
       nnMstPortEffectivePortState      TruthValue
}

nnMstPort OBJECT-TYPE
      SYNTAX      Integer32 (1..65535)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The Port number of the port for which this entry contains
           spanning tree information."
      ::= { nnMstPortEntry 1 }

nnMstPortPathCost OBJECT-TYPE
      SYNTAX      Integer32 (1..200000000)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The contribution of this port to the path cost of
           paths towards the MSTI Root which include this port."
      ::= { nnMstPortEntry 2 }

nnMstPortPriority OBJECT-TYPE
      SYNTAX      Integer32 (0..240)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The four most significant bits of the Port Identifier
          for a given Spanning Tree instance can be modified
          independently for each Spanning Tree instance
          supported by the Bridge. The values that are set for Port
          Priority must be in steps of 16."
    DEFVAL {128}
      ::= { nnMstPortEntry 3 }

nnMstPortDesignatedRoot OBJECT-TYPE
      SYNTAX      BridgeId
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge recorded as the
           MSTI Regional Root in the configuration BPDUs transmitted."
      ::= { nnMstPortEntry 4 }

nnMstPortDesignatedBridge OBJECT-TYPE
      SYNTAX      BridgeId
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge which this port
           considers to be the Designated Bridge for the port's segment."
      ::= { nnMstPortEntry 5 }

nnMstPortDesignatedPort OBJECT-TYPE
      SYNTAX  OCTET STRING (SIZE (2))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The Port identifier of the port on the Designated Bridge
           for this port's segment."
      ::= { nnMstPortEntry 6 }

nnMstPortState OBJECT-TYPE
      SYNTAX      INTEGER {
                  disabled (1),
                  discarding (2),
                  learning (4),
                  forwarding (5)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port as defined by the Multiple
           spanning tree protocol. Port which is Forwarding state
           in one instance can be in Discarding (Blocking) state
           in another instance."
      ::= { nnMstPortEntry 7 }

nnMstPortForcePortState OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   enabled(1)
                  }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "Current state of the Port which can be changed to either
           Disabled or Enabled for the specific spanning tree
           instance."
      ::= { nnMstPortEntry 8 }

nnMstPortForwardTransitions OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of times this port has transitioned to the
           Forwarding State for specific instance."

      ::= { nnMstPortEntry 9 }

nnMstPortReceivedBPDUs OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of BPDUs received by this port for this
          spanning tree instance."
      ::= { nnMstPortEntry 10 }

nnMstPortTransmittedBPDUs OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of BPDUs transmitted on this port for
          this spanning tree instance."
      ::= { nnMstPortEntry 11 }

nnMstPortInvalidBPDUsRcvd OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Number of Invalid BPDUs received on this Port
           for this spanning tree instance."
      ::= { nnMstPortEntry 12 }

nnMstPortDesignatedCost OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
            "The path cost of the Designated Port of the
             segment connected to this port."
      ::= { nnMstPortEntry 13 }

nnMstPortSelectedPortRole OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   alternate(1),
                   backup(2),
                   root(3),
                   designated(4),
                   master(5)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Selected Port Role of the port for this spanning
          tree instance."
      ::= { nnMstPortEntry 14 }

nnMstPortCurrentPortRole OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   alternate(1),
                   backup(2),
                   root(3),
                   designated(4),
                   master(5)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current Port Role of the port for this spanning
          tree instance."
      ::= { nnMstPortEntry 15 }

nnMstPortInfoSemState OBJECT-TYPE
        SYNTAX      INTEGER {
               disabled (0),
               enabled (1),
               aged (2),
               update (3),
               superiordesg (4),
               repeatdesg (5),
               root (6),
               other (7),
               present (8),
               receive (9)
            }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port Information State Machine
           for this port in this spanning tree context."
      ::= { nnMstPortEntry 16 }

nnMstPortRoleTransitionSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  init (0),
                  blockport (1),
                  blockedport (2),
                  activeport (3)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port Role Transition State Machine
           for this port in this spanning tree context."
      ::= { nnMstPortEntry 17 }

nnMstPortStateTransitionSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  discarding (0),
                  learning (1),
                  forwarding (2)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port State Transition State Machine
           for this port in this spanning tree context."
      ::= { nnMstPortEntry 18 }

nnMstPortTopologyChangeSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  init (0),
                  inactive (1),
                  active (2),
                  detected (3),
                  notifiedtcn (4),
                  notifiedtc (5),
                  propagating (6),
                  acknowledged (7)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Topology Change State Machine
           for this port in this spanning tree context."
      ::= { nnMstPortEntry 19 }

nnMstPortEffectivePortState OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The effective operational stae of the port for specific instance.
          This is will be TRUE only when the port is operationally up in the
          interface level and Protocol level for the specific instance.
          This is will be set to false at all other times."
      ::= { nnMstPortEntry 20 }


-- -----------------------------------------------------------------
--
-- Notification control objects
--
-- -----------------------------------------------------------------

nnMstNotificationControl OBJECT IDENTIFIER ::= { nnMstObjects 5 }
nnMstNotificationControlScalars OBJECT IDENTIFIER
                                        ::= { nnMstNotificationControl 1 }

nnMstSetNotifications OBJECT-TYPE
        SYNTAX   Integer32 (0..255)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "This object is used to enable and  disable  specific
           MSTP traps. Currently the following are defined
           0 - Notifications are not enabled.
           1 - General Notifications like protocol up or down
           2 - Exception Notifications like memory failure or buffer failure
                    or port protocol migration or invalid packet rcvd in port
           3 - All the above Notifications "
    ::= { nnMstNotificationControlScalars 1 }


nnMstGenNotificationType OBJECT-TYPE
       SYNTAX   INTEGER   {
                    none (0),
                    up (1),
                    down (2)
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "The general events like
           none - none of the below values
           up - protocol UP,
           down - protocol DOWN"
   ::= { nnMstNotificationControlScalars 2 }


nnMstErrNotificationType OBJECT-TYPE
       SYNTAX   INTEGER   {
                    none (0),
                    memfail (1),
                    bufffail (2)
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "The error event like
            none - none of the below values
            memfail - memory allocation failure
            bufffail - buffer allocation failure"
   ::= { nnMstNotificationControlScalars 3 }

nnMstPortNotificationTable OBJECT-TYPE
   SYNTAX SEQUENCE OF NnMstPortNotificationEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       "This table is used to store the notification information
       occured in each of the port for protocol migration and
       invalid packet received"
   ::= { nnMstNotificationControl 2 }

nnMstPortNotificationEntry OBJECT-TYPE
   SYNTAX      NnMstPortNotificationEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       " This entry is used to store the notification information"
   INDEX { nnMstPortNotificationIndex}
   ::= { nnMstPortNotificationTable 1 }

NnMstPortNotificationEntry ::=
        SEQUENCE {
               nnMstPortNotificationIndex         Integer32,
               nnMstPortNotificationMigrationType INTEGER,
               nnMstPortNotificationPktErrType    INTEGER,
               nnMstPortNotificationPktErrVal     Integer32
        }

nnMstPortNotificationIndex OBJECT-TYPE
   SYNTAX      Integer32 (1..4096)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "A unique value, greater than zero, indicating the Port number."
   ::= { nnMstPortNotificationEntry 1 }

nnMstPortNotificationMigrationType OBJECT-TYPE
      SYNTAX      INTEGER {
                  sendstp (0),
                  sendrstp (1)
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Port Protocol migration type occured in the port"
   ::= { nnMstPortNotificationEntry 2 }

nnMstPortNotificationPktErrType OBJECT-TYPE
      SYNTAX      INTEGER {
                  protocolIdErr(0),
                  invalidBpdu(1),
                  configLengthErr(2),
                  tcnLengthErr(3),
                  rstpLengthErr(4),
                  maxAgeErr(5),
                  fwdDelayErr(6),
                  helloTimeErr(7),
                  mstpLengthErr(8)
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Type of invalid packet received in each of the port "
   ::= { nnMstPortNotificationEntry 3 }

nnMstPortNotificationPktErrVal OBJECT-TYPE
       SYNTAX   Integer32
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Packet error value corresponding to the above type "
   ::= { nnMstPortNotificationEntry 4 }


--
-- Notifications
--

nnMstGeneralEvent NOTIFICATION-TYPE
        OBJECTS {
           nnMstBrgAddress,
           nnMstGenNotificationType
                }
        STATUS             current
        DESCRIPTION
         "Generated when any of the general events like protocol up or
          protocol down occurs"
   ::= { nnMstNotifications 1 }

nnMstErrorEvent NOTIFICATION-TYPE
        OBJECTS {
           nnMstBrgAddress,
           nnMstErrNotificationType
                }
        STATUS             current
        DESCRIPTION
         "Generated when any of the error events like memory failure or buffer failure
          or protocol migration or new root or topology change occurs "
   ::= { nnMstNotifications 2 }

nnMstNewRoot NOTIFICATION-TYPE
        OBJECTS {
                  nnMstBrgAddress,
                  nnMstBridgeOldDesignatedRoot,
                  nnMstBridgeRegionalRoot
                }
        STATUS             current
        DESCRIPTION
         "Generated whenever a new root bridge is selected in the topology "
   ::= { nnMstNotifications 3 }

nnMstTopologyChange NOTIFICATION-TYPE
        OBJECTS {
                 nnMstBrgAddress
                }
        STATUS             current
        DESCRIPTION
         "Generated when topology change is detected "
   ::= { nnMstNotifications 4 }

nnMstProtocolMigration NOTIFICATION-TYPE
        OBJECTS {
            nnMstBrgAddress,
            nnMstForceProtocolVersion,
            nnMstPortNotificationMigrationType
                }
        STATUS             current
        DESCRIPTION
         "Generated when port protocol migration happens in the port "
   ::= { nnMstNotifications 5 }

nnMstRegionConfigChange NOTIFICATION-TYPE
        OBJECTS {
            nnMstBrgAddress,
            nnMstConfigIdSel,
            nnMstRegionName,
            nnMstRegionVersion,
            nnMstConfigDigest
                }
        STATUS             current
        DESCRIPTION
         "Generated when the MST region's configuration
          identifier changes."
   ::= { nnMstNotifications 6 }

END

