[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [802.1] Re: [Bridge-mib] MSTP (IEEE 802.1s) MIB (or draft) ?



Beth,

On Thursday, April 01 you wrote:
> IMO this [the MSTP MIB draft] is a most relevant place
> to public this document.
OK, I make you responsible for this :)
I attached here a last edition of the draft and a result of
its compilation with snmptranslate.

> Apropos, may I ask you regarding your MIB?
> I see here (I mean an edition, that Thom sent me),
> that there are a few objects, that are absent
> in .1s, for example, port roles (dot1sXstPortRole)
> and ports STP traffic counters
> (like dot1sPortTxMstBpduCounter). Why do you want
> to have these objects in the MIB?
Yes, the bitter experience of management large or/and
complicated networks shows, that managers would like
to know the reasons of established port states. It constrains
to insert the object dot1sXstPortRole.
Counters like dot1sPortTxMstBpduCounter carries out a similar
function, but more for a debugging.

With respect, Alex
 
MSTP-MIB DEFINITIONS ::= BEGIN
-- draft !

    IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, Counter32, TimeTicks
           FROM SNMPv2-SMI
      TEXTUAL-CONVENTION, DisplayString, TruthValue
           FROM SNMPv2-TC
      mib-2
           FROM RFC1213-MIB
      Timeout, BridgeId
           FROM BRIDGE-MIB
      enterprises
           FROM RFC1155-SMI;

dot1s            MODULE-IDENTITY
                 LAST-UPDATED "200107130000Z"
                 ORGANIZATION "MRV Communications, Inc."
                 CONTACT-INFO
                    "Alex Rozin
                    MRV Communication, Inc
                    http://www.mrv.com
                    Email:  ARozin@mrv.com"

                 DESCRIPTION
                   "The MIB module for managing Multiple & Rapid Spanning Treescw
                    Protocol and algorith. It is dedicated to reflect IEEE 802.1s."
                 ::= { dot1dBridge XX }
    
--
-- Textual Conventions
--

PortIndex ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS       current
    DESCRIPTION
            "A unique value, greater than zero, for each Port
            in the managed Bridge.
            The value for each PortIndex remain
            constant at least from one re-initialization of the entity's
            network management system to the next re-initialization."
    SYNTAX       Integer32 (1..2147483647)

PortIndexOrZero ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS       current
    DESCRIPTION
            "This textual convention is an extension of the
            PortIndex convention.  The latter defines a greater
            than zero value used to identify a Port
            in the managed Bridge.  This extension permits the
            additional value of zero.  the value zero is object-specific
            and must therefore be defined as part of the description of
            any object which uses this syntax.  Examples of the usage of
            zero might include situations where Port was unknown,
            or when none or all Ports need to be referenced."
    SYNTAX       Integer32 (0..2147483647)

MstiInstanceIndex ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS       current
    DESCRIPTION
            "A unique value, greater than zero, for each Multiple Spanning
            Tree Instance (MSTI) in the managed Bridge.
            The value for each MstiInstanceIndex remains
            constant for the instance,"
    SYNTAX      Integer32 (1..64)

MstiOrCistInstanceIndex ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS       current
    DESCRIPTION
            "This textual convention is an extension of the
            MstiInstanceIndex convention.  This extension permits the
            additional value of zero, which means Common and Internal
            Spanning Tree (CIST)."
    SYNTAX      Integer32 (0..64)

PortId ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS       current
    DESCRIPTION
            "The Port Identifier of the Port, see IEEE 802.1s clause 12.8.2.1.3.c)."
    SYNTAX       OCTET STRING (SIZE (2))

dot1sGen            OBJECT IDENTIFIER ::= { dot1s 10 }
-- dot1sGen group reflects configurations/statuses
-- the Bridge as a unit

dot1sGenBridgeMaxAge  OBJECT-TYPE
                SYNTAX  Timeout (600..4000)
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                  "12.8.1.3.a)"
                ::= { dot1sGen 2 }

dot1sGenBridgeHelloTime    OBJECT-TYPE
                SYNTAX  Timeout (100..1000)
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                  "12.8.1.3.b)"
                ::= { dot1sGen 3 }

dot1sGenBridgeForwardDelay OBJECT-TYPE
                SYNTAX  Timeout (400..3000)
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                  "12.8.1.3.c)"
                ::= { dot1sGen 4 }

dot1sGenMaxAge  OBJECT-TYPE
                SYNTAX  Timeout (600..4000)
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                  "12.8.1.3.a)"
                ::= { dot1sGen 8 }

dot1sGenHelloTime    OBJECT-TYPE
                SYNTAX  Timeout (100..1000)
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                  "12.8.1.3.b)"
                ::= { dot1sGen 9 }

dot1sGenForwardDelay OBJECT-TYPE
                SYNTAX  Timeout (400..3000)
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                  "12.8.1.3.c)"
                ::= { dot1sGen 10 }

