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
    

© 2023 YumaWorks, Inc. All rights reserved.