This module provides management of IEEE Std 802.1Q Bridge components that support the Rapid Spanning Tree Algorithm and Protocol...
Version: 2025-02-04
module ieee802-dot1q-rstp { yang-version 1.1; namespace "urn:ieee:std:802.1Q:yang:ieee802-dot1q-rstp"; prefix rstp; import ietf-yang-types { prefix yang; } import ietf-interfaces { prefix if; } import ieee802-types { prefix ieee; } organization "IEEE 802.1 Working Group"; contact "WG-URL: http://www.ieee802.org/1/ WG-EMail: stds-802-1-l@ieee.org Contact: IEEE 802.1 Working Group Chair Postal: C/O IEEE 802.1 Working Group IEEE Standards Association 445 Hoes Lane Piscataway, NJ 08854 USA E-mail: stds-802-1-chairs@ieee.org"; description "This module provides management of IEEE Std 802.1Q Bridge components that support the Rapid Spanning Tree Algorithm and Protocol (RSTP). The managed objects specified also support those aspects of Multiple Spanning Tree Algorithm and Protocol (MSTP) and Shortest Path Bridging (SPB) operation that provide plug-and-play interoperability with RSTP. References specify constraints on, and consequences of, settings of leaf values and the creation and deletion of list entries. The values of all configured objects are retained across system reinitialization. Copyright (C) IEEE (2025). This version of this YANG module is part of IEEE Std 802.1Q; see the standard itself for full legal notices."; revision "2025-02-04" { description "Published as part of IEEE Std 802.1Qdy-2025. The following reference statement identifies each referenced IEEE Standard as updated by applicable amendments."; reference "IEEE Std 802.1Q Bridges and Bridged Networks: IEEE Std 802.1Q-2022, IEEE Std 802.1Qcz-2023, IEEE Std 802.1Qcw-2023, IEEE Std 802.1Qcj-2023, IEEE Std 802.1Qdj-2024, IEEE Std 802.1Qdx-2024, IEEE Std 802.1Qdy-2025."; } typedef id-priority { type uint8 { range "0..15"; } default "8"; description "Priority for Bridge and Bridge Port identifiers. Lower numeric values indicate the better identifier."; } typedef id-port-number { type uint16 { range "0..4095"; } description "A system assigned Bridge Port number, unique in the context of a Bridge component, used in a Port Identifier."; } grouping bridge-id { description "A 64-bit Bridge Identifier and its components: a manageable priority in the four most-significant bits, a system ID extension in the next 12 bits, and the Bridge Address in the remaining 48 bits."; reference "13.26.2, 14.1.2, 14.2.5, and item e) in 13.26 of IEEE Std 802.1Q."; leaf bridge-id { type uint64; config false; description "The Bridge Identifier as used in protocol and tree computation."; } leaf bridge-priority { type id-priority; description "The manageable bridge priority."; } leaf system-id-extension { type uint16 { range "0..4095"; } config false; description "The system ID extension."; reference "13.26.2, 13.41.5, 13.42, 14.2.5, and 14.4 of IEEE Std 802.1Q."; } leaf bridge-address { type ieee:mac-address; config false; description "A Bridge Address."; } } // grouping bridge-id grouping port-id { description "A 16-bit Port Identifier and its components: a priority in the four most-significant bits, and a twelve-bit Bridge Port number."; reference "13.2, 13.18, Table 13-3, and 14.2.7 of IEEE Std 802.1Q."; leaf port-id { type uint16; config false; description "The Port Identifier as used in protocol and tree computation."; } leaf port-priority { type id-priority; description "The manageable port priority, encoded in the four most-significant bits of octet 26 of Configuration BPDUs for the CIST and in the four most-significant bits of octet 15 of the MSTI Configuration Message for an MSTI."; reference "13.2, 13.18, Table 13-3, 14.2.7, and item e) in 14.4.1 of IEEE Std 802.1Q."; } leaf port-number { type id-port-number; config false; description "The system assigned Port Number, encoded in the twelve least-significant bits of octets 26 and 27 of Configuration BPDUs."; reference "12.3, 12.4.2, 13.2, and 14.2.7 of IEEE Std 802.1Q."; } } // grouping port-id typedef port-state { type enumeration { enum "discarding" { value 1; description "Received frames are not submitted to the Learning Process or to the Forwarding Process. The Forwarding Process does not relay frames to the port for transmission. The Discarding state includes an inability to receive or transmit frames or BPDUs because MAC_Operational is false (if:oper-status not up)."; } enum "learning" { value 2; description "Received frames are submitted to the Learning Process, but not to the Forwarding Process. The Forwarding Process does not relay frames to the port for transmission."; } enum "forwarding" { value 3; description "Received frames are submitted to the Learning Process and the Forwarding Process. The Forwarding Process can relay frames to the port for transmission."; } } description "The Port State for frames assigned to a given spanning tree, governing submission of frames received by the port to the Learning and Forwarding Processes and relay of frames to the port by the Forwarding Process."; reference "8.4, 8.6, 8.7, 13.4, and items aw) and ba) in 13.27 of IEEE Std 802.1Q."; } typedef port-role { type enumeration { enum "disabled-port" { value 1; description "The port's MAC_Operational status is false (if:oper-status not up), or admin-bridge-port-enabled is false."; } enum "root-port" { value 2; description "The Root Port."; } enum "designated-port" { value 3; description "A Designated Port."; } enum "alternate-port" { value 4; description "An Alternate Port."; } enum "backup-port" { value 5; description "A Backup Port."; } } description "The Port Role assigned by the Bridge's spanning tree protocol entity for a given spanning tree."; reference "13.4, 13.5, 13.12, 13.24, 13.27.66, and item bn) in 13.27 of IEEE Std 802.1Q."; } grouping bridge-component-parameters { description "This grouping comprises per-Bridge component parameters."; container rstp { presence "The presence of this container indicates that RSTP is supported."; description "Per-Bridge component parameters common to RSTP, MST, and SPB."; leaf force-protocol-version { type enumeration { enum "emulate-stp" { value 0; description "Forces transmission of STP BPDUs. Slows reconfiguration and ageing of FDB entries."; } enum "rstp" { value 2; description "RST BPDUs are transmitted. MCID, MSTI, and SPT information is not transmitted and is ignored on receipt, treating a neighboring Bridge as in a separate MST or SPT region even if MSTP and/or SPB are implemented."; } enum "rstp-mstp" { value 3; description "If MSTP is implemented, full MSTP behavior is enabled and transmitted BPDUs include RSTP and MSTP information."; } enum "rstp-mstp-spb" { value 4; description "Shortest Path Bridging (SPB) and MSTP (if implemented) are both enabled. Transmitted BPDUs can include RSTP, MSTP, and SPB information."; } } description "Each Bridge implementing RSTP, MSTP, or SPT is plug-and-play interoperable with neighboring Bridges using a different subset of those protocols. Force Protocol Version applies to all ports, and can restrict protocol use. Each Bridge Port also detects a neighbor(s) using STP (IEEE Std 802.1D-1998, now withdrawn) and uses STP BPDUs and slow reconfiguration to interwork with those neighbors independently of Force Protocol Version. Force Protocol Version value 1 was previously assigned to IEEE Std 802.1G-1996 (now withdrawn) and is not to be used."; reference "5.4, 5.4.1.1, 5.4.5, 13.7.2, 13.26, 13.28.21, 13.29.13, and 13.29.28 of IEEE Std 802.1Q."; } container bridge-id { description "The Bridge Identifier used by this Bridge for the single spanning tree (the Common Spanning Tree, CST) supported by RSTP, and for that tree and its extension (the CIST) through MST and SPT Regions supported by MSTP and SPB."; reference "13.26.2, 14.1.2, 14.2.5, and item e) in 13.26 of IEEE Std 802.1Q."; uses bridge-id; } // container bridge-id container root-id { config false; description "The Root Bridge of the single spanning tree (the CST) supported by RSTP, and its extension (the CIST) through MST and SPT Regions supported by MSTP and SPB, as currently determined by this node."; reference "13.9, 14.1.2, and item f) in 13.26 of IEEE Std 802.1Q."; uses bridge-id; } // container root-id leaf root-path-cost { type uint32; config false; description "The Root Path Cost for the single spanning tree (the CST) supported by RSTP and the External Root Path Cost for its extension (the CIST) through MST and SPT Regions supported by MSTP and SPB. Includes the Port Path Cost of the Bridge's Root Port unless the Bridge is the Root Bridge or its Root Port is not a Boundary Port of its MST or SPT Region."; reference "13.9, 13.10, 13.5.3, and item i) in 13.26 of IEEE Std 802.1Q."; } leaf root-port { type union { type if:interface-ref; type empty; } config false; description "A reference to the Root Port for the single spanning tree (the CST) supported by RSTP or its extension (the CIST) through MST and SPT Regions supported by MSTP and SPB, empty if this Bridge is the Root Bridge."; reference "13.5 and 13.26.9 of IEEE Std 802.1Q."; } leaf max-age { type uint8; units "seconds"; config false; description "The maximum age of the spanning tree information (Max Age) currently used by this Bridge for the common spanning tree supported by RSTP, MSTP, and SPB. Set to the bridge-max-age if the Bridge is the Root Bridge, and to the whole seconds part of the value received on the Root Port otherwise."; reference "13.15, 13.20, 13.25, item l) in 13.28, and item g) in 13.26 of IEEE Std 802.1Q."; } leaf hello-time { type uint8; units "seconds"; config false; description "The interval (Hello Time) between the periodic transmission of Configuration Bridge PDUs on Designated Ports. Set to 2 seconds if the Bridge is currently acting as the Root Bridge, and to the whole seconds part of the value received on the Root Port for the common spanning tree supported by RSTP, MSTP, and SPB otherwise."; reference "Table 13-5, 13.25.3, and 13.28.11 of IEEE Std 802.1Q."; } leaf forward-delay { type uint8; units "seconds"; config false; description "If a Port is using STP because STP BPDUs are being received or force-protocol-version is set to emulate-stp (0), Forward Delay determines the time to transition from Discarding to Learning and from Learning to Forwarding, and to age FDB entries after a topology change. Set to bridge-forward-delay if the Bridge is the CIST Root, and to the whole seconds part of the value received on the CIST Root Port otherwise. Does not affect RSTP, MSTP, and SPB rapid Port State transitions and FDB flushing."; reference "Table 13-5, 13.25.2, 13.28.10, and item a) in 13.26.4 of IEEE Std 802.1Q."; } leaf bridge-max-age { type uint8 { range "6..40"; } units "seconds"; default "20"; description "The value of Max Age when this Bridge is the Root Bridge for the common spanning tree supported by RSTP, MSTP, and SPB."; reference "Table 13-5, 13.26.4, and item g) in 13.26 of IEEE Std 802.1Q."; } leaf bridge-forward-delay { type uint8 { range "4..30"; } units "seconds"; default "15"; description "The value of Forward Delay when this Bridge is the Root Bridge for the common spanning tree supported by RSTP, MSTP, and SPB."; reference "Table 13-5, 13.26.4, and item a) in 13.26.4 of IEEE Std 802.1Q."; } leaf tx-hold-count { type uint8 { range "1..10"; } default "6"; description "Limits the rate of BPDU transmission. If the variable txCount (which is incremented on each transmission and decremented once a second) reaches TxHoldCount, transmission is delayed."; reference "Table 13-5, 13.27.75, 13.26.12, and item b) in 13.26 of IEEE Std 802.1Q."; } leaf last-topology-change { type yang:date-and-time; config false; description "The time at which the Topology Change timer, tcWhile, for any Bridge Port was last running: when Topology Change Notification (TCN) Messages were last transmitted."; reference "13.25.9 of IEEE Std 802.1Q."; } } // container rstp } // grouping bridge-component-parameters grouping bridge-port-parameters { description "This grouping comprises per-interface parameters."; container rstp { presence "The presence of this container indicates that RSTP is supported"; description "Per-Bridge Port interface parameters common to RSTP, MSTP, and SPB."; leaf admin-bridge-port-enabled { type boolean; default "true"; description "The Administrative Bridge Port State for the port. If false, the port is excluded from the active topology for all spanning trees and Ethernet Switched Paths (ESPs), and BPDUs are not transmitted or received."; reference "8.4, 8.6.1, 8.13.9, 13.12, and 13.27.45 of IEEE Std 802.1Q."; } leaf port-state { type port-state; config false; description "The Port State for RSTP, and for the CIST for MSTP and SPB."; reference "8.4, 8.6, 8.7, 13.4, item aw) and item ba) in 13.27 of IEEE Std 802.1Q."; } leaf port-role { type port-role; config false; description "The Port Role for the single spanning tree (the CST) supported by RSTP, and for its extension (the CIST) through MST and SPT Regions supported by MSTP and SPB."; reference "13.4, 13.5, 13.12, 13.24, 13.27.66, and item bn) in 13.27 of IEEE Std 802.1Q."; } leaf restricted-role { type boolean; default "false"; description "Set to prevent selection of the port as Root Port for the CIST or any MSTI, even if it has the best spanning tree priority vector, at the risk of causing a lack of spanning tree connectivity, thus preventing Bridges external to a core region of the network influencing the spanning tree active topology. The port will be selected as an Alternate Port rather than a Root Port."; reference "13.20, 13.27.64, 13.29.34, 16.2, 16.3, 26.5, 27.6, 27.20, item s) in 13.27 of IEEE Std 802.1Q."; } leaf restricted-tcn { type boolean; default "false"; description "Set to prevent propagation of topology changes and topology change notifications to other ports. Set to prevent a Bridge external to a core region of the network causing address flushing. If set can cause temporary loss of connectivity after a topology change."; reference "13.20, 13.27.65, 13.29.25, 16.2, 16.3, item t) in 13.27 of IEEE Std 802.1Q."; } container port-id { description "The Port Identifier used by this Bridge Port by RSTP for the CST and by MSTP and SPB for the CIST."; reference "13.27.46, 14.1.2, items bd) and be) in 13.27 of IEEE Std 802.1Q."; uses port-id; } // container port-id leaf fix-port-path-cost { type uint32 { range "0..200000000"; } default "0"; description "Zero if the port-path-cost is to be determined by the Bridge, and the value to be used otherwise."; reference "13.10, 13.18, and Table 13-4 of IEEE Std 802.1Q."; } leaf port-path-cost { type uint32 { range "1..200000000"; } config false; description "The port's contribution to the Bridge's External Root Path Cost, when the port is the CST Root Port (for RSTP and MSTP) or the CIST Master Port (for MSTP and ISIS-SPB)."; reference "13.5.3, 13.27.25, Table 13-4, and item g) of 13.27 of IEEE Std 802.1Q."; } leaf designated-protocol-version { type uint8; config false; description "The Protocol Version Identifier in BPDUs transmitted by the Designated Bridge for the attached LAN."; reference "14.2.2, 14.3, and Figure 14-1 of IEEE Std 802.1Q."; } action port-protocol-migration-check { description "Executing port-protocol-migration-check (mcheck) forces transmission of RST (or MST or SPT) BPDUs for migrate-time to check that all STP Bridges have been removed from the port's attached LAN, so RST/MST/SPT BPDU transmission can persist. Has no effect if force-protocol-version is emulate-stp(0)."; reference "13.27.38, 13.32, and item j) in 13.27 of IEEE Std 802.1Q."; } // rpc port-protocol-migration-check container root-id { config false; description "The CIST Root Identifier in Configuration BPDUs transmitted by the Designated Bridge for the attached LAN."; reference "14.1.2, 13.27.20, 13.10, and item ar) in 13.27 of IEEE Std 802.1Q."; uses bridge-id; } // container root-id leaf root-path-cost { type uint32; config false; description "The CIST External Path Cost advertised in BPDUS by the Designated Bridge for the CIST for the attached LAN."; reference "14.1.2, 13.27.20, item ar) in 13.27, and 27.6 of IEEE Std 802.1Q."; } container designated-bridge-id { config false; description "The Bridge Identifier of the Bridge that this port considers to be the Designated Bridge for the attached LAN for RSTP, and the CIST Regional Root for MSTP and SPB."; reference "14.1.2, 13.27.20, 13.10, item ar) in 13.27, and Figure 14-1 of IEEE Std 802.1Q."; uses bridge-id; } // container designated-bridge-id container designated-port-id { config false; description "The Port Identifier of the Bridge Port that this port considers to be the Designated Port for the CIST for the attached LAN."; reference "13.27.20, 13.10, item ar) in 13.27, and octets 26 and 27 of Figure 14-1 of IEEE Std 802.1Q."; uses port-id; } // container designated-port-id leaf admin-edge-port { type boolean; default "false"; description "Set if the port is to be identified as an Edge Port on initialization without a delay to detect other Bridges attached to the LAN. Recommended default false(2). The operational value, oper-edge-port, becomes false(2) if a BPDU has been received."; reference "13.33, and item a) in 13.27 of IEEE Std 802.1Q."; } leaf oper-edge-port { type boolean; config false; description "Set if the port is currently identified as an Edge Port. Initialized to the value of admin-edge-port, and controlled by the Bridge Detection state machine."; reference "13.33, and item l) in 13.27 of IEEE Std 802.1Q."; } leaf auto-edge-port { type boolean; default "true"; description "Administratively set true(1) to allow oper-edge-port to be maintained automatically, with continuous monitoring of the presence or absence of other Bridges attached to the LAN. If admin-edge-port and auto-edge-port are both false and the port is attached to a point-to-point LAN, the port is presumed to provide connectivity to another Bridge, and a failure to receive BPDUs when the port is attempting to become Forwarding is taken to be an indication of the failure of that other bridge's Spanning Tree Protocol Entity (or its transmission and/or reception), isolate-port will be set and the port will remain Discarding."; reference "13.33, 13.27.18, and item c) in 13.27 of IEEE Std 802.1Q."; } leaf disputed-port { type boolean; config false; description "Set when more than one Bridge Port apparently believes itself to be the CIST Designated Port for the LAN and has incorrectly transitioned to a Learning or Forwarding port state."; reference "13.21, 13.29.16, Figure 13-20 of IEEE Std 802.1Q."; } leaf isolate-port { type boolean; config false; description "Set by the Bridge Detection state machine when the Spanning Tree Protocol Entity of a neighboring Bridge has apparently failed."; reference "13.23, 13.27.27, 13.33, and item i) in 13.27 of IEEE Std 802.1Q."; } } // container rstp } // grouping bridge-port-parameters } // module ieee802-dot1q-rstp
© 2024 YumaWorks, Inc. All rights reserved.