blob: 9d9c89291d835ae0e34e49ff32532c6b4c21a597 [file] [log] [blame]
Scott Bakerc9d3d842021-09-17 11:32:53 -07001// SPDX-FileCopyrightText: 2021 Open Networking Foundation
2//
Sean Condon160ec1d2022-02-08 12:58:25 +00003// SPDX-License-Identifier: Apache-2.0
Scott Bakerc9d3d842021-09-17 11:32:53 -07004
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 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000023 description "The typedef for bitrate";
Scott Bakerc9d3d842021-09-17 11:32:53 -070024 }
25
Scott Baker75ff25b2021-10-27 18:46:23 -070026 typedef burst {
27 type uint32 {
28 }
29 default 625000;
PUSHP RAJba2e32f2021-11-02 10:39:24 +000030 description "The typedef for burst";
Scott Baker75ff25b2021-10-27 18:46:23 -070031 }
32
Scott Bakerc9d3d842021-09-17 11:32:53 -070033 typedef mcc {
34 type string {
35 pattern '[0-9]{3}';
36 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000037 description "The typedef for mcc";
Scott Bakerc9d3d842021-09-17 11:32:53 -070038 }
39
40 typedef mnc {
41 type string {
42 pattern '[0-9]{2,3}';
43 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000044 description "The typedef for mnc";
Scott Bakerc9d3d842021-09-17 11:32:53 -070045 }
46
47 typedef tac {
48 type string {
49 length 4..8;
50 pattern '[0-9A-F\.]*';
51 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000052 description "The typedef for tac";
Scott Bakerc9d3d842021-09-17 11:32:53 -070053 }
54
55 typedef ent {
56 type uint32 {
57 range 0..999;
58 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000059 description "The typedef for ent";
60 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070061
62 typedef dnn {
63 type string {
64 length 1..32;
65 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000066 description "The typedef for dnn";
67 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070068
69 typedef sst {
70 type uint8 {
71 range 1..255;
72 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000073 description "The typedef for sst";
Scott Bakerc9d3d842021-09-17 11:32:53 -070074 }
75
76 typedef sd {
77 type uint32 {
78 range 0..16777215;
79 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000080 description "The typedef for sd";
Scott Bakerc9d3d842021-09-17 11:32:53 -070081 }
82
83 typedef qci {
84 type uint8 {
85 range 1..32;
86 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000087 description "The typedef for qci";
Scott Bakerc9d3d842021-09-17 11:32:53 -070088 }
89
90 typedef arp {
91 type uint8 {
92 range 1..15;
93 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000094 description "The typedef for arp";
95 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070096
97 typedef pelr {
98 type int8 {
99 range 0..10;
100 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000101 description "The typedef for pelr";
Scott Bakerc9d3d842021-09-17 11:32:53 -0700102 }
103
104 typedef pdb {
105 type uint16 {
106 range 0..1000;
107 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000108 description "The typedef for pdb";
Scott Baker36c96142021-10-19 14:13:30 -0700109 }
110
111 typedef priority {
112 type uint8 {
113 // priorities 201-255 are reserved for system use
114 range 0..200;
115 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000116 description "The typedef for priority";
Scott Baker36c96142021-10-19 14:13:30 -0700117 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700118
119 // "TCP" or "UDP"
120 typedef protocol {
121 type string {
122 length 3;
123 pattern "TCP|UDP";
124 }
125 default "TCP";
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000126 description "The typedef for protocol";
Scott Bakerc9d3d842021-09-17 11:32:53 -0700127 }
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";
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000136 description "The typedef for admin-status";
Scott Baker36c96142021-10-19 14:13:30 -0700137 }
138
139 typedef behavior {
140 type string {
141 length 0..20;
142 pattern "DENY-ALL|ALLOW-ALL|ALLOW-PUBLIC";
143 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000144 description "The typedef for behavior";
Scott Baker36c96142021-10-19 14:13:30 -0700145 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700146
147 typedef mtu {
148 type inet:port-number;
149 default 1492;
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000150 description "The typedef for mtu";
Scott Bakerc9d3d842021-09-17 11:32:53 -0700151 }
152
153 typedef description {
154 type string {
155 length 1..1024;
156 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000157 description "The typedef for description";
Scott Bakerc9d3d842021-09-17 11:32:53 -0700158 }
159}