RFC 4318 PROPOSED STANDARD MANAGEMENT · BRIDGING · SNMP

RSTP MIB: Definitions of Managed Objects for Bridges with Rapid Spanning Tree Protocol

The SNMP objects for switching a bridge between classic and Rapid Spanning Tree and tuning RSTP ports.

On rfc-editor.org ↗
PUBLISHED
December 2005
AUTHORS
D. Levi, D. Harrington
STREAM
IETF
MODULE OID
{ mib-2 134 }
BRIDGE-WIDE OBJECTS
2
PER-PORT OBJECTS
6
TXHOLDCOUNT RANGE
1 to 10, default 3
ADMIN PATH COST RANGE
0 to 200000000
DOI
10.17487/RFC4318

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                            D. Levi
Request for Comments: 4318                               Nortel Networks
Category: Standards Track                                  D. Harrington
                                                      Effective Software
                                                           December 2005

               Definitions of Managed Objects for Bridges
                   with Rapid Spanning Tree Protocol

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

   This memo defines an SMIv2 MIB module for managing the Rapid Spanning
   Tree capability defined by the IEEE P802.1t and P802.1w amendments to
   IEEE Std 802.1D-1998 for bridging between Local Area Network (LAN)
   segments.  The objects in this MIB are defined to apply both to
   transparent bridging and to bridges connected by subnetworks other
   than LAN segments.

Table of Contents

   1. The Internet-Standard Management Framework ......................2
   2. Overview ........................................................2
   3. Relationship to IEEE 802.1t and 802.1w Amendments ...............2
   4. Relation to the BRIDGE-MIB ......................................3
   5. Definitions for RSTP-MIB ........................................3
   6. Acknowledgements ...............................................10
   7. IANA Considerations ............................................10
   8. Security Considerations ........................................10
   9. Normative References ...........................................11
   10. Informative References ........................................12

1.  The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the SMIv2, which is described in STD 58,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].

2.  Overview

   This memo defines an SMIv2 MIB module for managing the Rapid Spanning
   Tree (RSTP) capability defined by the IEEE P802.1t [802.1t] and
   P802.1w [802.1w] amendments to IEEE Std 802.1D-1998 [802.1D-1998] for
   bridging between Local Area Network (LAN) segments.  The objects in
   this MIB are defined to apply both to transparent bridging and to
   bridges connected by subnetworks other than LAN segments.

3.  Relationship to IEEE 802.1t and 802.1w Amendments

   This document defines managed objects for the Rapid Spanning Tree
   Protocol defined by the IEEE P802.1t and IEEE P802.1w amendments to
   802.1D-1998.

   RSTP-MIB Name                       IEEE 802.1 Reference

   dot1dStp
     dot1dStpVersion                   (w) 17.16.1  ForceVersion
     dot1dStpTxHoldCount               (w) 17.16.6  TxHoldCount
     dot1dStpExtPortTable
       dot1dStpPortProtocolMigration   (w) 17.18.10 mcheck
       dot1dStpPortAdminEdgePort       (t) 18.3.3   adminEdgePort
       dot1dStpPortOperEdgePort        (t) 18.3.4   operEdgePort
       dot1dStpPortAdminPointToPoint   (w) 6.4.3    adminPointToPointMAC
       dot1dStpPortOperPointToPoint    (w) 6.4.3    operPointToPointMAC
       dot1dStpPortAdminPathCost       (D) 8.5.5.3  Path Cost

   There are concerns that there may be changes made in the 802.1D-2004
   edition that would lead to non-backward-compatible SMI changes for
   802.1t and 802.1w managed objects in the MIB modules.  The Bridge MIB
   working group decided to 'freeze' the technical content of the MIB
   modules at a level that is compatible with the 802.1t and 802.1w
   versions, and leave to the IEEE 802.1 working group any updates
   beyond this.

   For informational purposes only, these are the references for the
   above objects in 802.1D-2004 [802.1D-2004].

   RSTP-MIB Name                       IEEE 802.1D-2004 Reference

   dot1dStp
     dot1dStpVersion                   17.13.4  ForceVersion
     dot1dStpTxHoldCount               17.13.12 TxHoldCount
     dot1dStpExtPortTable
       dot1dStpPortProtocolMigration   17.19.13 mcheck
       dot1dStpPortAdminEdgePort       17.13.1  adminEdgePort
       dot1dStpPortOperEdgePort        17.19.17 operEdgePort
       dot1dStpPortAdminPointToPoint   6.4.3    adminPointToPointMAC
       dot1dStpPortOperPointToPoint    6.4.3    operPointToPointMAC
       dot1dStpPortAdminPathCost       17.13.11 Path Cost

