blob: 86ef630190ab31ac59367461a94db9cf7c9fbd80 [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 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 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000024 description "The typedef for mcc";
Scott Bakerc9d3d842021-09-17 11:32:53 -070025 }
26
27 typedef mnc {
28 type string {
29 pattern '[0-9]{2,3}';
30 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000031 description "The typedef for mnc";
Scott Bakerc9d3d842021-09-17 11:32:53 -070032 }
33
34 typedef tac {
35 type string {
36 length 4..8;
37 pattern '[0-9A-F\.]*';
38 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000039 description "The typedef for tac";
Scott Bakerc9d3d842021-09-17 11:32:53 -070040 }
41
42 typedef ent {
43 type uint32 {
44 range 0..999;
45 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000046 description "The typedef for ent";
47 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070048
49 typedef dnn {
50 type string {
51 length 1..32;
52 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000053 description "The typedef for dnn";
54 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070055
56 typedef sst {
57 type uint8 {
58 range 1..255;
59 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000060 description "The typedef for sst";
Scott Bakerc9d3d842021-09-17 11:32:53 -070061 }
62
63 typedef sd {
64 type uint32 {
65 range 0..16777215;
66 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000067 description "The typedef for sd";
Scott Bakerc9d3d842021-09-17 11:32:53 -070068 }
69
70 typedef qci {
71 type uint8 {
72 range 1..32;
73 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000074 description "The typedef for qci";
Scott Bakerc9d3d842021-09-17 11:32:53 -070075 }
76
77 typedef pelr {
78 type int8 {
79 range 0..10;
80 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000081 description "The typedef for pelr";
Scott Bakerc9d3d842021-09-17 11:32:53 -070082 }
83
84 typedef pdb {
85 type uint16 {
86 range 0..1000;
87 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +000088 description "The typedef for pdb";
89 }
Scott Bakerc9d3d842021-09-17 11:32:53 -070090
91 // "TCP" or "UDP"
92 typedef protocol {
93 type string {
94 length 3;
95 pattern "TCP|UDP";
96 }
97 default "TCP";
PUSHP RAJba2e32f2021-11-02 10:39:24 +000098 description "The typedef for protocol";
Scott Bakerc9d3d842021-09-17 11:32:53 -070099 }
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";
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000108 description "The typedef for admin-status";
109 }
Scott Bakerc9d3d842021-09-17 11:32:53 -0700110
111 typedef mtu {
112 type inet:port-number;
113 default 1492;
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000114 description "The typedef for mtu";
Scott Bakerc9d3d842021-09-17 11:32:53 -0700115 }
116
117 typedef description {
118 type string {
119 length 1..1024;
120 }
PUSHP RAJba2e32f2021-11-02 10:39:24 +0000121 description "The typedef for description";
Scott Bakerc9d3d842021-09-17 11:32:53 -0700122 }
123}