module msea-types { | |
namespace "http://www.microsemi.com/microsemi-edge-assure/msea-types"; | |
prefix "msea-types"; //MicroSemi EdgeAssure (msea) | |
organization | |
"Microsemi Inc., FTD Division"; | |
contact | |
"Web URL: http://www.microsemi.com/ | |
E-mail: info@microsemi.com | |
Postal: Microsemi Corporation Corporate Headquarters | |
One Enterprise Aliso Viejo, | |
CA 92656 | |
U.S.A. | |
Phone: +1 949 380 6100 | |
Fax: +1 949 215-4996"; | |
description | |
"This module contains a collection of generally useful derived | |
YANG data types for VLans and Meps and such. | |
Copyright 2016 Microsemi Inc. | |
All rights reserved."; | |
revision "2016-02-29" { | |
description | |
"Initial version - Sean Condon, Microsemi"; | |
reference | |
"Eagle EANTC Tail-f Inter-operation Summary Revision 1.0 16th Feb 2016"; | |
} | |
// | |
// Extensions related to Edge Assure | |
// | |
extension not-changeable { | |
description | |
"Marks the leaf as being settable at creation time | |
only and not writable thereafter"; | |
} | |
extension xref-module { | |
description | |
"For leaf items that have type leafref, this attribute defines | |
the netopeer module that supports that reference if it is outside | |
the current module"; | |
argument module-name; | |
} | |
extension deprecated { | |
description | |
"For leaf items that have become obsolete. This should generate a | |
warning to the user that they are using a deprected attribute"; | |
} | |
// | |
// Type definitions related to Edge Assure | |
// | |
typedef mep-id-type { | |
type uint16 { | |
range "1..8191"; | |
} | |
description | |
"Maintenance association End Point Identifier (MEPID): A small integer, | |
unique over a given Maintenance Association, identifying a | |
specific MEP."; | |
reference | |
"[802.1q] 3.19 and 19.2.1"; | |
} | |
typedef vlan-id-type { | |
type uint16 { | |
range "1..4094"; | |
} | |
description | |
"The VLAN-ID that uniquely identifies a VLAN. This is the 12-bit VLAN-ID | |
used in the VLAN Tag header."; | |
reference | |
"[802.1q] 9.6"; | |
} | |
typedef port-status-type { | |
type enumeration { | |
enum no-status-tlv { | |
description "Indicates either that no CCM has been received or that | |
no port status TLV was present in the last CCM received."; | |
} | |
enum blocked { | |
description "Ordinary data cannot pass freely through the port on | |
which the remote MEP resides. Value of enableRmepDefect | |
is equal to false."; | |
} | |
enum up { | |
description "Ordinary data can pass freely through the port on which | |
the remote MEP resides. Value of enableRmepDefect is | |
equal to true."; | |
} | |
} | |
description | |
"The set of values available from the Port Status TLV in CCM PDUs | |
including the default no-status-tlv"; | |
reference | |
"[802.1q] 20.19.3, 12.14.7.6.3:f | |
IEEE8021-CFM-MIB.Dot1agCfmPortStatus"; | |
} | |
typedef interface-status-type { | |
type enumeration { | |
enum no-status-tlv { | |
description "Indicates either that no CCM has been received or that | |
no interface status TLV was present in the last CCM received."; | |
} | |
enum up { | |
description "The interface is ready to pass packets."; | |
} | |
enum down { | |
description "The interface cannot pass packets."; | |
} | |
enum testing { | |
description "The interface is in some test mode."; | |
} | |
enum unknown { | |
description "The interface status cannot be determined for some reason."; | |
} | |
enum dormant { | |
description "The interface is not in a state to pass packets but is in a pending state, waiting for some external event."; | |
} | |
enum not-present { | |
description "Some component of the interface is missing."; | |
} | |
enum lower-layer-down { | |
description "The interface is down due to state of the lower layer | |
interfaces."; | |
} | |
} | |
description | |
"The set of values available from the Interface Status TLV in CCM PDUs | |
including the default no-status-tlv"; | |
reference | |
"[802.1q] 20.19.4, 12.14.7.6.3:g | |
IEEE8021-CFM-MIB.Dot1agCfmInterfaceStatus"; | |
} | |
typedef mac-address-and-uint-type { | |
type binary { | |
length "8"; | |
} | |
description | |
"A MAC address and a two-octet unsigned integer"; | |
reference | |
"[802.1q] IEEE8021-CFM-MIB.Dot1agCfmMaintDomainNameType"; | |
} | |
typedef mac-address-and-uint-str { | |
type string { | |
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])'; | |
} | |
description | |
"The mac-address type represents an IEEE 802 MAC address. | |
The canonical representation uses lowercase characters. | |
In the value set and its semantics, this type is equivalent | |
to the MacAddress textual convention of the SMIv2."; | |
reference | |
"IEEE 802: IEEE Standard for Local and Metropolitan Area | |
Networks: Overview and Architecture | |
RFC 2579: Textual Conventions for SMIv2"; | |
} | |
typedef md-level-type { | |
type uint8 { | |
range "0..7"; | |
} | |
description | |
"Maintenance Domain Level (MD Level) identifier. Higher numbers | |
correspond to higher Maintenance Domains, those with the greatest | |
physical reach, with the highest values for customers' CFM PDUs. | |
Lower numbers correspond to lower Maintenance Domains, those with | |
more limited physical reach, with the lowest values for CFM PDUs | |
protecting single bridges or physical links."; | |
reference | |
"[802.1q] 18.3, 21.4.1, IEEE8021-CFM-MIB.Dot1agCfmMDLevel"; | |
} | |
typedef priority-type { | |
type uint8 { | |
range "0..7"; | |
} | |
description | |
"A 3 bit priority value to be used in the VLAN tag, if present | |
in the transmitted frame."; | |
reference | |
"[802.1q] 12.14.7.3.2:e"; | |
} | |
typedef cos-color-type { | |
type enumeration { | |
enum "green" { | |
description "Change color to green"; | |
} | |
enum "yellow" { | |
description "Change color to yellow"; | |
} | |
enum "drop" { | |
description "Delete color information"; | |
} | |
} | |
description | |
"TBD"; | |
reference "[MEF23.1]."; | |
} | |
typedef service-list-type { | |
type string { | |
length "0..255"; | |
pattern "\d*([,:]\d*)*"; | |
} | |
description | |
"An octet string containing a list of item values. | |
An item value is an arbitrary string of octets from | |
ASCII character 0x30 - 0x39, but may not contain | |
a delimiter character. Delimiter characters are | |
defined to be one of the following: | |
- An ASCII comma character (0x2C) | |
- An ASCII colon character (0x3A) | |
Delimiter characters are used to separate item values | |
in a item list. Only a single delimiter character may | |
occur between two item values. A item value may not | |
have a zero length. These constraints imply certain | |
restrictions on the contents of this object: | |
- There cannot be a leading or trailing delimiter | |
character. | |
- There cannot be multiple adjacent delimiter | |
characters. | |
The 'comma' delimiter separates individual items or a | |
sequence of items. The 'colon' delimiter indicates a range | |
of items from the first item before the colon through the | |
last item after the colon. Individual ranges in the same | |
item list need to be separated by a 'comma'. | |
Some examples of valid item lists are: | |
- '' -- an empty list | |
- '1234' -- list of one item | |
- '10,11,12' -- list of several items | |
- '10:20' -- a list containing all the valid values from | |
10 through 20 | |
Note that although an item value may not have a length of | |
zero, an empty string is still valid. This indicates | |
an empty list (i.e. there are no tag values in the list). | |
The use of the item list is to select one or more items at | |
one time with a single object instead of having separate row | |
entries in a table for each individual item."; | |
} | |
typedef service-preservation-type { | |
type enumeration { | |
enum preserve { | |
description "The type of service is preserved, either CE-VLAN ID or | |
CE-VLAN CoS as indicated by the specific object"; | |
} | |
enum noPreserve { | |
description "The type of service is not preserved, either CE-VLAN ID | |
or CE-VLAN CoS as indicated by the specific object."; | |
} | |
} | |
description | |
"Configures the EVC preservation attributes."; | |
reference | |
"[MEF 6.1] 6.1; [MEF 7.2] 6.2.1.3"; | |
} | |
typedef service-delivery-type { | |
type enumeration { | |
enum discard { | |
description "Service Frames are discarded"; | |
} | |
enum unconditional { | |
description "Service Frames are unconditionally delivered no matter the | |
content of the Service Frame. An example of this is a | |
Point-to-Point EVC"; | |
} | |
enum conditional { | |
description "Service Frame are conditionally delivered to the | |
destination UNI. The condition is specified, for example via a | |
bandwidth profile or unicast MAC address learning."; | |
} | |
} | |
description | |
"A MEF service can have one of three different delivery types."; | |
reference | |
"[MEF 6.1] 6.0"; | |
} | |
typedef identifier45 { | |
type string { | |
length "min..45"; | |
} | |
description | |
"This type definition accepts any visible ASCII character " + | |
"plus the <space> character.The string must be RFC 2579 " + | |
"Display " + | |
"String but not contain the characters 0.00 through 0.1f " + | |
"It does not accept the <delete> character despite the " + | |
"current MEF specification."; | |
reference "MEF 10.3 [R8], [R9]"; | |
} | |
typedef file-name { | |
type string { | |
length "1..45"; | |
pattern '[a-zA-Z0-9\-_.]*'; | |
} | |
description "Valid file names only"; | |
} | |
typedef reset-config-options { | |
type enumeration { | |
enum operational { | |
description "Reset any operational data on the device. Configuration | |
for CFM, Y-1564, RFC-2544 and UNI"; | |
} | |
enum safiltering { | |
description "Reset only safiltering data on the device."; | |
} | |
enum permissions { | |
description "Reset only permissions data on the device."; | |
} | |
enum allnetconf { | |
description "Reset all NETCONF data - leaves only logs and SSH keys."; | |
} | |
enum nuclear { | |
description "Remove all configuration and history on the device. | |
Deletes SSH keys. Resets device to factory defaults"; | |
} | |
} | |
} | |
grouping mep-config-attribs-noref { | |
description | |
"Attributes related to the configuration of a MEP"; | |
leaf maintenance-domain { | |
type uint8 { | |
range 1..64; | |
} | |
description | |
"A reference to a specific Maintenance Domain."; | |
} | |
leaf maintenance-association { | |
type uint8 { | |
range 1..64; | |
} | |
description | |
"A reference to a specific Maintenance Association."; | |
} | |
leaf maintenance-association-end-point { | |
type mep-id-type; | |
description | |
"A reference to a specific Maintenance association End Point."; | |
} | |
} | |
} |