4.  Relation to the BRIDGE-MIB

   The objects in the RSTP-MIB supplement those defined in the Bridge
   MIB [RFC4188].

   The Original BRIDGE-MIB [RFC1493] has been updated in an SMIv2-
   compliant version [RFC4188].  Conformance statements have been added
   and some description and reference clauses have been updated.  The
   interpretations of some objects were changed to accommodate IEEE
   802.1t and 802.1w amendments.

   The object dot1dStpPortPathCost32 was added to support IEEE 802.1t,
   and the permissible values of dot1dStpPriority and
   dot1dStpPortPriority have been clarified for bridges supporting IEEE
   802.1t or IEEE 802.1w.  The interpretation of
   dot1dStpTimeSinceTopologyChange has been clarified for bridges
   supporting the RSTP.

   See the updated BRIDGE-MIB [RFC4188] for details.

5.  Definitions for RSTP-MIB

   RSTP-MIB DEFINITIONS ::= BEGIN

   -- -------------------------------------------------------------
   -- MIB for IEEE 802.1w Rapid Spanning Tree Protocol
   -- -------------------------------------------------------------

   IMPORTS

       MODULE-IDENTITY, OBJECT-TYPE, Integer32, mib-2
           FROM SNMPv2-SMI
       TruthValue
           FROM SNMPv2-TC
       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF
       dot1dStp, dot1dStpPortEntry
           FROM BRIDGE-MIB;

   rstpMIB MODULE-IDENTITY
       LAST-UPDATED "200512070000Z"
       ORGANIZATION "IETF Bridge MIB Working Group"
       CONTACT-INFO
           "Email: Bridge-mib@ietf.org"
       DESCRIPTION
           "The Bridge MIB Extension module for managing devices
            that support the Rapid Spanning Tree Protocol defined
            by IEEE 802.1w.

            Copyright (C) The Internet Society (2005).  This version of
            this MIB module is part of RFC 4318; See the RFC itself for
            full legal notices."

       REVISION     "200512070000Z"
       DESCRIPTION
            "The initial version of this MIB module as published in
             RFC 4318."
       ::= { mib-2 134 }

   -- ---------------------------------------------------------- --
   -- subtrees in the RSTP-MIB
   -- ---------------------------------------------------------- --

   rstpNotifications OBJECT IDENTIFIER ::= { rstpMIB 0 }
   rstpObjects       OBJECT IDENTIFIER ::= { rstpMIB 1 }
   rstpConformance   OBJECT IDENTIFIER ::= { rstpMIB 2 }

   -- -------------------------------------------------------------
   -- Addition to the dot1dStp group
   -- -------------------------------------------------------------

   dot1dStpVersion OBJECT-TYPE
       SYNTAX      INTEGER {
                       stpCompatible(0),
                       rstp(2)
                   }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The version of Spanning Tree Protocol the bridge is
            currently running.  The value 'stpCompatible(0)'
            indicates the Spanning Tree Protocol specified in
            IEEE 802.1D-1998 and 'rstp(2)' indicates the Rapid
            Spanning Tree Protocol specified in IEEE 802.1w and
            clause 17 of 802.1D-2004.  The values are directly from
            the IEEE standard.  New values may be defined as future
            versions of the protocol become available.

            The value of this object MUST be retained across
            reinitializations of the management system."
       REFERENCE
           "IEEE 802.1w clause 14.8.1, 17.12, 17.16.1"
       DEFVAL      { rstp }
       ::= { dot1dStp 16 }

   dot1dStpTxHoldCount OBJECT-TYPE
       SYNTAX      Integer32 (1..10)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The value used by the Port Transmit state machine to limit
            the maximum transmission rate.

            The value of this object MUST be retained across
            reinitializations of the management system."

       REFERENCE
           "IEEE 802.1w clause 17.16.6"
       DEFVAL      { 3 }
       ::= { dot1dStp 17 }

   --
   -- { dot1dStp 18 } was used to represent dot1dStpPathCostDefault
   -- in an earlier version of this MIB.  It has since been
   -- obsoleted, and should not be used.
   --

   dot1dStpExtPortTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF Dot1dStpExtPortEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table that contains port-specific Rapid Spanning Tree
            information."
       ::= { dot1dStp 19 }

   dot1dStpExtPortEntry OBJECT-TYPE
       SYNTAX      Dot1dStpExtPortEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A list of Rapid Spanning Tree information maintained by
            each port."
       AUGMENTS    { dot1dStpPortEntry }
       ::= { dot1dStpExtPortTable 1 }

   Dot1dStpExtPortEntry ::=
       SEQUENCE {
           dot1dStpPortProtocolMigration
               TruthValue,
           dot1dStpPortAdminEdgePort
               TruthValue,
           dot1dStpPortOperEdgePort
               TruthValue,
           dot1dStpPortAdminPointToPoint
               INTEGER,
           dot1dStpPortOperPointToPoint
               TruthValue,
           dot1dStpPortAdminPathCost
               Integer32
       }

   dot1dStpPortProtocolMigration OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "When operating in RSTP (version 2) mode, writing true(1)
            to this object forces this port to transmit RSTP BPDUs.
            Any other operation on this object has no effect and
            it always returns false(2) when read."
       REFERENCE
           "IEEE 802.1w clause 14.8.2.4, 17.18.10, 17.26"
       ::= { dot1dStpExtPortEntry 1 }

   dot1dStpPortAdminEdgePort OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The administrative value of the Edge Port parameter.  A
            value of true(1) indicates that this port should be
            assumed as an edge-port, and a value of false(2) indicates
            that this port should be assumed as a non-edge-port.

            Setting this object will also cause the corresponding
            instance of dot1dStpPortOperEdgePort to change to the
            same value.  Note that even when this object's value
            is true, the value of the corresponding instance of
            dot1dStpPortOperEdgePort can be false if a BPDU has
            been received.

            The value of this object MUST be retained across
            reinitializations of the management system."

       REFERENCE
           "IEEE 802.1t clause 14.8.2, 18.3.3"
       ::= { dot1dStpExtPortEntry 2 }

   dot1dStpPortOperEdgePort OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The operational value of the Edge Port parameter.  The
            object is initialized to the value of the corresponding
            instance of dot1dStpPortAdminEdgePort.  When the
            corresponding instance of dot1dStpPortAdminEdgePort is
            set, this object will be changed as well.  This object
            will also be changed to false on reception of a BPDU."

       REFERENCE
           "IEEE 802.1t clause 14.8.2, 18.3.4"
       ::= { dot1dStpExtPortEntry 3 }

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

            The value of this object MUST be retained across
            reinitializations of the management system."

      REFERENCE
          "IEEE 802.1w clause 6.4.3, 6.5, 14.8.2"
      ::= { dot1dStpExtPortEntry 4 }

   dot1dStpPortOperPointToPoint OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The operational point-to-point status of the LAN segment
            attached to this port.  It indicates whether a port is
            considered to have a point-to-point connection.
            If adminPointToPointMAC is set to auto(2), then the value
            of operPointToPointMAC is determined in accordance with the
            specific procedures defined for the MAC entity concerned,
            as defined in IEEE 802.1w, clause 6.5.  The value is
            determined dynamically; that is, it is re-evaluated whenever
            the value of adminPointToPointMAC changes, and whenever
            the specific procedures defined for the MAC entity evaluate
            a change in its point-to-point status."
       REFERENCE
           "IEEE 802.1w clause 6.4.3, 6.5, 14.8.2"
       ::= { dot1dStpExtPortEntry 5 }

   dot1dStpPortAdminPathCost OBJECT-TYPE
       SYNTAX      Integer32 (0..200000000)
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "The administratively assigned value for the contribution
            of this port to the path cost of paths toward the spanning
            tree root.

            Writing a value of '0' assigns the automatically calculated
            default Path Cost value to the port.  If the default Path
            Cost is being used, this object returns '0' when read.

            This complements the object dot1dStpPortPathCost or
            dot1dStpPortPathCost32, which returns the operational value
            of the path cost.

            The value of this object MUST be retained across
            reinitializations of the management system."
       REFERENCE
           "IEEE 802.1D-1998: Section 8.5.5.3"
       ::= { dot1dStpExtPortEntry 6 }

   -- -------------------------------------------------------------
   -- rstpMIB - Conformance Information
   -- -------------------------------------------------------------

   rstpGroups OBJECT IDENTIFIER ::= { rstpConformance 1 }

   rstpCompliances OBJECT IDENTIFIER ::= { rstpConformance 2 }

   -- -------------------------------------------------------------
   -- Units of conformance
   -- -------------------------------------------------------------

   rstpBridgeGroup OBJECT-GROUP
       OBJECTS {
           dot1dStpVersion,
           dot1dStpTxHoldCount
       }
       STATUS      current
       DESCRIPTION
           "Rapid Spanning Tree information for the bridge."
       ::= { rstpGroups 1 }

   rstpPortGroup OBJECT-GROUP
       OBJECTS {
           dot1dStpPortProtocolMigration,
           dot1dStpPortAdminEdgePort,
           dot1dStpPortOperEdgePort,
           dot1dStpPortAdminPointToPoint,
           dot1dStpPortOperPointToPoint,
           dot1dStpPortAdminPathCost
       }
       STATUS      current
       DESCRIPTION
           "Rapid Spanning Tree information for individual ports."
       ::= { rstpGroups 2 }

   -- -------------------------------------------------------------
   -- Compliance statements
   -- -------------------------------------------------------------

   rstpCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for device support of Rapid
            Spanning Tree Protocol (RSTP) bridging services."
       MODULE
           MANDATORY-GROUPS {
               rstpBridgeGroup,
               rstpPortGroup
           }
       ::= { rstpCompliances 1 }

   END

