blob: fedbdc6287e0c62395a0ebc103c903eecebe2ebe [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 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-06-02" {
16 description "Aether Base Types";
17 reference "RFC 6087";
18 }
19
20 typedef mcc {
21 type string {
22 pattern '[0-9]{3}';
23 }
24 }
25
26 typedef mnc {
27 type string {
28 pattern '[0-9]{2,3}';
29 }
30 }
31
32 typedef tac {
33 type string {
34 length 4..8;
35 pattern '[0-9A-F\.]*';
36 }
37 }
38
39 typedef ent {
40 type uint32 {
41 range 0..999;
42 }
43 }
44
45 typedef dnn {
46 type string {
47 length 1..32;
48 }
49 }
50
51 typedef sst {
52 type uint8 {
53 range 1..255;
54 }
55 }
56
57 typedef sd {
58 type uint32 {
59 range 0..16777215;
60 }
61 }
62
63 typedef qci {
64 type uint8 {
65 range 1..32;
66 }
67 }
68
69 typedef pelr {
70 type int8 {
71 range 0..10;
72 }
73 }
74
75 typedef pdb {
76 type uint16 {
77 range 0..1000;
78 }
79 }
80
81 // "TCP" or "UDP"
82 typedef protocol {
83 type string {
84 length 3;
85 pattern "TCP|UDP";
86 }
87 default "TCP";
88 }
89
90 // "ENABLE" | "MAINTENTANCE" | "DISABLE"
91 typedef admin-status {
92 type string {
93 length 0..16;
94 pattern "ENABLE|MAINTENANCE|DISABLE";
95 }
96 default "ENABLE";
97 }
98
99 typedef mtu {
100 type inet:port-number;
101 default 1492;
102 }
103
104 typedef description {
105 type string {
106 length 1..1024;
107 }
108 }
109}