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