6.  Acknowledgements

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

   The authors wish to thank the members of the Bridge MIB Working
   Group, especially Alex Ruzin, for their comments and suggestions that
   improved this effort.

   Vivian Ngai and Les Bell were the initial authors of this document,
   and did the bulk of the development work for this document.

7.  IANA Considerations

   The IANA has assigned the following OID:

            Descriptor        OBJECT IDENTIFIER value
            ----------        -----------------------
            rstpMIB           { mib-2 134 }

8.  Security Considerations

   There are a number of management objects defined in this MIB module
   with a MAX-ACCESS clause of read-write and/or read-create.  Such
   objects may be considered sensitive or vulnerable in some network
   environments.  The support for SET operations in a non-secure
   environment without proper protection can have a negative effect on
   network operations.  These are the tables and objects and their
   sensitivity/vulnerability:

   Writable objects that could be misused to cause network delays and
   spanning tree instabilities include dot1dStpVersion,
   dot1dStpTxHoldCount, dot1dStpPortProtocolMigration,
   dot1dStpPortAdminEdgePort, and dot1dStpPortAdminPathCost.

   Some of the readable objects in this MIB module (i.e., objects with a
   MAX-ACCESS other than not-accessible) may be considered sensitive or
   vulnerable in some network environments.  It is thus important to
   control even GET and/or NOTIFY access to these objects and possibly
   to even encrypt the values of these objects when sending them over
   the network via SNMP.  These are the tables and objects and their
   sensitivity/vulnerability:

   dot1dStpVersion could be read by an attacker to identify environments
   containing applications or protocols that are potentially sensitive
   to RSTP mode.

   dot1dStpPortAdminPointToPoint could be used to mislead an access
   control protocol, such as 802.1x, to believe that only one other
   system is attached to a LAN segment and to enable network access
   based on that assumption.  This situation could permit potential
   man-in-the-middle attacks.

   SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example by using IPsec),
   even then, there is no control as to who on the secure network is
   allowed to access and GET/SET (read/change/create/delete) the objects
   in this MIB module.

   It is RECOMMENDED that implementers consider the security features as
   provided by the SNMPv3 framework (see [RFC3410], section 8),
   including full support for the SNMPv3 cryptographic mechanisms (for
   authentication and privacy).

   Further, deployment of SNMP versions prior to SNMPv3 is NOT
   RECOMMENDED.  Instead, it is RECOMMENDED to deploy SNMPv3 and to
   enable cryptographic security.  It is then a customer/operator
   responsibility to ensure that the SNMP entity giving access to an
   instance of this MIB module is properly configured to give access to
   the objects only to those principals (users) that have legitimate
   rights to indeed GET or SET (change/create/delete) them.

