module ieee802-dot1q-mstp { yang-version 1.1; namespace "urn:ieee:std:802.1Q:yang:ieee802-dot1q-mstp"; prefix mstp; import ietf-yang-types { prefix yang; } import ietf-interfaces { prefix if; } import ieee802-dot1q-types { prefix dot1qtypes; } import ieee802-dot1q-bridge { prefix dot1q; } 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 802.1Q Bridge components that support the Multiple Spanning Tree Algorithm and Protocol (MSTP). Copyright (C) IEEE (2024). This version of this YANG module is part of IEEE Std 802.1Q; see the standard itself for full legal notices."; revision 2024-01-08 { description "Comment on P802.1Qdy/D1.0, supporting material, Mick Seaman. At present fragments of the required specification, but all the important leaves and structure should be here. Occurences of //!! mark reference statements that need to be updated, or at least checked. Use of the feature and if-feature statements needs to be addressed to ensure this module augments a Bridge and Bridge Ports that have been augmented by the RSTP module. 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-2024."; } feature mstp { if-feature "rstp"; // ?? description "Multiple Spanning Tree Algorithm and Protocol supported."; reference "Clause 13, 13.5, and 13.24 of IEEE Std 802.1Q."; } augment "/dot1q:bridges/dot1q:bridge/dot1q:component/dot1q:bridge-mst" { //?? description "Augment RSTP-capable Bridge component with MSTP configuration and management."; reference "13.24, 13.25, and 13.26 of IEEE Std 802.1Q." container mst-config-id { description "Containing the MST Configuration Identifier of a Bridge."; reference "Item d) in 13.26." leaf format-selector { type int32 { range "0"; } config true; description "In an MSTP Bridge, the MST Configuration Identifier's Configuration Identifier Format Selector. This has a value of 0 indicating the format specified in IEEE Std 802.1Q."; reference "Item a) in 13.8 of IEEE Std 802.1Q."; } leaf configuration-name { type string { length "32"; } config true; description "The Configuration Name in the MST Configuration Identifier."; reference "Item b) in 13.8:2 of IEEE Std 802.1Q."; } leaf revision-level { type uint32 { range "0..65535"; } config true; description "The Revision Level in the MST Configuration Identifier."; reference "Item c) in 13.8 of IEEE Std 802.1Q."; } leaf configuration-digest { type binary { length "16"; } config false; description "The Configuration Digest in the MST Configuration Identifier."; reference "Item d) in 13.8 of IEEE Std 802.1Q."; } } container bridge-mstp { description "Per-Bridge configuration and management parameters for the IST and each MSTI in an MST Region."; reference "Clause 13, 13.26 of IEEE Std 802.1Q."; leaf max-hops { type int32 { range "6..100"; // range extended for Qdy default "20"; } config true; description "In an MSTP Bridge, the MaxHops parameter for the IST, also used for each of the MSTIs. The value of this object MUST be retained across reinitializations of the management system."; reference "Clause 13, Table 13-5, 13.26.4, item g) in 13.26 of IEEE Std 802.1Q."; } leaf ist-internal-root-path-cost { type uint32; config false; description "The Internal Root Path Cost for the IST calculated by this Bridge after the addition of the Internal Port Path Cost for the Root Port (or Master Port) for this IST (MSTID 0) or MST."; reference "13.9, 13.10, 13.5.3, 13.26.10 and item i) in 13.26 of IEEE Std 802.1Q."; } list mst key "mstid"; description "Per-Bridge configuration and management parameters for each MST, with an MSTID in the range allocated for MSTP configuration."; reference " "; leaf mstid { type uint16 { range "1..4091"; description "MSTIDs allocated for use by MSTP (1..4091) to identify MSTIs. Other MSTIDs in the 12-bit range are reserved [for use in the MST Configuration Table, whose configuration is identified by the Configuration Digest in the MST Configuration Identifier (mst-config-id/configuration-digest)] for the CIST-MSTID, SPBM-MSTID, SPBV-MSTID, TE-MSTID, and SPVID-Poll-MSTID." reference "8.4, 8.6.1, 8.9.3, 13.2.1 of IEEE Std 802.1Q." } leaf port-id-priority { type dot1qtpes:priority-type; config true; description "The priority component of this Bridge Port's Port Identifier for the MSTI, encoded in the four most-significant bits of octet 15 of the MSTI Configuration Message. The value of this object MUST be retained across reinitializations of the management system."; reference "13.26.3, 13.11, 14.4.1, and item f) in 13.26 of IEEE Std 802.1Q."; //!! } leaf internal-root-path-cost { type uint32; config false; description "The Internal Root Path Cost for this MSTI calculated by this Bridge after the addition of the Internal Port Path Cost for the Root Port (or Master Port) for this MSTI."; reference "13.9, 13.10, 13.5.3, 13.26.10 and item i) in 13.26 of IEEE Std 802.1Q."; } leaf root-port-number { type dot1qtypes:port-number-type; config false; description "The port number of the Root Port for this MSTI."; reference "13.4, 13.5, 13.26.9, and item h) in 13.26 of IEEE Std 802.1Q.";//!! } } } augment "/if:interfaces/if:interface/dot1q:bridge-port" { description "Augment RSTP Bridge Port with MSTP configuration"; reference "13.24, 13.25, and 13.27 of IEEE Std 802.1Q." //!! container port-mstp { description "Per-Bridge Port configuration and management parameters for the IST and each MSTI in an MST Region."; list mst key "mstid"; description "Per-Bridge Port configuration and management parameters for each MST, with an MSTID in the range allocated for MSTP configuration."; reference " "; leaf mstid { type uint16 { range "1..4091"; description "MSTIDs allocated for use by MSTP (1..4091) to identify MSTIs."; reference "8.4, 8.6.1, 8.9.3, 13.2.1 of IEEE Std 802.1Q."; } leaf msti-port-state { type enumeration { enum discarding { value 1; } enum learning { value 2; } enum forwarding { value 3; } } config false; description "The port's Port State, summarizing the application of learning to received frames, and the forwarding of relayed frames, for frames assigned to this MSTI."; reference "8.4, 13.4, item aw) and item ba) in 13.27 of IEEE Std 802.1Q."; } leaf msti-port-role { type enumeration { enum disabled-port { value 1; } enum root-port { value 2; } enum designated-port { value 3; } enum alternate-port { value 4; } enum backup-port { value 5; } enum master-port { value 6; } } config false; description "The port's Port Role for the MSTI. Disabled Port, Root Port, Designated Port, Alternate Port, Backup Port, or Master Port."; reference "13.4, 13.5, 13.12, 13.24, 13.27.66, and item bn) in 13.27 of IEEE Std 802.1Q.";//!! } leaf msti-bridge-id-priority { type dot1qtpes:priority-type; config true; description "The priority component of this Bridge's Bridge Identifier for the MSTI, encoded in the four most-significant bits of octet 14 of the MSTU Configuration Message. The value of this object MUST be retained across reinitializations of the management system."; reference "13.26.3, 13.11, 14.4.1, and item f) in 13.26 of IEEE Std 802.1Q."; } leaf msti-internal-port-path-cost { type uint32; config true; description "The Internal Port Path Cost for this Bridge Port and MSTI."; reference "Item b) of 13.2.1, and item ay) in 13.26 of IEEE Std 802.1Q."; } leaf msti-regional-root-id { type uint32; config false; description "The MSTI Regional Root Identifier in Configuration BPDUs transmitted by the Designated Bridge for the attached LAN and this MSTI."; reference "13.27.20, 13.10, and item ar) in 13.27 of IEEE Std 802.1Q."; } leaf msti-internal-root-path-cost { type int32; config false; description "The MSTI Internal Path Cost advertised in BPDUS by the Designated Bridge for the attached LAN and this MSTI."; reference "27.6, 14.4.1, 13.27.20, 14.4.1, and item ar) in 13.27 of IEEE Std 802.1Q."; //!! } leaf msti-designated-bridge-id { type uint32; config false; description "The Bridge Identifier of the Bridge that this port considers to be the Designated Bridge for the attached LAN and this MSTI."; reference "13.27.20, 13.10, and item ar) in 13.27 of IEEE Std 802.1Q."; } leaf msti-designated-port-id { type binary { length "2"; } config false; description "The Port Identifier of the Bridge Port that this port considers to be the Designated Port for the attached LAN and this MSTI."; reference "13.27.20, 13.10, and item ar) in 13.27 of IEEE Std 802.1Q."; } } } }