blob: a150263bb4f7b448dfe786df2e1ab849d09c75d8 [file] [log] [blame]
Scott Bakerc9d3d842021-09-17 11:32:53 -07001// SPDX-FileCopyrightText: 2021 Open Networking Foundation
2//
3// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
4
5module qos-profile {
6 namespace "http://opennetworking.org/aether/qos-profile";
7 prefix pro;
8
9 organization "Open Networking Foundation.";
10 contact "Scott Baker";
11 description "To generate JSON from this use command
12 pyang -f jtoxx test1.yang | python3 -m json.tool > test1.json
13 Copied from YangUIComponents project";
14
15 revision "2020-10-22" {
16 description "An Aether qos Profile";
17 reference "RFC 6087";
18 }
19
20 // TODO: Think more on whether this should be a UUID or
PUSHP RAJba2e32f2021-11-02 10:39:24 +000021 // simply a unique name. If it's a UUID, could fix the
Scott Bakerc9d3d842021-09-17 11:32:53 -070022 // string length.
23 typedef qos-profile-id {
24 type string {
25 length 1..32;
26 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000027 description "The typedef for qos-profile-id";
Scott Bakerc9d3d842021-09-17 11:32:53 -070028 }
29
30 container qos-profile {
31 description "The top level container";
32
33 list qos-profile {
34 key "id";
35 description
36 "List of qos profiles";
37
38 leaf id {
39 type qos-profile-id;
40 description "ID for this qos profile.";
41 }
42
43 leaf display-name {
44 type string {
45 length 1..80;
46 }
47 description "display name to use in GUI or CLI";
PUSHP RAJba2e32f2021-11-02 10:39:24 +000048 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070049
50 container apn-ambr {
51 leaf uplink {
52 type uint32 {
53 range 0..4294967295;
54 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000055 units bps;
Scott Bakerc9d3d842021-09-17 11:32:53 -070056 default 0;
Scott Bakerc9d3d842021-09-17 11:32:53 -070057 description
58 "Upstream aggregate maximum bit rate";
59 }
60 leaf downlink {
61 type uint32 {
62 range 0..4294967295;
63 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070064 units bps;
PUSHP RAJba2e32f2021-11-02 10:39:24 +000065 default 0;
Scott Bakerc9d3d842021-09-17 11:32:53 -070066 description
67 "Downstream aggregate maximum bit rate";
PUSHP RAJba2e32f2021-11-02 10:39:24 +000068 }
69 description "The container for apn-ambr";
Scott Bakerc9d3d842021-09-17 11:32:53 -070070 }
71
72 leaf qci {
73 type uint32 {
74 range 0..85;
75 }
76 default 9;
77 description
78 "QoS Class Identifier";
79 }
80
81 container arp {
82 leaf priority {
83 type uint32 {
84 range 0..15;
PUSHP RAJba2e32f2021-11-02 10:39:24 +000085 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070086 default 0;
87 description
88 "Priority";
PUSHP RAJba2e32f2021-11-02 10:39:24 +000089 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070090 leaf preemption-capability {
91 type boolean;
92 default true;
93 description
94 "True if a bearer with lower priority should be dropped";
95 }
96 leaf preemption-vulnerability {
97 type boolean;
98 default true;
99 description
100 "This bearer may be dropped for a bearer with higher priority";
101 }
102 description "Evolved-ARP";
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000103 }
104
Scott Bakerc9d3d842021-09-17 11:32:53 -0700105 leaf description {
106 type string {
107 length 1..100;
108 }
109 description "description of this profile";
110 }
111 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000112 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700113}