9.  Normative References

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

   [RFC2579]     McCloghrie, K., Perkins, D., and J. Schoenwaelder,
                 "Textual Conventions for SMIv2", STD 58, RFC 2579,
                 April 1999.

   [RFC2580]     McCloghrie, K., Perkins, D., and J. Schoenwaelder,
                 "Conformance Statements for SMIv2", STD 58, RFC 2580,
                 April 1999.

   [802.1D-1998] "Information technology - Telecommunications and
                 information exchange between systems - Local and
                 metropolitan area networks - Common specifications -
                 Part 3: Media Access Control (MAC) Bridges:  Revision.
                 This is a revision of ISO/IEC 10038: 1993, 802.1j-1992
                 and 802.6k-1992.  It incorporates P802.11c, P802.1p and
                 P802.12e."  ISO/IEC 15802-3: 1998.

   [RFC4188]     Norseth, K. and E. Bell, "Definitions of Managed
                 Objects for Bridges", RFC 4188, September 2005.

   [802.1t]      IEEE 802.1t-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: Technical and Editorial Corrections".

   [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".

10.  Informative References

   [RFC3410]     Case, J., Mundy, R., Partain, D., and B. Stewart,
                 "Introduction and Applicability Statements for
                 Internet-Standard Management Framework", RFC 3410,
                 December 2002.

   [802.1D-2004] IEEE Project 802 Local and Metropolitan Area Networks,
                 "IEEE Standard 802.1D-2004 MAC Bridges", 2004.

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

Authors' Addresses

   David Levi
   Nortel Networks
   4655 Great America Parkway
   Santa Clara, CA 95054
   USA

   Phone: +1 408 495 5138
   EMail: dlevi@nortel.com


   David Harrington
   Effective Software
   50 Harding Rd.
   Portsmouth, NH 03801
   USA

   Phone: +1 603 436 8634
   EMail: ietfdbh@comcast.net


   Les Bell
   Hemel Hempstead
   Herts.  HP2 7YU
   UK

   EMail: elbell@ntlworld.com


   Vivian Ngai
   Salt lake City, UT
   USA

   EMail: vivian_ngai@acm.org

Full Copyright Statement

   Copyright (C) The Internet Society (2005).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM 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.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at ietf-
   ipr@ietf.org.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.

AI ELI5

On this page
PROBLEMThe Bridge MIB could manage the original Spanning Tree Protocol, but the IEEE 802.1t and 802.1w amendments added Rapid Spanning Tree features that had no managed objects.
MECHANISMThe RSTP-MIB adds two bridge-wide objects, a protocol version and a transmit hold count, and a table of six per-port objects covering edge ports, point-to-point links, protocol migration and administrative path cost.
WHY IT MATTERSIt supplements the Bridge MIB in RFC 4188 and applies the IEEE amendments as they stood, with the working group freezing its content so later IEEE changes would not break it.

§1What the RSTP MIB Covers

RFC 4318 defines an SMIv2 MIB module for managing the Rapid Spanning Tree Protocol (RSTP) capability. RSTP is defined by the IEEE P802.1t and P802.1w amendments to IEEE Std 802.1D-1998, for bridging between Local Area Network (LAN) segments. The objects apply both to transparent bridging and to bridges connected by subnetworks other than LAN segments.

The module is named RSTP-MIB and sits at { mib-2 134 }. Like other MIBs it is read and written through SNMP. The IANA considerations section records the assignment of that identifier.

Switches that link parts of a network need a plan so messages do not loop forever. This memo describes the dials and gauges for the fast version of that plan.

§2Relation to IEEE Amendments and the Bridge MIB

The memo lists each new object next to the IEEE clause it comes from. For instance, dot1dStpVersion maps to the ForceVersion parameter and dot1dStpTxHoldCount maps to TxHoldCount. The per-port objects map to mcheck, adminEdgePort, operEdgePort, adminPointToPointMAC, operPointToPointMAC and Path Cost. For information only it also lists the clause numbers in 802.1D-2004.

There was a concern that 802.1D-2004 could force changes to the 802.1t and 802.1w objects that were not backward compatible. The Bridge MIB working group therefore decided to freeze the technical content at a level compatible with those two amendments and leave any later updates to the IEEE 802.1 working group.

The RSTP-MIB supplements the Bridge MIB (RFC 4188), an SMIv2 update of the original BRIDGE-MIB (RFC 1493). That update added dot1dStpPortPathCost32 for IEEE 802.1t, clarified the permitted values of dot1dStpPriority and dot1dStpPortPriority, and clarified dot1dStpTimeSinceTopologyChange for bridges supporting RSTP.

The memo is a map from the new settings to the pages of the official bridge rulebook that explain them. It sits next to an older bridge memo and adds to it.

§3Bridge-Wide Objects

Two objects are added to the dot1dStp group.

dot1dStpVersion is the version of Spanning Tree the bridge is currently running. The value stpCompatible(0) means the protocol of IEEE 802.1D-1998, and rstp(2) means Rapid Spanning Tree. The default is rstp, and new values may be defined as future versions become available.

dot1dStpTxHoldCount is the value used by the Port Transmit state machine to limit the maximum transmission rate. It is an Integer32 from 1 to 10 with a default of 3.

Both are read-write, and the module says their values MUST be retained across reinitializations of the management system.

There are two bridge-wide switches. One picks the old or new way of working. The other limits how often the bridge may send its messages.

§4The Extended Port Table

The table dot1dStpExtPortTable adds one row per port by augmenting the Bridge MIB's dot1dStpPortEntry. It has six objects.

  • dot1dStpPortProtocolMigration: when running RSTP, writing true forces the port to transmit RSTP BPDUs. Any other operation has no effect and it always reads as false.
  • dot1dStpPortAdminEdgePort and dot1dStpPortOperEdgePort: the administrative and operational Edge Port parameter. Setting the admin value also sets the operational one, but the operational value becomes false on reception of a BPDU, even if the admin value is true.
  • dot1dStpPortAdminPointToPoint: forceTrue(0), forceFalse(1) or auto(2). With auto, the port counts as point-to-point if it is an Aggregator whose members are all aggregatable, or if the MAC is configured for full duplex.
  • dot1dStpPortOperPointToPoint: the operational result, re-evaluated dynamically.
  • dot1dStpPortAdminPathCost: the assigned contribution of this port to the path cost toward the spanning tree root, from 0 to 200000000. Writing 0 assigns the automatically calculated default, and the object then reads as 0.

Everything is read-write except the two operational objects, which are read-only. The module notes that an earlier object at { dot1dStp 18 } was obsoleted and should not be used.

Each port on the switch gets its own settings. You can say it only connects to a single computer, whether its link is private, and how costly it is to use. The switch also reports what it actually decided.

PER-PORT OBJECTS ADDED BY RFC 4318
  • 1dot1dStpPortProtocolMigration — Write true to force RSTP BPDUs; reads as false.
  • 2dot1dStpPortAdminEdgePort — Administrative Edge Port setting.
  • 3dot1dStpPortOperEdgePort — Operational Edge Port value; false after a BPDU is received.
  • 4dot1dStpPortAdminPointToPoint — forceTrue(0), forceFalse(1) or auto(2).
  • 5dot1dStpPortOperPointToPoint — Operational point-to-point status, re-evaluated dynamically.
  • 6dot1dStpPortAdminPathCost — Assigned path cost; 0 means use the default.

§5Conformance

The module has two groups. rstpBridgeGroup holds dot1dStpVersion and dot1dStpTxHoldCount. rstpPortGroup holds the six per-port objects. The compliance statement rstpCompliance covers device support of RSTP bridging services and makes both groups mandatory.

A switch that says it supports the fast method has to provide all the bridge-wide and per-port answers.

§6Security Considerations

Several writable objects could be misused to cause network delays and spanning tree instabilities: dot1dStpVersion, dot1dStpTxHoldCount, dot1dStpPortProtocolMigration, dot1dStpPortAdminEdgePort and dot1dStpPortAdminPathCost.

Some readable objects are sensitive too. An attacker could read dot1dStpVersion to find environments with applications or protocols sensitive to RSTP mode. dot1dStpPortAdminPointToPoint could be used to mislead an access control protocol such as 802.1x into believing only one other system is attached to a LAN segment, which could permit man-in-the-middle attacks.

The memo RECOMMENDS the SNMPv3 security features and says deploying SNMP versions before SNMPv3 is NOT RECOMMENDED.

If a stranger could change these settings, the network could slow down or get confused. They could also fool the door guard into thinking only one person is on a line. So only trusted people should be allowed to touch them.

§7References