dot1sGenMaxHops      OBJECT-TYPE
                SYNTAX  Integer32 (4..30)
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                  "13.22.f)"
                ::= { dot1sGen 14 }

dot1sGenHoldTime     OBJECT-TYPE
                SYNTAX  Timeout (100..1000)
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                  "."
                ::= { dot1sGen 15 }

dot1sGenMigrateTime  OBJECT-TYPE
                SYNTAX  Timeout (100..1000)
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                  "13.22.d)"
                ::= { dot1sGen 16 }

dot1sGenPathCostDefault OBJECT-TYPE
                        SYNTAX      INTEGER {
                          pathCostDefault8021d1998(1),
                          pathCostDefault8021t2001(2)
                        }
                        MAX-ACCESS  read-write
                        STATUS      current
                        DESCRIPTION
                          "(Copied from draft-ietf-bridge-rstpmib-02.txt).
                          The version of the Spanning Tree default Path Costs that
                          are to be used by this Bridge.  A value of pathCostDefault8021d1998(1)
                          uses the 16-bit default Path Costs from IEEE Std. 802.1D-1998.
                          A value of pathCostDefault8021t2001(2) uses the 32-bit default Path
                          Costs from IEEE Std. 802.1t."
                        REFERENCE
                          "IEEE 802.1D & 802.1t Table 8-5"
                       ::= { dot1sGen 18 }

dot1sGenCapable    OBJECT-TYPE
                 SYNTAX  INTEGER {
                  nonStp(0),
                  dot1d1998(1),
                  dot1w(2),
                  dot1d2004(3),
                  dot1s(4),
                  unknown(5)
                 }
                 ACCESS  read-only
                 STATUS  current
                 DESCRIPTION
                  "An indication of wheter the Bridge supports
                   'maximum' level Spanning Tree Protocol.
                   The value nonStp(0) indicates, the Bridge doesn't
                   support any Spanning Tree Protocol.
                   The value 'dot1d1998(1)' indicates the Spanning Tree Protocol
                   specified in EEE 802.1D-1998, 'dot1w(2)' indicates the Rapid
                   Spanning Tree Protocol specified in IEEE 802.1w,
                   'dot1d2004' indicates IEEE 802.1D-2004 and
                   'dot1s(3)means MSTP IEEE 802.1s."
                 ::= { dot1sGen 19 }


dot1sGenForceVersion OBJECT-TYPE
                SYNTAX  INTEGER {
          forceNonStp(0),
                  forceLegacyDot1d(1),
                  forceDot1w(2),
                  autoDot1s(3),
                  unknown(4)
                }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                  "The value forceNonStp(0) indicates, the Spanning Tree Protocol
                  is disabled on the Bridge (or the Spanning Tree Protocol
                  Emulation operates). Other possible values are described
                  in IEEE 802.1s clause 12.8.1.3.e)"
                DEFVAL      { autoDot1s }
                ::= { dot1sGen 20 }

dot1sGenCfgName      OBJECT-TYPE
                SYNTAX  DisplayString (SIZE (32))
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                  "12.12.3.4.2.b)"
                ::= { dot1sGen 21 }

dot1sGenRevLevel     OBJECT-TYPE
                SYNTAX  Integer32
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                  "12.12.3.4.2.c)"
                ::= { dot1sGen 22 }

dot1sGenBridgeId         OBJECT-TYPE
                SYNTAX  BridgeId
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                  "."
                ::= { dot1sGen 25 }

dot1sGenReginalRoot         OBJECT-TYPE
                SYNTAX  BridgeId
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                  "."
                ::= { dot1sGen 26 }

dot1sGenExternalRootCost         OBJECT-TYPE
                SYNTAX  Integer32
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                  "."
                ::= { dot1sGen 27 }


dot1sPortTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF Dot1sPortEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                 "A table that contains generic information about
                 every port that is associated with this bridge.
                 Transparent, source-route, and srt ports are
                 included."
              ::= { dot1s 11 }

dot1sPortEntry OBJECT-TYPE
              SYNTAX  Dot1sPortEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                 "A list of information for each port of the
                 bridge."
              INDEX  { dot1sPortIndex }
              ::= { dot1sPortTable 1 }

