blob: 679648eb874c5946a8ac4dbd57df3bee831f83b1 [file] [log] [blame]
Scott Bakerfdbad762022-01-03 16:00:45 -08001// SPDX-FileCopyrightText: 2021 Open Networking Foundation
2//
3// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
4
5module onf-aether-types {
6 namespace "http://opennetworking.org/aether/aether-types";
7 prefix at;
8
9 import ietf-inet-types { prefix inet; }
10
11 organization "Open Networking Foundation.";
12 contact "Scott Baker";
13 description "A set of base types for aether modeling.";
14
15 revision "2021-09-10" {
16 description "Aether Base Types";
17 reference "RFC 6087";
18 }
19
20 typedef bitrate {
21 type uint64 {
22 }
23 description "The typedef for bitrate";
24 }
25
26 typedef burst {
27 type uint32 {
28 }
29 default 625000;
30 description "The typedef for burst";
31 }
32
33 typedef mcc {
34 type string {
35 pattern '[0-9]{3}';
36 }
37 description "The typedef for mcc";
38 }
39
40 typedef mnc {
41 type string {
42 pattern '[0-9]{2,3}';
43 }
44 description "The typedef for mnc";
45 }
46
47 typedef tac {
48 type string {
49 length 4..8;
50 pattern '[0-9A-F\.]*';
51 }
52 description "The typedef for tac";
53 }
54
55 typedef ent {
56 type uint32 {
57 range 0..999;
58 }
59 description "The typedef for ent";
60 }
61
62 typedef dnn {
63 type string {
64 length 1..32;
65 }
66 description "The typedef for dnn";
67 }
68
69 typedef sst {
70 type uint8 {
71 range 1..255;
72 }
73 description "The typedef for sst";
74 }
75
76 typedef sd {
77 type uint32 {
78 range 0..16777215;
79 }
80 description "The typedef for sd";
81 }
82
83 typedef qci {
84 type uint8 {
85 range 1..32;
86 }
87 description "The typedef for qci";
88 }
89
90 typedef arp {
91 type uint8 {
92 range 1..15;
93 }
94 description "The typedef for arp";
95 }
96
97 typedef pelr {
98 type int8 {
99 range 0..10;
100 }
101 description "The typedef for pelr";
102 }
103
104 typedef pdb {
105 type uint16 {
106 range 0..1000;
107 }
108 description "The typedef for pdb";
109 }
110
111 typedef priority {
112 type uint8 {
113 // priorities 201-255 are reserved for system use
114 range 0..200;
115 }
116 description "The typedef for priority";
117 }
118
119 // "TCP" or "UDP"
120 typedef protocol {
121 type string {
122 length 3;
123 pattern "TCP|UDP";
124 }
125 default "TCP";
126 description "The typedef for protocol";
127 }
128
129 // "ENABLE" | "MAINTENTANCE" | "DISABLE"
130 typedef admin-status {
131 type string {
132 length 0..16;
133 pattern "ENABLE|MAINTENANCE|DISABLE";
134 }
135 default "ENABLE";
136 description "The typedef for admin-status";
137 }
138
139 typedef behavior {
140 type string {
141 length 0..20;
142 pattern "DENY-ALL|ALLOW-ALL|ALLOW-PUBLIC";
143 }
144 description "The typedef for behavior";
145 }
146
147 typedef mtu {
148 type inet:port-number;
149 default 1492;
150 description "The typedef for mtu";
151 }
152
153 typedef description {
154 type string {
155 length 1..1024;
156 }
157 description "The typedef for description";
158 }
159}