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-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"; } } 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 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"; } } 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"; } } } } } 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)."; } } } } }