ieee802-dot1q-ats

This module provides management of IEEE 802.1Q Bridge components that support Asynchronous Traffic Shaping (ATS). References in...

  • Version: 2023-07-03

    ieee802-dot1q-ats@2023-07-03


    
      module ieee802-dot1q-ats {
    
        yang-version 1.1;
    
        namespace
          "urn:ieee:std:802.1Q:yang:ieee802-dot1q-ats";
    
        prefix ats;
    
        import ietf-yang-types {
          prefix yang;
        }
        import ieee802-dot1q-types {
          prefix dot1qtypes;
        }
        import ieee802-dot1q-stream-filters-gates {
          prefix sfsg;
        }
    
        organization "IEEE 802.1 Working Group";
    
        contact
          "WG-URL: http://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 802.1Q Bridge components
    that support Asynchronous Traffic Shaping (ATS).
    
    References in this YANG module to IEEE Std 802.1Q are to IEEE Std
    802.1Q-2022 as amended by IEEE Std 802.1Qcz-2023.
    
    Copyright (C) IEEE (2023).
    
    This version of this YANG module is part of IEEE Std 802.1Q; see the
    standard itself for full legal notices.";
    
        revision "2023-07-03" {
          description
            "Published as part of IEEE Std 802.1Qcz-2023.";
          reference
            "IEEE Std 802.1Qcz-2023, Bridges and Bridged Networks - Congestion
            Isolation.";
    
        }
    
        revision "2022-01-19" {
          description
            "Published as part of IEEE Std 802.1Q-2022.";
          reference
            "IEEE Std 802.1Q-2022, Bridges and Bridged Networks.";
    
        }
    
        revision "2020-11-06" {
          description
            "Published as part of IEEE Std 802.1Qcr-2020.";
          reference
            "IEEE Std 802.1Qcr-2020, Bridges and Bridged Networks -
            Asynchronous Traffic Shaping.";
    
        }
    
    
        grouping ats-port-parameters {
          description
            "This container comprises all ATS per-Port parameters.";
          leaf discarded-frames-count {
            type yang:counter64;
            config false;
            description
              "A counter of frames discarded by ATS scheduler instances
    associated with the Bridge Port.";
            reference
              "12.31.7.2 of IEEE Std 802.1Q";
    
          }
        }  // grouping ats-port-parameters
    
        grouping ats-parameters {
          description
            "System specific configuration for ATS includes:
    a) ATS schedulers
    b) ATS scheduler groups";
          container schedulers {
            description
              "This container comprises all nodes related to ATS schedulers.";
            list scheduler-instance-table {
              key "scheduler-instance-id";
              description
                "Each list entry comprises a set of parameters that defines a
    single ATS scheduler instance, as detailed in Table 12-38.";
              reference
                "12.31.5 of IEEE Std 802.1Q";
    
              leaf scheduler-instance-id {
                type uint32;
                mandatory true;
                description
                  "A unique index identifying this ATS scheduler instance.";
                reference
                  "12.31.5.1, 8.6.5.6 of IEEE Std 802.1Q";
    
              }
    
              leaf committed-information-rate {
                type uint64;
                units "bits/second";
                mandatory true;
                description
                  "The committed information rate parameter of this ATS
    scheduler instance.";
                reference
                  "12.31.5.3, 8.6.5.6 of IEEE Std 802.1Q";
    
              }
    
              leaf committed-burst-size {
                type uint32;
                units "bits";
                mandatory true;
                description
                  "The committed burst size parameter of this ATS scheduler
    instance.";
                reference
                  "12.31.5.2, 8.6.5.6 of IEEE Std 802.1Q";
    
              }
    
              leaf scheduler-group-ref {
                type leafref {
                  path "../../../scheduler-groups/scheduler-group-instance-table/scheduler-group-instance-id";
                }
                mandatory true;
                description
                  "A reference to the scheduler group (12.31.5.4) associated
    with this ATS scheduler instance. Multiple ATS scheduler
    instances can be associated to one scheduler group, as
    detailed in 8.6.5.6.";
                reference
                  "12.31.5.4, 8.6.5.6 of IEEE Std 802.1Q";
    
              }
            }  // list scheduler-instance-table
    
            leaf max-scheduler-instances {
              type uint32;
              config false;
              description
                "The maximum number of ATS scheduler instances supported by
    this Bridge component.";
              reference
                "12.31.1.5 of IEEE Std 802.1Q";
    
            }
          }  // container schedulers
    
          container scheduler-groups {
            description
              "This container comprises all ATS scheduler group related nodes.";
            list scheduler-group-instance-table {
              key "scheduler-group-instance-id";
              description
                "Each list entry comprises a set of parameters that defines a
    single ATS scheduler group instance.";
              reference
                "12.31.6, 8.6.5.6 of IEEE Std 802.1Q";
    
              leaf scheduler-group-instance-id {
                type uint32;
                description
                  "A unique index identifying this ATS scheduler group
    instance.";
                reference
                  "12.31.6.1, 8.6.5.6 of IEEE Std 802.1Q";
    
              }
    
              leaf max-residence-time {
                type uint32;
                units "nanoseconds";
                mandatory true;
                description
                  "The maximum residence time parameter of the ATS scheduler
    group.";
                reference
                  "12.31.6.2, 8.6.5.6 of IEEE Std 802.1Q";
    
              }
            }  // list scheduler-group-instance-table
    
            leaf max-scheduler-group-instances {
              type uint32;
              config false;
              description
                "The maximum number of ATS scheduler group instances supported
    by this Bridge component.";
              reference
                "12.31.1.6, 8.6.5.6 of IEEE Std 802.1Q";
    
            }
    
            container scheduler-timing-characteristics {
              description
                "This container comprises all ATS scheduler timing
    characteristics related nodes.";
              list scheduler-timing-characteristics-table {
                key "reception-port transmission-port";
                config false;
                description
                  "Each list entry comprises the timing characteristics of a
    reception Port transmission Port pair, as detailed in Table
    12-41.";
                reference
                  "12.31.8, 8.6.11 of IEEE Std 802.1Q";
    
                leaf reception-port {
                  type dot1qtypes:port-number-type;
                  config false;
                  mandatory true;
                  description
                    "A reference to the associated reception Port.";
                  reference
                    "12.31.8.1 of IEEE Std 802.1Q";
    
                }
    
                leaf transmission-port {
                  type dot1qtypes:port-number-type;
                  config false;
                  mandatory true;
                  description
                    "A reference to the associated transmission Port.";
                  reference
                    "12.31.8.2 of IEEE Std 802.1Q";
    
                }
    
                leaf clock-offset-variation-max {
                  type uint32;
                  units "nanoseconds";
                  config false;
                  mandatory true;
                  description
                    "The maximum clock offset variation associated with the
    reception Port transmission Port pair.";
                  reference
                    "12.31.8.3 of IEEE Std 802.1Q";
    
                }
    
                leaf clock-rate-deviation-max {
                  type uint32;
                  units "ppm";
                  config false;
                  mandatory true;
                  description
                    "The maximum clock rate deviation associated with the
    reception Port transmission Port pair.";
                  reference
                    "12.31.8.4 of IEEE Std 802.1Q";
    
                }
    
                leaf arrival-recognition-delay-max {
                  type uint32;
                  units "nanoseconds";
                  config false;
                  mandatory true;
                  description
                    "The maximum arrival time recognition delay associated with
    the reception Port transmission Port pair.";
                  reference
                    "12.31.8.5 of IEEE Std 802.1Q";
    
                }
    
                leaf processing-delay-min {
                  type uint32;
                  units "nanoseconds";
                  config false;
                  mandatory true;
                  description
                    "The minimum processing delay associated with the reception
    Port transmission Port pair.";
                  reference
                    "12.31.8.6 of IEEE Std 802.1Q";
    
                }
    
                leaf processing-delay-max {
                  type uint32;
                  units "nanoseconds";
                  config false;
                  mandatory true;
                  description
                    "The maximum processing delay associated with the reception
    Port transmission Port pair.";
                  reference
                    "12.31.8.7 of IEEE Std 802.1Q";
    
                }
              }  // list scheduler-timing-characteristics-table
            }  // container scheduler-timing-characteristics
          }  // container scheduler-groups
        }  // grouping ats-parameters
    
        uses sfsg:sfsg-parameters {
          augment stream-filters/stream-filter-instance-table {
            description
              "Augments the system stream filter for ATS schedulers.";
            uses ats:ats-parameters;
    
            container scheduler {
              description
                "This container encapsulates ATS scheduler nodes.";
              leaf scheduler-ref {
                type leafref {
                  path
                    "../../schedulers/scheduler-instance-table/scheduler-instance-id";
                }
                description
                  "A reference to the ATS scheduler associated with this stream
    filter.";
              }
    
              leaf scheduler-enable {
                type boolean;
                default "false";
                description
                  "If TRUE, this stream filter has an associated ATS scheduler
    referenced by scheduler-ref. If FALSE, no ATS scheduler is
    associated with this stream filter (scheduler-ref is
    ignored).";
              }
            }  // container scheduler
          }
        }
      }  // module ieee802-dot1q-ats
    

© 2024 YumaWorks, Inc. All rights reserved.