Dot1sPortEntry ::= SEQUENCE {
                  dot1sPortIndex                    PortIndex,
                  dot1sPortAdminMACEnable           TruthValue,
                  dot1sPortOperMACEnable            TruthValue,
                  dot1sPortUpTime                   TimeTicks,
                  dot1sPortAdminExternalPathCost    Integer32,
                  dot1sPortOperExternalPathCost     Integer32,
                  dot1sPortAdminEdge                TruthValue,
                  dot1sPortOperEdge                 TruthValue,
                  dot1sPortAutoEdge                 TruthValue,
                  dot1sPortAdminPointToPoint        INTEGER,
                  dot1sPortOperPointToPoint         TruthValue,
                  dot1sPortHelloTime                Timeout,
                  dot1sPortAdminNonStp              TruthValue,
                  dot1sPortProtocolMigration        TruthValue,
                  dot1sPortRxTcnBpduCounter         Counter32,
                  dot1sPortRxCfgBpduCounter         Counter32,
                  dot1sPortRxRstBpduCounter         Counter32,
                  dot1sPortTxMstBpduCounter         Counter32,
                  dot1sPortTxTcnBpduCounter         Counter32,
                  dot1sPortTxCfgBpduCounter         Counter32,
                  dot1sPortTxRstBpduCounter         Counter32,
                  dot1sPortTxMstBpduCounter         Counter32
              }


dot1sPortIndex                 OBJECT-TYPE
                               SYNTAX      PortIndex
                               MAX-ACCESS  read-only
                               STATUS      current
                               DESCRIPTION
                                 "A unique value, greater than zero, for each Port.
                                 The value for each interface sub-layer
                                 must remain constant at least from one re-initialization
                                 of the entity's network management system to the next re-
                                 initialization."
                               ::= { dot1sPortEntry 1 }

dot1sPortAdminMACEnable        OBJECT-TYPE 
                               SYNTAX      TruthValue
                               MAX-ACCESS  read-write
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause 12.8.2.5.2"
                               ::= { dot1sPortEntry 2 }

dot1sPortOperMACEnable         OBJECT-TYPE 
                               SYNTAX      TruthValue
                               MAX-ACCESS  read-only
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause 12.8.2.5.2"
                               ::= { dot1sPortEntry 3 }

dot1sPortUpTime                OBJECT-TYPE 
                               SYNTAX      TimeTicks
                               MAX-ACCESS  read-only
                               STATUS      current
                               DESCRIPTION
                                 "The value of sysUpTime at the time when the Port
                                  has been enabled by dot1sPortAdminMACEnable or linked
                                  last time."
                               ::= { dot1sPortEntry 4 }

dot1sPortAdminExternalPathCost OBJECT-TYPE
                               SYNTAX      Integer32 (0..200000000)
                               MAX-ACCESS  read-write
                               STATUS      mandatory
                               DESCRIPTION
                                 "The administrative value of the External Port Cost parameter.
                                  The value 0 means, that Port Cost will be selected
                                  automatically in correspondence with the speed of
                                  the attached LAN."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 5 }

dot1sPortOperExternalPathCost  OBJECT-TYPE
                               SYNTAX      Integer32
                               MAX-ACCESS  read-only
                               STATUS      mandatory
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 6 }

dot1sPortAdminEdge             OBJECT-TYPE
                               SYNTAX      TruthValue
                               MAX-ACCESS  read-write
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 7 }

dot1sPortOperEdge              OBJECT-TYPE
                               SYNTAX      TruthValue
                               MAX-ACCESS  read-only
                               STATUS      mandatory
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 8 }

dot1sPortAutoEdge              OBJECT-TYPE
                               SYNTAX      TruthValue
                               MAX-ACCESS  read-write
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 9 }

dot1sPortAdminPointToPoint     OBJECT-TYPE
                               SYNTAX      INTEGER {
                                 forceTrue(0),
                                 forceFalse(1),
                                 auto(2)
                               }
                               MAX-ACCESS  read-write
                               STATUS      mandatory
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 10 }

dot1sPortOperPointToPoint      OBJECT-TYPE
                               SYNTAX      TruthValue
                               MAX-ACCESS  read-only
                               STATUS      mandatory
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 11 }

dot1sPortHelloTime             OBJECT-TYPE
                               SYNTAX      Timeout (100..1000)
                               MAX-ACCESS  read-write
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 12 }

dot1sPortAdminNonStp           OBJECT-TYPE
                               SYNTAX      TruthValue
                               MAX-ACCESS  read-write
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 13 }

dot1sPortProtocolMigration     OBJECT-TYPE
                               SYNTAX      TruthValue
                               MAX-ACCESS  read-write
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 14 }

dot1sPortRxTcnBpduCounter      OBJECT-TYPE
                               SYNTAX      Counter32
                               MAX-ACCESS  read-only
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 15 }

dot1sPortRxCfgBpduCounter      OBJECT-TYPE
                               SYNTAX      Counter32
                               MAX-ACCESS  read-only
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 16 }

dot1sPortRxRstBpduCounter      OBJECT-TYPE
                               SYNTAX      Counter32
                               MAX-ACCESS  read-only
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 17 }

dot1sPortTxMstBpduCounter      OBJECT-TYPE
                               SYNTAX      Counter32
                               MAX-ACCESS  read-only
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 18 }

dot1sPortTxTcnBpduCounter      OBJECT-TYPE
                               SYNTAX      Counter32
                               MAX-ACCESS  read-only
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 19 }

