blob: 8b05aac060ab28f63e7542cf0e5d96a98d064529 [file] [log] [blame]
Sean Condonfae8e662016-12-15 10:25:13 +00001module msea-types {
2
3 namespace "http://www.microsemi.com/microsemi-edge-assure/msea-types";
4 prefix "msea-types"; //MicroSemi EdgeAssure (msea)
5
6 organization
7 "Microsemi Inc., FTD Division";
8
9 contact
10 "Web URL: http://www.microsemi.com/
11 E-mail: info@microsemi.com
12 Postal: Microsemi Corporation Corporate Headquarters
13 One Enterprise Aliso Viejo,
14 CA 92656
15 U.S.A.
16 Phone: +1 949 380 6100
17 Fax: +1 949 215-4996";
18
19 description
20 "This module contains a collection of generally useful derived
21 YANG data types for VLans and Meps and such.
22
23 Copyright 2016 Microsemi Inc.
24 All rights reserved.";
25
26 revision "2016-02-29" {
27 description
28 "Initial version - Sean Condon, Microsemi";
29 reference
30 "Eagle EANTC Tail-f Inter-operation Summary Revision 1.0 16th Feb 2016";
31 }
32
33 //
34 // Extensions related to Edge Assure
35 //
36 extension not-changeable {
37 description
38 "Marks the leaf as being settable at creation time
39 only and not writable thereafter";
40 }
41
42 extension xref-module {
43 description
44 "For leaf items that have type leafref, this attribute defines
45 the netopeer module that supports that reference if it is outside
46 the current module";
47 argument module-name;
48 }
49
50 extension deprecated {
51 description
52 "For leaf items that have become obsolete. This should generate a
53 warning to the user that they are using a deprected attribute";
54 }
55
56 //
57 // Type definitions related to Edge Assure
58 //
59 typedef mep-id-type {
60 type uint16 {
61 range "1..8191";
62 }
63
64 description
65 "Maintenance association End Point Identifier (MEPID): A small integer,
66 unique over a given Maintenance Association, identifying a
67 specific MEP.";
68 reference
69 "[802.1q] 3.19 and 19.2.1";
70 }
71
72 typedef vlan-id-type {
73 type uint16 {
74 range "1..4094";
75 }
76
77 description
78 "The VLAN-ID that uniquely identifies a VLAN. This is the 12-bit VLAN-ID
79 used in the VLAN Tag header.";
80
81 reference
82 "[802.1q] 9.6";
83 }
84
85 typedef port-status-type {
86 type enumeration {
87 enum no-status-tlv {
88 description "Indicates either that no CCM has been received or that
89 no port status TLV was present in the last CCM received.";
90 }
91 enum blocked {
92 description "Ordinary data cannot pass freely through the port on
93 which the remote MEP resides. Value of enableRmepDefect
94 is equal to false.";
95 }
96 enum up {
97 description "Ordinary data can pass freely through the port on which
98 the remote MEP resides. Value of enableRmepDefect is
99 equal to true.";
100 }
101 }
102
103 description
104 "The set of values available from the Port Status TLV in CCM PDUs
105 including the default no-status-tlv";
106
107 reference
108 "[802.1q] 20.19.3, 12.14.7.6.3:f
109 IEEE8021-CFM-MIB.Dot1agCfmPortStatus";
110 }
111
112 typedef interface-status-type {
113 type enumeration {
114 enum no-status-tlv {
115 description "Indicates either that no CCM has been received or that
116 no interface status TLV was present in the last CCM received.";
117 }
118 enum up {
119 description "The interface is ready to pass packets.";
120 }
121 enum down {
122 description "The interface cannot pass packets.";
123 }
124 enum testing {
125 description "The interface is in some test mode.";
126 }
127 enum unknown {
128 description "The interface status cannot be determined for some reason.";
129 }
130 enum dormant {
131 description "The interface is not in a state to pass packets but is in a pending state, waiting for some external event.";
132 }
133 enum not-present {
134 description "Some component of the interface is missing.";
135 }
136 enum lower-layer-down {
137 description "The interface is down due to state of the lower layer
138 interfaces.";
139 }
140 }
141
142 description
143 "The set of values available from the Interface Status TLV in CCM PDUs
144 including the default no-status-tlv";
145 reference
146 "[802.1q] 20.19.4, 12.14.7.6.3:g
147 IEEE8021-CFM-MIB.Dot1agCfmInterfaceStatus";
148 }
149
150 typedef mac-address-and-uint-type {
151 type binary {
152 length "8";
153 }
154 description
155 "A MAC address and a two-octet unsigned integer";
156 reference
157 "[802.1q] IEEE8021-CFM-MIB.Dot1agCfmMaintDomainNameType";
158 }
159
160 typedef mac-address-and-uint-str {
161 type string {
162 pattern '([0-9a-fA-F]{2}[:-]){6}([0-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-5][0-9][0-9][0-9][0-9]|6[0-4][0-9][0-9][0-9]|65[0-4][0-9][0-9]|655[0-2][0-9]|6553[0-5])';
163 }
164 description
165 "The mac-address type represents an IEEE 802 MAC address.
166 The canonical representation uses lowercase characters.
167
168 In the value set and its semantics, this type is equivalent
169 to the MacAddress textual convention of the SMIv2.";
170 reference
171 "IEEE 802: IEEE Standard for Local and Metropolitan Area
172 Networks: Overview and Architecture
173 RFC 2579: Textual Conventions for SMIv2";
174 }
175
176
177 typedef md-level-type {
178 type uint8 {
179 range "0..7";
180 }
181
182 description
183 "Maintenance Domain Level (MD Level) identifier. Higher numbers
184 correspond to higher Maintenance Domains, those with the greatest
185 physical reach, with the highest values for customers' CFM PDUs.
186 Lower numbers correspond to lower Maintenance Domains, those with
187 more limited physical reach, with the lowest values for CFM PDUs
188 protecting single bridges or physical links.";
189
190 reference
191 "[802.1q] 18.3, 21.4.1, IEEE8021-CFM-MIB.Dot1agCfmMDLevel";
192 }
193
194 typedef priority-type {
195 type uint8 {
196 range "0..7";
197 }
198
199 description
200 "A 3 bit priority value to be used in the VLAN tag, if present
201 in the transmitted frame.";
202 reference
203 "[802.1q] 12.14.7.3.2:e";
204 }
205
206 typedef cos-color-type {
207 type enumeration {
208 enum "green" {
209 description "Change color to green";
210 }
211 enum "yellow" {
212 description "Change color to yellow";
213 }
214 enum "drop" {
215 description "Delete color information";
216 }
217 }
218 description
219 "TBD";
220 reference "[MEF23.1].";
221 }
222
223 typedef service-list-type {
224 type string {
225 length "0..255";
226 pattern "\d*([,:]\d*)*";
227 }
228 description
229 "An octet string containing a list of item values.
230
231 An item value is an arbitrary string of octets from
232 ASCII character 0x30 - 0x39, but may not contain
233 a delimiter character. Delimiter characters are
234 defined to be one of the following:
235
236 - An ASCII comma character (0x2C)
237 - An ASCII colon character (0x3A)
238
239 Delimiter characters are used to separate item values
240 in a item list. Only a single delimiter character may
241 occur between two item values. A item value may not
242 have a zero length. These constraints imply certain
243 restrictions on the contents of this object:
244
245 - There cannot be a leading or trailing delimiter
246 character.
247
248 - There cannot be multiple adjacent delimiter
249 characters.
250
251 The 'comma' delimiter separates individual items or a
252 sequence of items. The 'colon' delimiter indicates a range
253 of items from the first item before the colon through the
254 last item after the colon. Individual ranges in the same
255 item list need to be separated by a 'comma'.
256
257 Some examples of valid item lists are:
258
259 - '' -- an empty list
260 - '1234' -- list of one item
261 - '10,11,12' -- list of several items
262 - '10:20' -- a list containing all the valid values from
263 10 through 20
264
265 Note that although an item value may not have a length of
266 zero, an empty string is still valid. This indicates
267 an empty list (i.e. there are no tag values in the list).
268
269 The use of the item list is to select one or more items at
270 one time with a single object instead of having separate row
271 entries in a table for each individual item.";
272 }
273
274
275 typedef service-preservation-type {
276 type enumeration {
277 enum preserve {
278 description "The type of service is preserved, either CE-VLAN ID or
279 CE-VLAN CoS as indicated by the specific object";
280 }
281 enum noPreserve {
282 description "The type of service is not preserved, either CE-VLAN ID
283 or CE-VLAN CoS as indicated by the specific object.";
284 }
285 }
286 description
287 "Configures the EVC preservation attributes.";
288 reference
289 "[MEF 6.1] 6.1; [MEF 7.2] 6.2.1.3";
290 }
291
292 typedef service-delivery-type {
293 type enumeration {
294 enum discard {
295 description "Service Frames are discarded";
296 }
297 enum unconditional {
298 description "Service Frames are unconditionally delivered no matter the
299 content of the Service Frame. An example of this is a
300 Point-to-Point EVC";
301 }
302 enum conditional {
303 description "Service Frame are conditionally delivered to the
304 destination UNI. The condition is specified, for example via a
305 bandwidth profile or unicast MAC address learning.";
306 }
307 }
308 description
309 "A MEF service can have one of three different delivery types.";
310 reference
311 "[MEF 6.1] 6.0";
312 }
313
314
315 typedef identifier45 {
316 type string {
317 length "min..45";
318 }
319 description
320 "This type definition accepts any visible ASCII character " +
321 "plus the <space> character.The string must be RFC 2579 " +
322 "Display " +
323 "String but not contain the characters 0.00 through 0.1f " +
324 "It does not accept the <delete> character despite the " +
325 "current MEF specification.";
326 reference "MEF 10.3 [R8], [R9]";
327 }
328
329 typedef file-name {
330 type string {
331 length "1..45";
332 pattern '[a-zA-Z0-9\-_.]*';
333 }
334 description "Valid file names only";
335 }
336
337 typedef reset-config-options {
338 type enumeration {
339 enum operational {
340 description "Reset any operational data on the device. Configuration
341 for CFM, Y-1564, RFC-2544 and UNI";
342 }
343 enum safiltering {
344 description "Reset only safiltering data on the device.";
345 }
346 enum permissions {
347 description "Reset only permissions data on the device.";
348 }
349 enum allnetconf {
350 description "Reset all NETCONF data - leaves only logs and SSH keys.";
351 }
352 enum nuclear {
353 description "Remove all configuration and history on the device.
354 Deletes SSH keys. Resets device to factory defaults";
355 }
356 }
357 }
358
359 grouping mep-config-attribs-noref {
360 description
361 "Attributes related to the configuration of a MEP";
362
363 leaf maintenance-domain {
364 type uint8 {
365 range 1..64;
366 }
367 description
368 "A reference to a specific Maintenance Domain.";
369 }
370
371 leaf maintenance-association {
372 type uint8 {
373 range 1..64;
374 }
375 description
376 "A reference to a specific Maintenance Association.";
377 }
378
379 leaf maintenance-association-end-point {
380 type mep-id-type;
381 description
382 "A reference to a specific Maintenance association End Point.";
383 }
384 }
385}