AETHER-2752 Priority Traffic Rule, Device, Sim-Card
Change-Id: Ia68c94bcfa67ccf529f0eb0f51faea0566b34ef6
diff --git a/config-models/aether-2.0.x/files/yang/onf-priority-traffic-rule.yang b/config-models/aether-2.0.x/files/yang/onf-priority-traffic-rule.yang
new file mode 100755
index 0000000..68f862c
--- /dev/null
+++ b/config-models/aether-2.0.x/files/yang/onf-priority-traffic-rule.yang
@@ -0,0 +1,115 @@
+// SPDX-FileCopyrightText: 2021 Open Networking Foundation
+//
+// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+submodule onf-priority-traffic-rule {
+ belongs-to onf-enterprise { prefix ent; }
+
+ import ietf-yang-types{ prefix yg; }
+ import onf-aether-types{ prefix at; }
+ include onf-device;
+ include onf-traffic-class;
+ include onf-application;
+
+ organization "Open Networking Foundation.";
+ contact "Scott Baker";
+ description
+ "The aether traffic class associates qos constants
+ with a named class of service";
+
+ revision "2022-01-19" {
+ description "An Aether Priority Traffic Rule";
+ reference "RFC 6087";
+ }
+
+ typedef priority-traffic-rule-id {
+ type yg:yang-identifier {
+ length 1..32;
+ }
+ description "The typedef for priority traffic rule id";
+ }
+
+ grouping priority-traffic-rule {
+ description "The top level container";
+
+ list priority-traffic-rule {
+ key "ptr-id";
+ unique "device endpoint";
+ description
+ "List of priority traffic rules";
+
+ leaf ptr-id {
+ type priority-traffic-rule-id;
+ description "ID for this priority traffic class.";
+ }
+
+ leaf display-name {
+ type string {
+ length 1..80;
+ }
+ description "display name to use in GUI or CLI";
+ }
+
+ leaf device {
+ type leafref {
+ path "../../device/dev-id";
+ }
+ mandatory true;
+ description
+ "Link to device";
+ }
+
+ leaf endpoint {
+ type leafref {
+ path "../../../application/endpoint/endpoint-id";
+ }
+ mandatory true;
+ description
+ "Link to application";
+ }
+
+ container mbr {
+ description "Maximum bitrate";
+ leaf uplink {
+ type at:bitrate;
+ units bps;
+ description "Per-Device per-Application MBR uplink data rate in bps";
+ }
+
+ leaf downlink {
+ type at:bitrate;
+ units bps;
+ description "Per-Device per application MBR downlink data rate in bps";
+ }
+ }
+
+ container gbr {
+ description "Guaranteed bitrate";
+ leaf uplink {
+ type at:bitrate;
+ units bps;
+ description "Per-Device per-Application GBR uplink data rate in bps";
+ }
+
+ leaf downlink {
+ type at:bitrate;
+ units bps;
+ description "Per-Device per application GBR downlink data rate in bps";
+ }
+ }
+
+ leaf traffic-class {
+ type leafref {
+ path "../../../traffic-class/tc-id";
+ }
+ description
+ "Link to traffic class";
+ }
+
+ leaf description {
+ type at:description;
+ description "description of this priority traffic rule";
+ }
+ }
+ }
+}