ieee802-dot1q-mstp

This module augments ieee802-dot1q-rstp to provide management of IEEE Std 802.1Q Bridge components that support the Multiple Spa...

  • Version: 2025-02-04

    ieee802-dot1q-mstp@2025-02-04


    
      module ieee802-dot1q-mstp {
    
        yang-version 1.1;
    
        namespace
          "urn:ieee:std:802.1Q:yang:ieee802-dot1q-mstp";
    
        prefix mstp;
    
        import ietf-interfaces {
          prefix if;
        }
        import ieee802-dot1q-rstp {
          prefix rstp;
        }
    
        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 augments ieee802-dot1q-rstp to provide management of 
        IEEE Std 802.1Q Bridge components that support the 
        Multiple Spanning Tree Algorithm and Protocol (MSTP).
        
        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.";
    
        }
    
    
        grouping mst-config-id {
          description
            "A system calculated MST Configuration Identifier (MCID), reflecting 
          the assignment of VIDs to the CIST, MSTIs, SPTs, or ESPs.";
          reference
            "13.8, 13.9, and item d) in 13.26 of IEEE Std 802.1Q.";
    
          leaf format-selector {
            type uint8;
            config false;
            description
              "The Configuration Identifier Format Selector. A value of 0 
            indicates 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 "1..32";
            }
            description
              "The Configuration Name.";
            reference
              "Item b) in 13.8 of IEEE Std 802.1Q.";
    
          }
    
          leaf revision-level {
            type uint16;
            config false;
            description "The Revision Level.";
            reference
              "Item c) in 13.8 of IEEE Std 802.1Q.";
    
          }
    
          leaf configuration-digest {
            type binary {
              length "16";
            }
            config false;
            description
              "The Configuration Digest (16 octets).";
            reference
              "Item d) in 13.8 of IEEE Std 802.1Q.";
    
          }
        }  // grouping mst-config-id
    
        grouping bridge-component-parameters {
          description
            "This grouping comprises MSTP per-Bridge component parameters.";
          container bridge-mstp {
            presence
              "The presence of this container indicates that MSTP is 
          supported.";
            description
              "Per-Bridge configuration and management parameters for the IST
            and each MSTI in an MST Region.";
            reference
              "Clause 13 and 13.26 of IEEE Std 802.1Q.";
    
            container mst-config-id {
              description
                "This Bridge's MST Configuration Identifier.";
              uses mst-config-id;
            }  // container mst-config-id
    
            leaf max-hops {
              type uint8 {
                range "6..100";
              }
              default "20";
              description
                "In an MSTP Bridge, the MaxHops parameter for the IST, and each 
              of the MSTIs.";
              reference
                "Clause 13, Table 13-5, 13.26.4, item g) in 13.26
                of IEEE Std 802.1Q.";
    
            }
    
            container ist {
              description
                "CIST parameter(s) additional to those for RSTP.";
              leaf internal-root-path-cost {
                type uint32;
                config false;
                description
                  "The Internal Root Path Cost for the CIST including the 
                Internal Port Path Cost for the Root Port.";
                reference
                  "13.9, 13.10, 13.5.3, 13.26.10, and octets 90-93 in Figure 14-1
                  of IEEE Std 802.1Q.";
    
              }
            }  // container ist
    
            list msti {
              key "mstid";
              description
                "Per-Bridge configuration and management parameters for each MST,
              with an MSTID in the range allocated for MSTP configuration.";
              reference
                "13.26, 13.9, and 13.11 of IEEE Std 802.1Q.";
    
              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 bridge-priority {
                type rstp:id-priority;
                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 MST Configuration Message.";
                reference
                  "13.26.3, 13.11, 14.4.1, and item f) in 13.26
                  of IEEE Std 802.1Q.";
    
              }
    
              container regional-root-id {
                config false;
                description
                  "The MSTI Regional Root Identifier for this MSTI.";
                reference
                  "13.27.20, 13.10, and item ar) in 13.27 of IEEE Std 802.1Q.";
    
                uses rstp:bridge-id;
              }  // container regional-root-id
    
              leaf internal-root-path-cost {
                type uint32;
                config false;
                description
                  "The Internal Root Path Cost for the MSTI including the 
                Internal Port Path Cost for the Root 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 {
                type union {
                  type if:interface-ref;
                  type empty;
                }
                config false;
                description
                  "A reference to the Root Port for the MSTI, empty if this 
                Bridge is the MSTI Regional Root.";
                reference
                  "13.5 and 13.26.9 of IEEE Std 802.1Q.";
    
              }
            }  // list msti
          }  // container bridge-mstp
        }  // grouping bridge-component-parameters
    
        grouping bridge-port-parameters {
          description
            "This grouping comprises MSTP Bridge Port parameters.";
          reference
            "13.24, 13.25, and 13.27 of IEEE Std 802.1Q.";
    
          container port-mstp {
            presence
              "The presence of this container indicates that MSTP is 
          supported.";
            description
              "Per-Bridge Port interface parameters for MST Configuration,
            for the IST, and for each MSTI.";
            leaf boundary-port {
              type boolean;
              config false;
              description
                "True if the port is a Boundary Port of the Region.";
              reference
                "13.12 of IEEE Std 802.1Q.";
    
            }
    
            leaf restricted-domain-role {
              type boolean;
              description
                "If TRUE, causes a port that is a Boundary Port of an SPT Region 
              not to be selected as Root Port for the CIST, any MSTI, or any 
              SPT, even it has the best spanning tree priority vector.";
              reference
                "13.27.63 of IEEE Std 802.1Q.";
    
            }
    
            container ist {
              description
                "CIST parameters additional to those for RSTP.";
              container mst-config-id {
                config false;
                description
                  "The MST Configuration Identifier transmitted by the CIST's 
                Designated Bridge for the attached LAN.";
                reference
                  "Figure 14-1 of IEEE Std 802.1Q.";
    
                uses mst-config-id;
              }  // container mst-config-id
    
              leaf fix-internal-port-path-cost {
                type uint32 {
                  range "0..200000000";
                }
                default "0";
                description
                  "Zero if the internal-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 internal-port-path-cost {
                type uint32 {
                  range "1..200000000";
                }
                config false;
                description
                  "The CIST's Internal Port Path Cost for this Bridge Port.";
                reference
                  "13.10, 13.18, and Table 13-4 of IEEE Std 802.1Q.";
    
              }
    
              leaf internal-root-path-cost {
                type uint32;
                config false;
                description
                  "The CIST Internal Root Path Cost advertised in BPDUs by the
                Designated Bridge for the CIST. Zero if the field was not 
                present in the last BPDU received from that Bridge.";
                reference
                  "13.5.3, 13.9, 13.27.20, 14.4.1, and 27.6 of IEEE Std 802.1Q.";
    
              }
    
              container designated-bridge {
                config false;
                description
                  "The CIST Bridge Identifier advertised in BPDUs by the CIST's
                Designated Bridge. Zero if the field was not present in the 
                last BPDU received from that Bridge.";
                reference
                  "Octets 94-101 of Figure 14-1 of IEEE Std 802.1Q.";
    
                uses rstp:bridge-id;
              }  // container designated-bridge
    
              leaf remaining-hops {
                type uint8;
                config false;
                description
                  "The remainingHops for the CIST, received from or to be 
                transmitted by this port's CIST Designated Bridge.";
                reference
                  "13.20, 13.26.4, 13.26.11, 13.27.40, 14.2.11, and octet 102 in
                  Figure 14-1 of IEEE Std 802.1Q.";
    
              }
            }  // container ist
    
            list msti {
              key "mstid";
              description
                "Per-Bridge Port parameters for each MSTI with an MSTID in the 
              range allocated for MSTP configuration.";
              reference
                "13.27 of IEEE Std 802.1Q.";
    
              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 port-state {
                type rstp:port-state;
                config false;
                description
                  "The Port State for this MSTI.";
                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 union {
                  type rstp:port-role;
                  type enumeration {
                    enum "master-port" {
                      value 6;
                      description
                        "A Master Port.";
                    }
                  }
                }
                config false;
                description
                  "The Port Role for the MSTI.";
                reference
                  "13.4, 13.5, 13.12, 13.24, 13.27.66, and item bn) in 13.27
                  of IEEE Std 802.1Q.";
    
              }
    
              container port-id {
                description
                  "This Bridge Port's Port Identifier for the MSTI, including the 
                manageable port-priority encoded in the four most-significant 
                bits of octet 15 of the MSTI Configuration Message.";
                reference
                  "13.18, 13.27.46, and item e) in 14.4.1, of IEEE Std 802.1Q.";
    
                uses rstp:port-id;
              }  // container port-id
    
              leaf fix-internal-port-path-cost {
                type uint32 {
                  range "0..200000000";
                }
                default "0";
                description
                  "Zero if the internal-port-path-cost for this Bridge Port and
                MSTI is to be determined by the Bridge, and the value to be 
                used otherwise.";
                reference
                  "13.11, 13.18, and Table 13-4 of IEEE Std 802.1Q.";
    
              }
    
              leaf internal-port-path-cost {
                type uint32 {
                  range "1..200000000";
                }
                config false;
                description
                  "The Internal Port Path Cost for this Bridge Port and MSTI.";
                reference
                  "Item b) of 13.2.1, and item ay) in 13.27 of IEEE Std 802.1Q.";
    
              }
    
              container regional-root-id {
                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.";
    
                uses rstp:bridge-id;
              }  // container regional-root-id
    
              leaf internal-root-path-cost {
                type uint32;
                config false;
                description
                  "The MSTI Internal Path Cost advertised in BPDUS by the 
                Designated Bridge for the attached LAN and this MSTI.";
                reference
                  "13.5.3, 13.9, 13.27.20, 14.4.1, and 27.6 of IEEE Std 802.1Q.";
    
              }
    
              container designated-bridge-id {
                config false;
                description
                  "The Bridge Identifier of the Bridge believed to be the 
                Designated Bridge for the attached LAN and this MSTI. The 
                bridge-priority component is encoded in the MSTI Configuration 
                Message, the system-id-extension component is the MSTID, and 
                the bridge-address is that of the ist/designated-bridge.";
                reference
                  "13.27.20, 13.10, and item ar) in 13.27 of IEEE Std 802.1Q.";
    
                uses rstp:bridge-id;
              }  // container designated-bridge-id
    
              container designated-port-id {
                config false;
                description
                  "The Port Identifier of the Designated Port for this MSTI for
                the attached LAN, transmitting the port-priority in the 
                MSTI Configuration  Message and the port-number in the CIST 
                Port Identifier field.";
                reference
                  "13.27.20, 13.10, item ar) in 13.27, octet 15 in Figure 14-3,
                  and octets 26 and 27 of Figure 14-1 of IEEE Std 802.1Q.";
    
                uses rstp:port-id;
              }  // container designated-port-id
    
              leaf disputed-port {
                type boolean;
                config false;
                description
                  "Set when more than one Bridge Port apparently believes itself 
                to be the MSTI 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 remaining-hops {
                type uint8;
                config false;
                description
                  "The remainingHops for the MSTI, received from or transmitted 
                by the MSTI's Designated Bridge for this port.";
                reference
                  "13.20, 13.26.4, 13.26.11, 13.27.40, 14.2.11, and octet 16 in
                  Figure 14-3 of IEEE Std 802.1Q.";
    
              }
            }  // list msti
          }  // container port-mstp
        }  // grouping bridge-port-parameters
      }  // module ieee802-dot1q-mstp
    

© 2024 YumaWorks, Inc. All rights reserved.