dot1sPortTxCfgBpduCounter      OBJECT-TYPE
                               SYNTAX      Counter32
                               MAX-ACCESS  read-only
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 20 }

dot1sPortTxRstBpduCounter      OBJECT-TYPE
                               SYNTAX    Counter32
                               MAX-ACCESS  read-only
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 21 }

dot1sPortTxMstBpduCounter      OBJECT-TYPE
                               SYNTAX    Counter32
                               MAX-ACCESS  read-only
                               STATUS      current
                               DESCRIPTION
                                 "."
                               REFERENCE   "IEEE 802.1s Clause "
                               ::= { dot1sPortEntry 22 }
                               

dot1sMapTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF Dot1sMapEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "MST Configuration table (VID=>MSTID translation): allocates
                 each and every possible VLAN to CST or a specific MSTI."
              ::= { dot1s 12 }

dot1sMapEntry OBJECT-TYPE
              SYNTAX      Dot1sMapEntry
              MAX-ACCESS  not-accessible
              STATUS      mandatory
              DESCRIPTION
                "MST Configuration table (VID=>MSTID translation): allocates
                 each and every possible VLAN to CST or a specific MSTI."
              INDEX { dot1sMapMSTiID, dot1sMapVlanId }
              ::= { dot1sMapTable 1 }

Dot1sMapEntry ::= SEQUENCE {
       dot1sMapMSTiID            MstiInstanceIndex,
       dot1sMapVlanId            Integer32,
       dot1sMapRowStatus         INTEGER
    }

dot1sMapMSTiID     OBJECT-TYPE
                   SYNTAX      MstiInstanceIndex
                   MAX-ACCESS  not-accessible
                   STATUS      mandatory
                   DESCRIPTION
                     "GETNEXT opration shows only entries, which have non-zero
                      dot1sMapVlanId."
                   ::= { dot1sMapEntry 1 }

dot1sMapVlanId     OBJECT-TYPE
                   SYNTAX      Integer32 (0..4095)
                   MAX-ACCESS  not-accessible
                   STATUS      mandatory
                   DESCRIPTION
                     "."
                   ::= { dot1sMapEntry 2 }

dot1sMapRowStatus  OBJECT-TYPE
                   SYNTAX      INTEGER {
                     create(1),
                     delete(2),
                     exists(3),
                     isAbsent(4)
                   }
                   MAX-ACCESS  read-write
                   STATUS      mandatory
                   DESCRIPTION
                     "."
                   ::= { dot1sMapEntry 3 }

dot1sXstTable        OBJECT-TYPE
              SYNTAX      SEQUENCE OF Dot1sXstEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                "."
              ::= { dot1s 13 }

dot1sXstEntry OBJECT-TYPE
              SYNTAX      Dot1sXstEntry
              MAX-ACCESS  not-accessible
              STATUS      mandatory
              DESCRIPTION
                "."
              INDEX { dot1sXstId }
              ::= { dot1sXstTable 1 }

Dot1sXstEntry ::= SEQUENCE {
       dot1sXstId                      MstiOrCistInstanceIndex,
       dot1sXstBridgePriority          Integer32,
       dot1sXstBridgeId                BridgeId,
       dot1sXstDesignatedRoot          BridgeId,
       dot1sXstDesignatedBridge        BridgeId,
       dot1sXstInternalRootCost        Integer32,
       dot1sXstRootPort                dot1sXstRootPort,
       dot1sXstTimeSinceTopologyChange TimeTicks,
       dot1sXstTopologyChangesCount    Counter32,
       dot1sXstTopologyChangeFlag      TruthValue
    }

dot1sXstId                       OBJECT-TYPE
                                 SYNTAX      MstiOrCistInstanceIndex
                                 MAX-ACCESS  not-accessible
                                 STATUS      mandatory
                                 DESCRIPTION
                                   "0 means CIST."
                                 ::= { dot1sXstEntry 1 }


dot1sXstBridgePriority           OBJECT-TYPE
                                 SYNTAX      Integer32 (0..61440)
                                 MAX-ACCESS  read-write
                                 STATUS      mandatory
                                 DESCRIPTION
                                    "Bridge priority, in steps of 4096."
                                 DEFVAL       { 32768 }
                                ::= { dot1sXstEntry 2 }

dot1sXstBridgeId                OBJECT-TYPE
                                SYNTAX      BridgeId
                                MAX-ACCESS  read-only
                                STATUS      mandatory
                                DESCRIPTION
                                  "."
                                ::= { dot1sXstEntry 3 }

dot1sXstDesignatedRoot          OBJECT-TYPE
                                SYNTAX      BridgeId
                                MAX-ACCESS  read-only
                                STATUS      mandatory
                                DESCRIPTION
                                  "."
                                ::= { dot1sXstEntry 4 }

