RE: MSTP MIB proposals

[email protected] (Alex Ruzin) Tue, 2 Nov 2004 14:06:55 +0200
Newsgroups gmane.ietf.bridge
Message-ID <016501c4c0d4$73be0810$87885ac2@Alexr>
Hi,
I dare make a number of comments, regarding the proposed
draft-ietf-bridge-mstpmib-01.txt draft, that Paul Congdon had uploaded on
http://www.ieee802.org/1/files/public/docs2004/malhotra-mstpmib-01.txt

1. dot1sStpEnable. It is not clear, what does it mean and how it corresponds
    with .1s
2. dot1sStpBridgeForwardDelay. It must a pair of objects like in RFC1493 -
    dot1dStpForwardDelay &  dot1dStpBridgeForwardDelay:
    dot1dStpForwardDelay  is one that this bridge is currently using, in
    contrast to dot1dStpBridgeForwardDelay which is the value that
    this bridge and all others would start using if/when this bridge were to
    become the root". The same remark is true also for
dot1sStpBridgeHelloTime
    and dot1sStpBridgeMaxAge.
3. dot1sStpProtocolSpecification. The question is - can a Bridge run in
several
    modes depending on configuration? In other words, are we sure, that this
object is
    "read-only"?
4. dot1sStpInstForwardDelay. I am not sure, that we have this object per
instance.
    The same remark is true also for dot1sStpInstHelloTime,
dot1sStpInstMaxAge.
5. dot1sStpInstAdminEnable and dot1sStpInstOperEnable: what do they mean.
    What is "disabled" instance, does it has ports, does it participate in
MST
    Configuration Identifier and in MSTI Configuration Messages?
6. dot1sStpPortTable. Objects dot1sPortAdminExternalPathCost  and
   dot1sPortOperExternalPathCost are absent. The same: dot1sPortAutoEdge,
   dot1sPortHelloTime, dot1sPortProtocolMigration.
7. dot1sStpInstPortPathCost should be renamed to
dot1sStpInstInternalPortPathCost.
    Better: to have to objects  dot1sStpInstAdminInternalPortPathCost and
    dot1sStpInstAdminInternalPortPathCost.
8. dot1sStpInstPortRole (if it must be...) should distinguish between
'alternate'
    and 'backup' values.
