Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 1 | // SPDX-FileCopyrightText: 2021 Open Networking Foundation |
| 2 | // |
Sean Condon | 160ec1d | 2022-02-08 12:58:25 +0000 | [diff] [blame^] | 3 | // SPDX-License-Identifier: Apache-2.0 |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 4 | |
| 5 | module 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 RAJ | ba2e32f | 2021-11-02 10:39:24 +0000 | [diff] [blame] | 24 | description "The typedef for mcc"; |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 25 | } |
| 26 | |
| 27 | typedef mnc { |
| 28 | type string { |
| 29 | pattern '[0-9]{2,3}'; |
| 30 | } |
PUSHP RAJ | ba2e32f | 2021-11-02 10:39:24 +0000 | [diff] [blame] | 31 | description "The typedef for mnc"; |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 32 | } |
| 33 | |
| 34 | typedef tac { |
| 35 | type string { |
| 36 | length 4..8; |
| 37 | pattern '[0-9A-F\.]*'; |
| 38 | } |
PUSHP RAJ | ba2e32f | 2021-11-02 10:39:24 +0000 | [diff] [blame] | 39 | description "The typedef for tac"; |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 40 | } |
| 41 | |
| 42 | typedef ent { |
| 43 | type uint32 { |
| 44 | range 0..999; |
| 45 | } |
PUSHP RAJ | ba2e32f | 2021-11-02 10:39:24 +0000 | [diff] [blame] | 46 | description "The typedef for ent"; |
| 47 | } |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 48 | |
| 49 | typedef dnn { |
| 50 | type string { |
| 51 | length 1..32; |
| 52 | } |
PUSHP RAJ | ba2e32f | 2021-11-02 10:39:24 +0000 | [diff] [blame] | 53 | description "The typedef for dnn"; |
| 54 | } |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 55 | |
| 56 | typedef sst { |
| 57 | type uint8 { |
| 58 | range 1..255; |
| 59 | } |
PUSHP RAJ | ba2e32f | 2021-11-02 10:39:24 +0000 | [diff] [blame] | 60 | description "The typedef for sst"; |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 61 | } |
| 62 | |
| 63 | typedef sd { |
| 64 | type uint32 { |
| 65 | range 0..16777215; |
| 66 | } |
PUSHP RAJ | ba2e32f | 2021-11-02 10:39:24 +0000 | [diff] [blame] | 67 | description "The typedef for sd"; |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 68 | } |
| 69 | |
| 70 | typedef qci { |
| 71 | type uint8 { |
| 72 | range 1..32; |
| 73 | } |
PUSHP RAJ | ba2e32f | 2021-11-02 10:39:24 +0000 | [diff] [blame] | 74 | description "The typedef for qci"; |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 75 | } |
| 76 | |
| 77 | typedef pelr { |
| 78 | type int8 { |
| 79 | range 0..10; |
| 80 | } |
PUSHP RAJ | ba2e32f | 2021-11-02 10:39:24 +0000 | [diff] [blame] | 81 | description "The typedef for pelr"; |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 82 | } |
| 83 | |
| 84 | typedef pdb { |
| 85 | type uint16 { |
| 86 | range 0..1000; |
| 87 | } |
PUSHP RAJ | ba2e32f | 2021-11-02 10:39:24 +0000 | [diff] [blame] | 88 | description "The typedef for pdb"; |
| 89 | } |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 90 | |
| 91 | // "TCP" or "UDP" |
| 92 | typedef protocol { |
| 93 | type string { |
| 94 | length 3; |
| 95 | pattern "TCP|UDP"; |
| 96 | } |
| 97 | default "TCP"; |
PUSHP RAJ | ba2e32f | 2021-11-02 10:39:24 +0000 | [diff] [blame] | 98 | description "The typedef for protocol"; |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 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"; |
PUSHP RAJ | ba2e32f | 2021-11-02 10:39:24 +0000 | [diff] [blame] | 108 | description "The typedef for admin-status"; |
| 109 | } |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 110 | |
| 111 | typedef mtu { |
| 112 | type inet:port-number; |
| 113 | default 1492; |
PUSHP RAJ | ba2e32f | 2021-11-02 10:39:24 +0000 | [diff] [blame] | 114 | description "The typedef for mtu"; |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 115 | } |
| 116 | |
| 117 | typedef description { |
| 118 | type string { |
| 119 | length 1..1024; |
| 120 | } |
PUSHP RAJ | ba2e32f | 2021-11-02 10:39:24 +0000 | [diff] [blame] | 121 | description "The typedef for description"; |
Scott Baker | c9d3d84 | 2021-09-17 11:32:53 -0700 | [diff] [blame] | 122 | } |
| 123 | } |