dot1sXstDesignatedBridge        OBJECT-TYPE
                                SYNTAX      BridgeId
                                MAX-ACCESS  read-only
                                STATUS      mandatory
                                DESCRIPTION
                                  "."
                                ::= { dot1sXstEntry 5 }

dot1sXstInternalRootCost        OBJECT-TYPE
                                SYNTAX      Integer32
                                MAX-ACCESS  read-only
                                STATUS      mandatory
                                DESCRIPTION
                                  "."
                                ::= { dot1sXstEntry 6 }

dot1sXstRootPort                OBJECT-TYPE
                                SYNTAX      PortIndexOrZero
                                MAX-ACCESS  read-only
                                STATUS      mandatory
                                DESCRIPTION
                                  "."
                                ::= { dot1sXstEntry 7 }

dot1sXstTimeSinceTopologyChange OBJECT-TYPE
                                SYNTAX      TimeTicks
                                MAX-ACCESS  read-only
                                STATUS      current
                                DESCRIPTION
                                  "."
                                ::= { dot1sXstEntry 11 }

dot1sXstTopologyChangesCount    OBJECT-TYPE
                                SYNTAX      Counter32
                                MAX-ACCESS  read-only
                                STATUS      current
                                DESCRIPTION
                                  "."
                                ::= { dot1sXstEntry 12 }

dot1sXstTopologyChangeFlag      OBJECT-TYPE
                                SYNTAX      TruthValue
                                MAX-ACCESS  read-only
                                STATUS      current
                                DESCRIPTION
                                  "."
                                ::= { dot1sXstEntry 13 }


dot1sXstPortTable    OBJECT-TYPE
                     SYNTAX  SEQUENCE OF Dot1sXstPortEntry
                     ACCESS  not-accessible
                     STATUS  mandatory
                     DESCRIPTION
                      "."
                     ::= { dot1s 14 }

dot1sXstPortEntry    OBJECT-TYPE
                     SYNTAX  Dot1sXstPortEntry
                     ACCESS  not-accessible
                     STATUS  mandatory
                     DESCRIPTION
                      "."
                     REFERENCE
                      "."
                     INDEX  { dot1sXstPortXstId, dot1sXstPortIndex }
                     ::= { dot1sXstPortTable 1 }


          Dot1sXstPortEntry ::=
              SEQUENCE {
                dot1sXstPortXstId                 MstiOrCistInstanceIndex,
                dot1sXstPortIndex                 PortIndex,
                dot1sXstPortState                 INTEGER, 
                dot1sXstPortRole                  INTEGER, 
                dot1sXstPortDesignatedRoot        BridgeId,
                dot1sXstPortExternalRootCost      Integer32,
                dot1sXstPortRegionalBridge        BridgeId,
                dot1sXstPortInternalRootCost      Integer32,
                dot1sXstPortDesignatedBridge      BridgeId,
                dot1sXstPortDesignatedPort        PortId,
                dot1sXstPortPriority              Integer32,
                dot1sXstPortAdminInternalPathCost Integer32,
                dot1sXstPortOperInternalPathCost  Integer32
              }

dot1sXstPortXstId                 OBJECT-TYPE
                                  SYNTAX      MstiOrCistInstanceIndex
                                  MAX-ACCESS  not-accessible
                                  STATUS      mandatory
                                  DESCRIPTION
                                    "0 means CIST."
                                  ::= { dot1sXstPortEntry 1 }

dot1sXstPortIndex                 OBJECT-TYPE
                                  SYNTAX      PortIndex
                                  MAX-ACCESS  read-only
                                  STATUS      current
                                  DESCRIPTION
                                    "The value of dot1sPortIndex of the Port
                                    in dot1sPortTable."
                                  ::= { dot1sXstPortEntry 2 }

dot1sXstPortState                 OBJECT-TYPE 
                                  SYNTAX      INTEGER {
                                    disabled(1),
                                    discarding(1),
                                    learning(2),
                                    forwarding(3),
                                    unknown(4)
                                 }

                                  MAX-ACCESS  read-only
                                  STATUS      current
                                  DESCRIPTION
                                    "."
                                  ::= { dot1sXstPortEntry 3 }

dot1sXstPortRole                  OBJECT-TYPE 
                                  SYNTAX      INTEGER {
                                    disabled(1),
                                    alternate(2),
                                    backup(3),   
                                    root(4),
                                    designated(5),
                                    master(6),
                                    nonStp(7),
                                    unknown(8)
                                  }
                                  MAX-ACCESS  read-only
                                  STATUS      current
                                  DESCRIPTION
                                    "."
                                  ::= { dot1sXstPortEntry 4 }

dot1sXstPortDesignatedRoot        OBJECT-TYPE 
                                  SYNTAX      BridgeId
                                  MAX-ACCESS  read-only
                                  STATUS      current
                                  DESCRIPTION
                                    "."
                                  ::= { dot1sXstPortEntry 6 }

