ieee802-dot1q-rstp

This module provides management of 802.1Q Bridge components that support the Rapid Spanning Tree Algorithm and Protocol (RSTP). ...

  • Version: 2024-03-26

    ieee802-dot1q-rstp@2024-03-26


    
      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 ietf-routing-types {
          prefix rt-types;
        }
        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 Rapid Spanning Tree Algorithm and Protocol (RSTP).
    
    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-03-26" {
          description
            "Published as part of IEEE Std 802.1Qdy-2024.
    
    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.";
    
        }
    
    
        augment /dot1q:bridges/dot1q:bridge/dot1q:component {
          description
            "Augment Bridge with RSTP configuration.";
          reference
            "13.24, 13.25, and 13.26 of IEEE Std 802.1Q.";
    
          container rstp {
            presence
              "The presence of this container indicates that RSTP is supported";
            leaf force-protocol-version {
              type enumeration {
                enum "emulate-stp" {
                  value 0;
                }
                enum "withdrawn" {
                  value 1;
                }
                enum
                  "rstp-rapid-spanning-tree-protocol" {
                  value 2;
                }
                enum "rstp-mstp" {
                  value 3;
                }
                enum "rstp-spb" {
                  value 4;
                }
              }
              default
                "rstp-rapid-spanning-tree-protocol";
              description
                "By default RSTP will provide rapid reconfiguration,
    but will interoperate with Bridges using STP as specified in
    IEEE Std 802.1D (now withdrawn). Force Protocol Version can
    force emulation of aspects of STP behavior, slowing reconfiguration
    and ageing of FDB entries. Force Protocol Version can be configured
    to enable MSTP and SPB behavior (if implemented) - interoperability
    with Bridges that support only RSTP or STP will be maintained.";
              reference
                "13.7.2 and item a) of 13.26 of IEEE Std 802.1Q.";
    
            }
    
            leaf cist-bridge-id {
              type uint64;
              config false;
              description
                "The Bridge Identifier used by this Bridge for the CIST. Eight
    octets with the four most significant bits of the first encoding the
    manageable cist-bridge-id-priority, the next twelve bits being zero,
    and last six ocets encoding the Bridge Address.";
              reference
                "13.26.2, 14.1.2, and item e) in 13.26 of IEEE Std 802.1Q.";
    
            }
    
            leaf cist-bridge-id-priority {
              type dot1qtypes:priority-type;
              description
                "The priority component of this Bridge's Bridge Identifier for the
    CIST, encoded in the four most-significant bits of the first octet
    of the eight octet Bridge Identifier.
    
    The value of this object MUST be retained across reinitializations
    of the management system.";
              reference
                "13.26.2, 14.2.5, and item e) in 13.26 of IEEE Std 802.1Q.";
    
            }
    
            leaf cist-root-id {
              type uint64;
              config false;
              description
                "The CIST Root Identifier, i.e. the Bridge Identifier of the
    Common and Internal Spanning Tree calculated by RSTP and of the
    logical continuation of that connectivity calculate by MSTP, as
    determined by this node.";
              reference
                "13.9, 14.1.2, and item f) in 13.26 of IEEE Std 802.1Q.";
    
            }
    
            leaf external-root-path-cost {
              type uint32;
              config false;
              description
                "The External Root Path Cost (MSTP) or Root Path Cost (RSTP)
    calculated by this Bridge after the addition of the receiving
    Port Path Cost.";
              reference
                "13.9, 13.10, 13.5.3, and item i) in 13.26 of IEEE Std 802.1Q.";
    
            }
    
            leaf cist-root-port-number {
              type dot1qtypes:port-number-type;
              config false;
              description
                "The port number  of the Root Port for the RSTP and for the CIST
    Root Port (MSTP), i.e. the Port Identifier for the port that offers
    the lowest cost path from this Bridge to the (CIST) Root.";
              reference
                "13.4, 13.5, 13.26.9, and item h) in 13.26 of IEEE Std 802.1Q.";
    
            }
    
            leaf max-age {
              type uint8;
              units "seconds";
              config false;
              description
                "For the CIST, the whole seconds (most-significant octet) part of
    the maximum age of the spanning tree information (Max Age) currently
    used by this Bridge. Set to the bridge-max-age if the Bridge is the
    CIST Root, and to the whole seconds part of the value received on
    the CIST 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 rt-types:timer-value-seconds16;
              units "seconds";
              config false;
              description
                "The interval (Hello Time) between the periodic transmission of
    Configuration Bridge PDUs on Designated Ports. Set to
    bridge-hello-time if the Bridge is currently acting as the CIST Root,
    and to the value received on the CIST Root Port 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 rather than RSTP, either as a result of
    setting force-protocol-version to be less than 2 or because STP BPDUs
    have been received, this Forward Delay parameter determines the time
    spent in the Listening and Learning Port States when transitioning
    from Discarding to Forwarding, and also controls rapid ageing of FDB
    entries after a topology change. Set to bridge-forward-delay if the
    Bridge is currently acting as the CIST Root, and to the whole seconds
    part of the value received on the CIST Root Port otherwise. If RSTP,
    MSTP, or SPB is used, Port State transitions and FDB flushing are
    rapid and not controlled by this parameter.";
              reference
                "Table 13-5, 13.25.2, 13.28.10, and item g) 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 the whole seconds part of Max Age when this Bridge is
    acting as the CIST Root. The fractional part, conveyed in the
    less-significant octet of each BPDU's Max Age field, will be zero.
    
    The value of this object MUST be retained across reinitializations
    of the management system.";
              reference
                "Table 13-5, 13.26.4, and item g) in 13.26 of IEEE Std 802.1Q.";
    
            }
    
            leaf bridge-hello-time {
              type uint8;
              units "seconds";
              default "2";
              config false;
              description
                "The value that this Bridge uses for HelloTime when acting as the
    CIST Root.";
              reference
                "Table 13-5, 13.25.3, and 13.28.11 of IEEE Std 802.1Q.";
    
            }
    
            leaf bridge-forward-delay {
              type uint8 {
                range "4..30";
              }
              units "seconds";
              default "15";
              description
                "The value of the whole seconds part of Message Age when this
    Bridge is acting as the CIST Root. The fractional part, conveyed in
    the less-significant octet of each BPDU's Max Age field, will be
    zero.
    
    The value of this object MUST be retained across reinitializations
    of the management system.";
              reference
                "Table 13-5, 13.26.4, and item g) in 13.26 of IEEE Std 802.1Q.";
    
            }
    
            leaf tx-hold-count {
              type int32 {
                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.
    
    The value of this object MUST be retained across
    reinitializations of the management system.";
              reference
                "Table 13-5, 13.27.75, 13.26.12, and item b) in 13.26 of
                IEEE Std 802.1Q.";
    
            }
    
            leaf migrate-time {
              type int32;
              units "seconds";
              default "3";
              config false;
              description
                "Management can force the transmission of RST (or MST or SPT) BPDUs
    for MigrateTime to check that all STP Bridges have been removed
    from a specified port's attached LAN, so RST/MST/SPT BPDU
    transmission can persist. Fixed value of 3 seconds.";
              reference
                "Table 13-5, 13.27.38,  and item c) in 13.26 of IEEE Std 802.1Q.";
    
            }
    
            leaf time-since-topology-change {
              type uint32;
              units "seconds";
              config false;
              description
                "The time (in seconds) since the Topology Change timer, tcWhile, for
    any port on this Bridge was last running - i.e. since
    Topology Change Notification (TCN) Messages were last transmitted.";
              reference
                "13.25.9 of IEEE Std 802.1Q.";
    
            }
    
            leaf topology-change-count {
              type yang:counter64;
              units "topology change count";
              config false;
              description
                "The number of times (since the management entity was last
    reset or initialized) that at least one port's Topology Change timer
    (tcWhile) has been non-zero.
    
    Discontinuities in the value of the counter can occur at
    re-initialization of the management system, and at other times as
    indicated by the value of 'discontinuity-time'.";
              reference
                "13.25.9 of IEEE Std 802.1Q.";
    
            }
          }  // container rstp
        }
    
        augment /if:interfaces/if:interface/dot1q:bridge-port {
          description
            "Augment Bridge Port with RSTP configuration";
          reference
            "13.24, 13.25, and 13.27 of IEEE Std 802.1Q.";
    
          container rstp {
            presence
              "The presence of this container indicates that RSTP is supported";
            leaf cist-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 all frames
    (for RSTP) or for frames assigned to the CIST (for MSTP). The
    Port State is Discarding if both learning and forwarding are both
    false, Learning if only learning, and Forwarding if both learning and
    forwarding are true. The Discarding state encompasses all reasons for
    not forwarding, including MAC_Operational false (if:oper-status not
    up) and MAC_Enabled false (if:admin-status not up).";
              reference
                "8.4, 13.4, item aw) and item ba) in 13.27 of IEEE Std 802.1Q.";
    
            }
    
            leaf cist-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;
                }
              }
              config false;
              description
                "The port's Port Role for the CIST. Disabled Port, Root Port,
    Designated Port, Alternate Port, or Backup 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 restricted-role {
              type boolean;
              default "false";
              config false;
              reference
                "13.20, 13.27.65, 13.29.34, 16.2, 16.3, 26.5, 27.6, 27.20,
                item t) in 13.27 of IEEE Std 802.1Q.";
    
            }
    
            leaf restricted-tcn {
              type boolean;
              default "false";
              config false;
              reference
                "13.20, 13.27.64, 13.29.25, 16.2, 16.3, item s) in 13.27 of
                IEEE Std 802.1Q.";
    
            }
    
            leaf cist-port-id {
              type uint16;
              config false;
              description
                "The Port Identifier used by this Bridge Port for the CIST. Two
    octets with the four most-significant bits of the first encoding the
    manageable cist-port-id-priority, and the next twelve bits encoding
    the port's port-number.";
              reference
                "13.27.46, 14.1.2, item bd) in 13.27 of IEEE Std 802.1Q.";
    
            }
    
            leaf cist-port-priority {
              type dot1qtypes:priority-type;
              description
                "The priority component of this Port's Port Identifier for the
    CIST, encoded in the four most-significant bits of the first octet
    of the two octet Port Identifier.
    
    The value of this object MUST be retained across reinitializations
    of the management system.";
              reference
                "13.27.47, 14.2.7, and item be) in 13.27 of IEEE Std 802.1Q.";
    
            }
    
            leaf external-port-path-cost {
              type uint32 {
                range "0..200000000";
              }
              description
                "The administratively assigned value for the port's contribution to
    the External Root Path Cost for the Bridge, when the port is the
    CST Root Port (for RSTP and MSTP) or the CIST Master Port (for MSTP
    and ISIS-SPB).
    
    The value of this object MUST be retained across reinitializations
    of the management system.";
              reference
                "13.27.25, Table 13-4, and item g) of 13.27 of IEEE Std 802.1Q.";
    
            }
    
            leaf cist-root-id {
              type uint32;
              config false;
              description
                "The CIST Root Identifier in Configuration BPDUs transmitted by the
    Designated Bridge for the attached LAN.";
              reference
                "13.27.20, 13.10, and item ar) in 13.27 of IEEE Std 802.1Q.";
    
            }
    
            leaf cist-external-path-cost {
              type uint32;
              config false;
              description
                "The External Path Cost advertised in BPDUS by the Designated Bridge
    for the attached LAN.";
              reference
                "27.6, 14.1.2, 13.27.20, and item ar) in 13.27 of IEEE Std 802.1Q.";
    
            }
    
            leaf 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.";
              reference
                "13.27.20, 13.10, and item ar) in 13.27 of IEEE Std 802.1Q.";
    
            }
    
            leaf 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.";
              reference
                "13.27.20, 13.10, and item ar) in 13.27 of IEEE Std 802.1Q.";
    
            }
    
            leaf port-protocol-migration-check {
              type boolean;
              description
                "Writing true(1) to 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) or withdrawn(1). Always
    returns false(2) when read.";
              reference
                "13.27.38, 13.32, and item j) in 13.27 of IEEE Std 802.1Q.";
    
            }
    
            leaf admin-edge-port {
              type boolean;
              default "false";
              description
                "Set if the port is to be identified as an Edge Port immediately
    on initialization without a delay to detect other Bridges attached
    to the LAN. Recommended default false(2). The operational value,
    oper-edge-port, will become false(2) if a BPDU has been received.
    
    The value of this object MUST be retained across reinitializations
    of the management system.";
              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 the value of oper-edge-port
    is to be maintained automatically, with continuous  monitoring of
    the presence or absence of other Bridges attached to the LAN.
    
    The value of this object MUST be retained across reinitializations
    of the management system.";
              reference
                "13.33, 13.27.18, and item c) in 13.27 of IEEE Std 802.1Q.";
    
            }
    
            leaf auto-isolate-port {
              type boolean;
              default "false";
              description
                "Administratively set true(1) to allow automatic setting of
    isolate-port, causing a Designated Port to transition to Discarding
    if both admin-edge-port and auto-edge-port are false, but the other
    Bridge presumed attached to the same point-to-point LAN appears
    unable to transmit BPDUs, indicating failure of a Spanning Tree
    Protocol Entity or of transmission and/or reception.
    
    The value of this object MUST be retained across reinitializations
    of the management system.";
              reference
                "13.23, 13.27.19, 13.33, and item d) in 13.27 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
        }
      }  // module ieee802-dot1q-rstp
    

© 2023 YumaWorks, Inc. All rights reserved.