You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
316 lines
10 KiB
316 lines
10 KiB
1 year ago
|
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 ats: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).";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
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";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
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 ats: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";
|
||
|
}
|
||
|
}
|
||
|
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 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";
|
||
|
}
|
||
|
}
|
||
|
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";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|