dot1sXstPortExternalRootCost      OBJECT-TYPE 
                                  SYNTAX      Integer32
                                  MAX-ACCESS  read-only
                                  STATUS      current
                                  DESCRIPTION
                                    "."
                                  ::= { dot1sXstPortEntry 7 }

dot1sXstPortRegionalBridge        OBJECT-TYPE 
                                  SYNTAX      BridgeId
                                  MAX-ACCESS  read-only
                                  STATUS      current
                                  DESCRIPTION
                                    "."
                                  ::= { dot1sXstPortEntry 8 }

dot1sXstPortInternalRootCost      OBJECT-TYPE 
                                  SYNTAX      Integer32
                                  MAX-ACCESS  read-only
                                  STATUS      current
                                  DESCRIPTION
                                    "."
                                  ::= { dot1sXstPortEntry 9 }

dot1sXstPortDesignatedBridge      OBJECT-TYPE 
                                  SYNTAX      BridgeId
                                  MAX-ACCESS  read-only
                                  STATUS      current
                                  DESCRIPTION
                                    "."
                                  ::= { dot1sXstPortEntry 10 }

dot1sXstPortDesignatedPort        OBJECT-TYPE 
                                  SYNTAX      PortId
                                  MAX-ACCESS  read-only
                                  STATUS      current
                                  DESCRIPTION
                                    "."
                                  ::= { dot1sXstPortEntry 14 }

dot1sXstPortPriority              OBJECT-TYPE 
                                  SYNTAX      Integer32 (0..255)
                                  MAX-ACCESS  read-write
                                  STATUS      current
                                  DESCRIPTION
                                    "Port priority, in steps of 16."
                                  DEFVAL       { 128 }
                                  ::= { dot1sXstPortEntry 15 }

dot1sXstPortAdminInternalPathCost OBJECT-TYPE 
                                  SYNTAX      Integer32 (0..200000000)
                                  MAX-ACCESS  read-write
                                  STATUS      current
                                  DESCRIPTION
                                    "The value 0 means, that the cost will be selected
                                    automatically."
                                  ::= { dot1sXstPortEntry 16 }

dot1sXstPortOperInternalPathCost  OBJECT-TYPE
                                  SYNTAX      Integer32
                                  MAX-ACCESS  read-only
                                  STATUS      current
                                  DESCRIPTION
                                    "."
                                  ::= { dot1sXstPortEntry 17 }

        -- Traps

dot1sTraps   OBJECT IDENTIFIER ::= { dot1s 0 }

dos1sNewRootBridge NOTIFICATION-TYPE
             OBJECTS { dot1sXstId }
             STATUS  current
             DESCRIPTION
                      "The dos1sNewRootBridge trap indicates that the
                      sending agent has become the new root of the
                      Spanning Tree in the CIST or in any MSTI; the
                      trap is sent by a bridge soon after its election
                      as the new root, e.g., upon expiration of the
                      Topology Change Timer immediately subsequent to
                      its election.  Implementation of this trap is
                      optional."
            ::= { dot1sTraps 1 }

dos1sNewRootPort NOTIFICATION-TYPE
             OBJECTS { dot1sXstId, dot1sXstPortIndex }
             STATUS  current
             DESCRIPTION
                      "The dos1sNewRootPort trap indicates that the
                      sending agent has changed the root Port of the
                      Spanning Tree in the CIST or in any MSTI. If the instance
                      has become a root one, the sending value of the
                      parameter dot1sXstPortIndex is equal to zero. The
                      trap is sent by a bridge soon after its election
                      as the new root Port, e.g., upon expiration of the
                      Topology Change Timer immediately subsequent to
                      its election.  Implementation of this trap is
                      optional."
            ::= { dot1sTraps 2 }

dos1sTopologyChange NOTIFICATION-TYPE
             OBJECTS { dot1sXstId, dot1sXstPortIndex, dot1sXstPortState }
             STATUS  current
             DESCRIPTION
                      "A dos1sTopologyChange trap is sent by a bridge when
                      any of its configured ports n any instance (CIST or MSTI)
                      transitions from the
                      Learning state to the Forwarding state, or from
                      the Forwarding state to the Blocking state.  The
                      trap is not sent if a dos1sNewRootBridge trap is sent for the
                      same transition.  Implementation of this trap is
                      optional."
            ::= { dot1sTraps 3 }

END


