Sean Condon | fae8e66 | 2016-12-15 10:25:13 +0000 | [diff] [blame] | 1 | module 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 | }
|