ieee802-dot1q-ats

This module provides management of 802.1Q bridge components that support Asynchronous Traffic Shaping (ATS).

  • Version: 2020-11-06

    ieee802-dot1q-ats@2020-11-06


    
      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 ietf-interfaces {
          prefix if;
        }
        import ieee802-dot1q-types {
          prefix dot1qtypes;
        }
        import ieee802-dot1q-bridge {
          prefix dot1q;
        }
        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 802.1Q bridge components that support
        Asynchronous Traffic Shaping (ATS).";
    
        revision "2020-11-06" {
          description
            "Published as part of IEEE Std 802.1Qcr-2020.
          Initial version.";
          reference
            "IEEE Std 802.1Qcr-2020, Bridges and Bridged Networks -
            Asynchronous Traffic Shaping.";
    
        }
    
    
        typedef scheduler-ref-type {
          type leafref {
            path "/dot1q:bridges/dot1q:bridge/dot1q:component/ats:schedulers/ats:scheduler-instance-table/ats:scheduler-instance-id";
          }
          description
            "This type is used to refer to an ATS scheduler instance.";
        }
    
        typedef scheduler-group-ref-type {
          type leafref {
            path "/dot1q:bridges/dot1q:bridge/dot1q:component/ats:scheduler-groups/ats:scheduler-group-instance-table/ats:scheduler-group-instance-id";
          }
          description
            "This type is used to refer to an ATS scheduler group instance.";
        }
    
        augment /dot1q:bridges/dot1q:bridge/dot1q:component/sfsg:stream-filters/sfsg:stream-filter-instance-table {
          description
            "Augments the Bridge component stream filter for ATS schedulers.";
          container scheduler {
            description
              "Enapsulates ATS scheduler nodes.";
            leaf scheduler-ref {
              type scheduler-ref-type;
              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
        }
    
        augment /if:interfaces/if:interface/dot1q:bridge-port {
          description
            "Augments Bridge Ports by ATS per-Port parameters.";
          container 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.3 of IEEE Std 802.1Qcr-2020";
    
            }
          }  // container ats-port-parameters
        }
    
        augment /dot1q:bridges/dot1q:bridge/dot1q:component {
          description
            "Augments the Bridge component by
           a) ATS schedulers
           b) ATS scheduler groups";
          container schedulers {
            description
              "This container comprises all nodes related to an 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-33.";
              reference
                "12.31.5 of IEEE Std 802.1Qcr-2020";
    
              leaf scheduler-instance-id {
                type uint32;
                mandatory true;
                description
                  "A unique index identifying this ATS scheduler instance.";
                reference
                  "12.31.5.1 of IEEE Std 802.1Qcr-2020
                  8.6.5.6 of IEEE Std 802.1Qcr-2020";
    
              }
    
              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 of IEEE Std 802.1Qcr-2020
                  8.6.5.6 of IEEE Std 802.1Qcr-2020";
    
              }
    
              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 of IEEE Std 802.1Qcr-2020
                  8.6.5.6 of IEEE Std 802.1Qcr-2020";
    
              }
    
              leaf scheduler-group-ref {
                type scheduler-group-ref-type;
                mandatory true;
                description
                  "A reference to the scheduler group (12.32.5) 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.6 of IEEE Std 802.1Qcr-2020";
    
              }
            }  // 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.1Qcr-2020";
    
            }
          }  // 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 of IEEE Std 802.1Qcr-2020
                8.6.5.6 of IEEE Std 802.1Qcr-2020";
    
              leaf scheduler-group-instance-id {
                type uint32;
                description
                  "A unique index identifying this ATS scheduler group instance.";
                reference
                  "12.31.6.1 of IEEE Std 802.1Qcr-2020
                  8.6.5.6 of IEEE Std 802.1Qcr-2020";
    
              }
    
              leaf max-residence-time {
                type uint32;
                units "nanoseconds";
                mandatory true;
                description
                  "The maximum residence time parameter of the ATS scheduler
                group.";
                reference
                  "8.6.11.2.13 of IEEE Std 802.1Qcr-2020
                  8.6.5.6 of IEEE Std 802.1Qcr-2020";
    
              }
            }  // 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 of IEEE Std 802.1Qcr-2020
                8.6.5.6 of IEEE Std 802.1Qcr-2020";
    
            }
    
            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-36.";
                reference
                  "12.31.8 of IEEE Std 802.1Qcr-2020
                  8.6.11 of IEEE Std 802.1Qcr-2020";
    
                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.1Qcr-2020";
    
                }
    
                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.1Qcr-2020";
    
                }
    
                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.1Qcr-2020";
    
                }
    
                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.1Qcr-2020";
    
                }
    
                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.1Qcr-2020";
    
                }
    
                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.1Qcr-2020";
    
                }
    
                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.1Qcr-2020";
    
                }
              }  // list scheduler-timing-characteristics-table
            }  // container scheduler-timing-characteristics
          }  // container scheduler-groups
        }
      }  // module ieee802-dot1q-ats
    

© 2023 YumaWorks, Inc. All rights reserved.