+--dot1s(XX)
   |
   +--dot1sTraps(0)
   |  |
   |  +--dos1sNewRootBridge(1)
   |  |  |
   |  |  +- OBJECTS { dot1sXstId }
   |  |
   |  +--dos1sNewRootPort(2)
   |  |  |
   |  |  +- OBJECTS { dot1sXstId, dot1sXstPortIndex }
   |  |
   |  +--dos1sTopologyChange(3)
   |     |
   |     +- OBJECTS { dot1sXstId, dot1sXstPortIndex, dot1sXstPortState }
   |
   +--dot1sGen(10)
   |  |
   |  +-- -RW- INTEGER   dot1sGenBridgeMaxAge(2)
   |  |        Textual Convention: Timeout
   |  |        Range: 600..4000
   |  +-- -RW- INTEGER   dot1sGenBridgeHelloTime(3)
   |  |        Textual Convention: Timeout
   |  |        Range: 100..1000
   |  +-- -RW- INTEGER   dot1sGenBridgeForwardDelay(4)
   |  |        Textual Convention: Timeout
   |  |        Range: 400..3000
   |  +-- -R-- INTEGER   dot1sGenMaxAge(8)
   |  |        Textual Convention: Timeout
   |  |        Range: 600..4000
   |  +-- -R-- INTEGER   dot1sGenHelloTime(9)
   |  |        Textual Convention: Timeout
   |  |        Range: 100..1000
   |  +-- -R-- INTEGER   dot1sGenForwardDelay(10)
   |  |        Textual Convention: Timeout
   |  |        Range: 400..3000
   |  +-- -RW- Integer32 dot1sGenMaxHops(14)
   |  |        Range: 4..30
   |  +-- -RW- INTEGER   dot1sGenHoldTime(15)
   |  |        Textual Convention: Timeout
   |  |        Range: 100..1000
   |  +-- -RW- INTEGER   dot1sGenMigrateTime(16)
   |  |        Textual Convention: Timeout
   |  |        Range: 100..1000
   |  +-- -RW- EnumVal   dot1sGenPathCostDefault(18)
   |  |        Values: pathCostDefault8021d1998(1), pathCostDefault8021t2001(2)
   |  +-- -R-- EnumVal   dot1sGenCapable(19)
   |  |        Values: nonStp(0), dot1d1998(1), dot1w(2), dot1d2004(3), dot1s(4), unknown(5)
   |  +-- -RW- EnumVal   dot1sGenForceVersion(20)
   |  |        Values: forceNonStp(0), forceLegacyDot1d(1), forceDot1w(2), autoDot1s(3), unknown(4)
   |  +-- -RW- String    dot1sGenCfgName(21)
   |  |        Textual Convention: DisplayString
   |  |        Size: 32
   |  +-- -RW- Integer32 dot1sGenRevLevel(22)
   |  +-- -R-- String    dot1sGenBridgeId(25)
   |  |        Textual Convention: BridgeId
   |  |        Size: 8
   |  +-- -R-- String    dot1sGenReginalRoot(26)
   |  |        Textual Convention: BridgeId
   |  |        Size: 8
   |  +-- -R-- Integer32 dot1sGenExternalRootCost(27)
   |
   +--dot1sPortTable(11)
   |  |
   |  +--dot1sPortEntry(1)
   |     |  Index: dot1sPortIndex
   |     |
   |     +-- -R-- Integer32 dot1sPortIndex(1)
   |     |        Textual Convention: PortIndex
   |     |        Range: 1..2147483647
   |     +-- -RW- EnumVal   dot1sPortAdminMACEnable(2)
   |     |        Textual Convention: TruthValue
   |     |        Values: true(1), false(2)
   |     +-- -R-- EnumVal   dot1sPortOperMACEnable(3)
   |     |        Textual Convention: TruthValue
   |     |        Values: true(1), false(2)
   |     +-- -R-- TimeTicks dot1sPortUpTime(4)
   |     +-- -RW- Integer32 dot1sPortAdminExternalPathCost(5)
   |     |        Range: 0..200000000
   |     +-- -R-- Integer32 dot1sPortOperExternalPathCost(6)
   |     +-- -RW- EnumVal   dot1sPortAdminEdge(7)
   |     |        Textual Convention: TruthValue
   |     |        Values: true(1), false(2)
   |     +-- -R-- EnumVal   dot1sPortOperEdge(8)
   |     |        Textual Convention: TruthValue
   |     |        Values: true(1), false(2)
   |     +-- -RW- EnumVal   dot1sPortAutoEdge(9)
   |     |        Textual Convention: TruthValue
   |     |        Values: true(1), false(2)
   |     +-- -RW- EnumVal   dot1sPortAdminPointToPoint(10)
   |     |        Values: forceTrue(0), forceFalse(1), auto(2)
   |     +-- -R-- EnumVal   dot1sPortOperPointToPoint(11)
   |     |        Textual Convention: TruthValue
   |     |        Values: true(1), false(2)
   |     +-- -RW- INTEGER   dot1sPortHelloTime(12)
   |     |        Textual Convention: Timeout
   |     |        Range: 100..1000
   |     +-- -RW- EnumVal   dot1sPortAdminNonStp(13)
   |     |        Textual Convention: TruthValue
   |     |        Values: true(1), false(2)
   |     +-- -RW- EnumVal   dot1sPortProtocolMigration(14)
   |     |        Textual Convention: TruthValue
   |     |        Values: true(1), false(2)
   |     +-- -R-- Counter   dot1sPortRxTcnBpduCounter(15)
   |     +-- -R-- Counter   dot1sPortRxCfgBpduCounter(16)
   |     +-- -R-- Counter   dot1sPortRxRstBpduCounter(17)
   |     +-- -R-- Counter   dot1sPortTxMstBpduCounter(18)
   |     +-- -R-- Counter   dot1sPortTxTcnBpduCounter(19)
   |     +-- -R-- Counter   dot1sPortTxCfgBpduCounter(20)
   |     +-- -R-- Counter   dot1sPortTxRstBpduCounter(21)
   |     +-- -R-- Counter   dot1sPortTxMstBpduCounter(22)
   |
   +--dot1sMapTable(12)
   |  |
   |  +--dot1sMapEntry(1)
   |     |  Index: dot1sMapMSTiID, dot1sMapVlanId
   |     |
   |     +-- ---- Integer32 dot1sMapMSTiID(1)
   |     |        Textual Convention: MstiInstanceIndex
   |     |        Range: 1..64
   |     +-- ---- Integer32 dot1sMapVlanId(2)
   |     |        Range: 0..4095
   |     +-- -RW- EnumVal   dot1sMapRowStatus(3)
   |              Values: create(1), delete(2), exists(3), isAbsent(4)
   |
   +--dot1sXstTable(13)
   |  |
   |  +--dot1sXstEntry(1)
   |     |  Index: dot1sXstId
   |     |
   |     +-- ---- Integer32 dot1sXstId(1)
   |     |        Textual Convention: MstiOrCistInstanceIndex
   |     |        Range: 0..64
   |     +-- -RW- Integer32 dot1sXstBridgePriority(2)
   |     |        Range: 0..61440
   |     +-- -R-- String    dot1sXstBridgeId(3)
   |     |        Textual Convention: BridgeId
   |     |        Size: 8
   |     +-- -R-- String    dot1sXstDesignatedRoot(4)
   |     |        Textual Convention: BridgeId
   |     |        Size: 8
   |     +-- -R-- String    dot1sXstDesignatedBridge(5)
   |     |        Textual Convention: BridgeId
   |     |        Size: 8
   |     +-- -R-- Integer32 dot1sXstInternalRootCost(6)
   |     +-- -R-- Integer32 dot1sXstRootPort(7)
   |     |        Textual Convention: PortIndexOrZero
   |     |        Range: 0..2147483647
   |     +-- -R-- TimeTicks dot1sXstTimeSinceTopologyChange(11)
   |     +-- -R-- Counter   dot1sXstTopologyChangesCount(12)
   |     +-- -R-- EnumVal   dot1sXstTopologyChangeFlag(13)
   |              Textual Convention: TruthValue
   |              Values: true(1), false(2)
   |
   +--dot1sXstPortTable(14)
      |
      +--dot1sXstPortEntry(1)
         |  Index: dot1sXstPortXstId, dot1sXstPortIndex
         |
         +-- ---- Integer32 dot1sXstPortXstId(1)
         |        Textual Convention: MstiOrCistInstanceIndex
         |        Range: 0..64
         +-- -R-- Integer32 dot1sXstPortIndex(2)
         |        Textual Convention: PortIndex
         |        Range: 1..2147483647
         +-- -R-- EnumVal   dot1sXstPortState(3)
         |        Values: disabled(1), discarding(1), learning(2), forwarding(3), unknown(4)
         +-- -R-- EnumVal   dot1sXstPortRole(4)
         |        Values: disabled(1), alternate(2), backup(3), root(4), designated(5), master(6), nonStp(7), unknown(8)
         +-- -R-- String    dot1sXstPortDesignatedRoot(6)
         |        Textual Convention: BridgeId
         |        Size: 8
         +-- -R-- Integer32 dot1sXstPortExternalRootCost(7)
         +-- -R-- String    dot1sXstPortRegionalBridge(8)
         |        Textual Convention: BridgeId
         |        Size: 8
         +-- -R-- Integer32 dot1sXstPortInternalRootCost(9)
         +-- -R-- String    dot1sXstPortDesignatedBridge(10)
         |        Textual Convention: BridgeId
         |        Size: 8
         +-- -R-- String    dot1sXstPortDesignatedPort(14)
         |        Textual Convention: PortId
         |        Size: 2
         +-- -RW- Integer32 dot1sXstPortPriority(15)
         |        Range: 0..255
         +-- -RW- Integer32 dot1sXstPortAdminInternalPathCost(16)
         |        Range: 0..200000000
         +-- -R-- Integer32 dot1sXstPortOperInternalPathCost(17)