9. dot1sStpVlanTable. It looks better, than my dot1sMapTable
10. Trap section is absent (see traps in my proposition in attachment).
11. Conformance/Compliances are absent (while my mib doesn't have them too).

Attached is my version of proposition, please consider it as a start
template
for further development.

With regards, Alex

On Monday, November 01, 2004 8:36 PM David B Harrington wrote:
> Hi,
>
> A number of people have asked about MSTP (802.1s) MIB work, and
> offered a starting document.
>
> The Bridge WG will not be developing a mib module for MSTP. MSTP mib
> work will be done by the IEEE 802.1 WG.
>
> The IEEE 802.1 WG will meet the week following IETF61, and the
> co-chair is planning to schedule time to discuss an 802.1s mib PAR.
> For those who are not acquainted with IEEE, a PAR discussion is
> something like a BOF or a re-charter discussion. This is the point at
> which they decide whether to ask the <area director equivalent> to
> approve work on a new document.
>
> One proposal has been submitted, and it will be reviewed by the 802.1
> WG next week, as part of the PAR discussions. If you want your
> proposal considered as a basis for the effort, then now is the time to
> submit it. If you don't, it is likely the effort will be based on
> somebody else's proposal. You can submit your proposal to Paul Congdon
> [[email protected]].
>
> You can send your proposal in a format consistent with IETF internet
> draft requirements. You do not have to have it published by the I-D
> editor, since it will be published on the IEEE web site.
>
> David Harrington
> [email protected]
>
> p.s. Please do NOT name your draft draft-ietf-bridge-XXXXX.txt, since
> that is reserved for the Bridge WG.
>
>

_______________________________________________
Bridge-mib mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/bridge-mib
draft-mstp-mib-00.txt (text/plain, 46.5 KB)


Internet Draft                                                                                              
draft-mstp-mib-00.txt                                                Alex Rozin
                                                              MRV International
                                                                         T.B.D.              
                                                                       Oct 2004



              Definitions of Managed Objects for Bridges
                 with Multiple Spanning Tree Protocol



Status of this Memo

   This document is an Internet-Draft and is subject to all provisions
   of Section 10 of RFC2026.  Internet-Drafts are working documents of
   the Internet Engineering Task Force (IETF), its areas, and its
   working groups. Note that other groups may also distribute working
   documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/1id-abstracts.html

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

Copyright Notice

   Copyright (C) The Internet Society (2001).  All Rights Reserved.

Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in TCP/IP based internets.
   In particular, it defines a MIB module for managing the Multiple
   Spanning Tree capability defined by the IEEE Std 802.1s amendment
   to IEEE Std 802.1D-1998 for bridging between Local Area Network (LAN) 
   segments.

   This memo gives a MIB module for managing the MSTP protocol in a manner
   that is compliant to SMIv2 [RFC2578].

Table of Contents

   1 The SNMP Management Framework ................................    
   2 Overview .....................................................    
   2.1 Scope ......................................................    
   3 Structure of MSTP-MIB.........................................    
   4 Relation to Original Bridge MIB...............................    
   5 Definition for MSTP-MIB ......................................    
   6 Acknowledgments ..............................................   
   7 Security consideration .......................................   
   8 References ...................................................   
   9 Authors' Addresses ...........................................   
   10 Full Copyright ..............................................   

1. The SNMP Management Framework

   The SNMP Management Framework presently consists of five major
   components:

    o   An overall architecture, described in RFC 2571 [RFC2571].

    o   Mechanisms for describing and naming objects and events for the
        purpose of management.  The first version of this Structure of
        Management Information (SMI) is called SMIv1 and described in
        STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC
        1215 [RFC1215].  The second version, called SMIv2, is described
        in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and
        STD 58, RFC 2580 [RFC2580].

    o   Message protocols for transferring management information.  The
        first version of the SNMP message protocol is called SNMPv1 and
        described in STD 15, RFC 1157 [RFC1157].  A second version of
        the SNMP message protocol, which is not an Internet standards
        track protocol, is called SNMPv2c and described in RFC 1901
        [RFC1901] and RFC 1906 [RFC1906].  The third version of the
        message protocol is called SNMPv3 and described in RFC 1906
        [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574].

    o   Protocol operations for accessing management information.  The
        first set of protocol operations and associated PDU formats is
        described in STD 15, RFC 1157 [RFC1157].  A second set of
        protocol operations and associated PDU formats is described in
        RFC 1905 [RFC1905].

    o   A set of fundamental applications described in RFC 2573
        [RFC2573] and the view-based access control mechanism described
        in RFC 2575 [RFC2575].

   A more detailed introduction to the current SNMP Management Framework
   can be found in RFC 2570 [RFC2570].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the mechanisms defined in the SMI.

   This memo specifies a MIB module that is compliant to the SMIv2.  A
   MIB conforming to the SMIv1 can be produced through the appropriate
   translations.  The resulting translated MIB must be semantically
   equivalent, except where objects or events are omitted because no
   translation is possible (use of Counter64).  Some machine readable
   information in SMIv2 will be converted into textual descriptions in
   SMIv1 during the translation process.  However, this loss of machine
   readable information is not considered to change the semantics of the
   MIB.

2. Overview

   A common device present in many networks is the Bridge.  This device
   is used to connect Local Area Network segments below the network
   layer.  These devices are often known as 'layer 2 switches'.

   There are two major modes defined for this bridging: Source-Route and
   transparent. Management of Source-Route bridging is not discussed 
   in this document.

   MSTP is defined by IEEE 802.1s. MST is defined as one or more logical
   topologies on a common physical interface. Typically one or more VLANs
   are mapped to a logical topology.

2.1. Scope

   This MIB includes a comprehensive set of managed objects which
   attempts to match the set defined in IEEE 802.1s.

3. Structure of MSTP-MIB

MSTP-MIB Name                      IEEE 802.1s Name/Purpose

dot1s
T.B.D.

4. Relation to Original Bridge MIB
  
   The interpretation of all the existing groups in the original Bridge MIB
   [BRIDGEMIB] remains unchanged. In addition to the objects in the original 
   Bridge MIB [BRIDGEMIB], this document adds dot1sStp group with the following 
   OID to manage the Multiple Spanning Tree Protocol:

   dot1sStp 7



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:  [email protected]"

                 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

5. Acknowledgments

   This document was produced on behalf of the Bridge MIB Working Group
   in the Operations and Management area of the Internet Engineering
   Task Force.

6. Security Considerations

   Security Issues are not discussed in this memo.

7. References

[RFC2571]    Harrington, D., Presuhn, R., and B. Wijnen, An Architecture
             for Describing SNMP Management Frameworks, RFC 2571, April
             1999.

[RFC2578]    McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
             Rose, M., and S. Waldbusser, Structure of Management
             Information Version 2 (SMIv2), STD 58, RFC 2578, April
             1999.

[RFC2579]    McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
             Rose, M., and S. Waldbusser, Textual Conventions for SMIv2,
             STD 58, RFC 2579, April 1999.

[RFC1905]    Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
             Protocol Operations for Version 2 of the Simple Network
             Management Protocol (SNMPv2), RFC 1905, January 1996.

[RFC1493]    Decker, E., Langille, P., Rijsinghani, A. and K.
             McCloghrie, "Definitions of Managed Objects for Bridges",
             RFC 1493, July 1993.

[802.1d]     IEEE 802.1d-1998, "IEEE Standard for Information technology
             Telecommunications and information exchange between systems
             Local and metropolitan area networks - Common Specifications
             Part 3: Media Access Control (MAC) Bridges".

[802.1w]     IEEE 802.1w-2001, "(Amendment to IEEE Standard 802.1D) IEEE
             Standard for Information technology - Telecommunications and
             information exchange between systems - Local and
             metropolitan area networks--Common Specifications - Part 3:
             Media Access Control (MAC) Bridges: Rapid Reconfiguation".

[802.1s]     IEEE 802.1s-2002, "(Amendment to IEEE Standard 802.1Q) IEEE
             Standard for Local and metropolitan area networks-Virtual
             Bridged Local Area Networks-Amendment 3: Multiple Spanning 
             Trees.

8. Authors' Addresses

   T.B.D.

9. Full Copyright

      Copyright (C) The Internet Society (date).  All Rights Reserved.

      This document and translations of it may be copied and furnished
      to others, and derivative works that comment on or otherwise
      explain it or assist in its implementation may be prepared, copied,
      published and distributed, in whole or in part, without
      restriction of any kind, provided that the above copyright notice
      and this paragraph are included on all such copies and derivative
      works.  However, this document itself may not be modified in any
      way, such as by removing the copyright notice or references to the
      Internet Society or other Internet organizations, except as needed
      for the purpose of developing Internet standards in which case the
      procedures for copyrights defined in the Internet Standards
      process must be followed, or as required to translate it into
      languages other than English.

      The limited permissions granted above are perpetual and will not
      be revoked by the Internet Society or its successors or assigns.

      This document and the information contained herein is provided on
      an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
      ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR
      IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
      THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
      WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.