ieee802-dot1q-ats

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

  • Version: 2022-01-19

    ieee802-dot1q-ats@2022-01-19


    
      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).
    
    Copyright (C) IEEE (2022).
    
    This version of this YANG module is part of IEEE Std 802.1Q; see the
    standard itself for full legal notices.";
    
        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. 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.1Q-2022";
    
            }
          }  // 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.1Q-2022";
    
              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-2022";
    
              }
    
              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-2022";
    
              }
    
              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.3, 8.6.5.6 of IEEE Std 802.1Q-2022";
    
              }
    
              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.1Q-2022";
    
              }
            }  // 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-2022";
    
            }
          }  // 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-2022";
    
              leaf scheduler-group-instance-id {
                type uint32;
                description
                  "A unique index identifying this ATS scheduler group
    instance.";
                reference
                  "12.31.6, 8.6.5.6 of IEEE Std 802.1Q-2022";
    
              }
    
              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, 8.6.5.6 of IEEE Std 802.1Q-2022";
    
              }
            }  // 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-2022";
    
            }
    
            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, 8.6.11 of IEEE Std 802.1Q-2022";
    
                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-2022";
    
                }
    
                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-2022";
    
                }
    
                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-2022";
    
                }
    
                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-2022";
    
                }
    
                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-2022";
    
                }
    
                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-2022";
    
                }
    
                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-2022";
    
                }
              }  // list scheduler-timing-characteristics-table
            }  // container scheduler-timing-characteristics
          }  // container scheduler-groups
        }
      }  // module ieee802-dot1q-ats
    

© 2023 YumaWorks, Inc. All rights reserved.