module ieee802-dot1q-ats { namespace urn:ieee:std:802.1Q:yang:ieee802-dot1q-ats; prefix ats; import ieee802-dot1q-bridge { prefix dot1q; } import ieee802-dot1q-stream-filters-gates { prefix sfsg; } organization "Institute of Electrical and Electronics Engineers"; contact "WG-URL: http://grouper.ieee.org/groups/802/1/ WG-EMail: stds-802-1@ieee.org Contact: IEEE 802.1 Working Group Chair Postal: C/O IEEE 802.1 Working Group IEEE Standards Association 445 Hoes Lane P.O. Box 1331 Piscataway NJ 08855-1331 USA E-mail: STDS-802-1-L@LISTSERV.IEEE.ORG"; description "This module provides management of 802.1Q bridge components that support Asynchronous Traffic Shaping (ATS). This experimental YANG module is an individual contribution, does not represent a formally sanctioned YANG module of IEEE. Therefore, this YANG module will change in incompatible ways from its current revision to the formally published YANG module for IEEE Std 802.1Q."; revision 2017-12-20 { description "Initial module for Stream Filter and Stream Gate extensions for ATS, as specified in IEEE 802.1Qcr."; reference "IEEE 802.1Qcr"; } typedef shaper-ref-type { type leafref { path '/dot1q:bridges'+ '/dot1q:bridge'+ '/dot1q:component'+ '/ats:shapers'+ '/ats:shaper-instance-table'+ '/ats:shaper-instance-id'; } description "This type is used to refer to an ATS shaper instance."; } typedef shaper-group-ref-type { type leafref { path '/dot1q:bridges'+ '/dot1q:bridge'+ '/dot1q:component'+ '/ats:shaper-groups'+ '/ats:shaper-group-instance-table'+ '/ats:shaper-group-instance-id'; } description "This type is used to refer to an ATS shaper group instance."; } augment "/dot1q:bridges"+ "/dot1q:bridge"+ "/dot1q:component"+ "/sfsg:stream-filters"+ "/sfsg:stream-filter-instance-table"+ "/sfsg:filter-specification-list"+ "/sfsg:filter-specification" { description "Augment the Bridge component Stream Filter specification type by a ATS shaper filter specification type."; case shaper-ref { leaf shaper-ref { type ats:shaper-ref-type; mandatory true; description "A reference to the ATS shaper associated with this filter."; } } } augment "/dot1q:bridges/dot1q:bridge/dot1q:component" { description "Augment the Bridge component by a) ATS Shapers b) ATS Shaper Groups"; container shapers { description "This container comprises all ATS shaper instance related nodes."; list shaper-instance-table { key "shaper-instance-id"; description "Each table row in the Shaper Instance Table comprises a set of parameters that defines a singe ATS shaper instance, as detailed in 8.6.5.2.3."; reference "IEEE 802.1Qcr: Clause 12.34.4"; leaf shaper-instance-id { type uint32; mandatory true; description "An integer table index that allows the shaper instance to be referenced from Stream Filter Instance Table entries."; reference "IEEE 802.1Qcr: Clause 12.33.4.1"; } leaf committed-information-rate { type uint64; mandatory true; description "The committed information rate parameter of the shaper instance, in bits per second (8.6.5.2.3)."; reference "IEEE 802.1Qcr: Clause 8.6.5.2.3"; } leaf committed-burst-size { type uint32; mandatory true; description "The committed burst size parameter of the shaper instance, in bits (8.6.5.2.3)."; reference "IEEE 802.1Qcr: Clause 8.6.5.2.3"; } leaf shaper-group-ref { type ats:shaper-group-ref-type; mandatory true; description "The ShaperGroupInstanceID parameter identifies the shaper group (12.32.5) that is associated with the shaper instance. Multiple shaper instance can be associated to one shaper group, as detailed in 8.6.5.2.3."; reference "IEEE 802.1Qcr: Clause 12.33.4.4"; } } leaf max-shaper-instances { type uint32; config false; description "The maximum number of shaper instances supported by this Bridge component."; reference "IEEE 802.1Qcr: Clause 12.33.1.3"; } } container shaper-groups { description "This container comprises all ATS shaper group related nodes."; list shaper-group-instance-table { key "shaper-group-instance-id"; description "Each table row in the Shaper Group Instance Table comprises a set of parameters that defines a singe ATS shaper group instance (8.6.5.2.3), as detailed in Table 12-38."; reference "IEEE 802.1Qcr: Clause 12.34.5"; leaf shaper-group-instance-id { type uint32; description "An integer table index that allows the shaper group instance to be referenced from Shaper Instance Table entries."; reference "IEEE 802.1Qcr: Clause 12.33.5.1"; } leaf max-residence-time { type uint32; mandatory true; description "The maximum residence time parameter of the shaper group, in nanoseconds."; reference "IEEE 802.1Qcr: Clause 8.6.5.2.3"; } } leaf max-shaper-group-instances { type uint32; config false; description "The maximum number of shaper group instances supported by this Bridge component."; reference "IEEE 802.1Qcr: Clause 12.33.1.4"; } } } }