Update TAPI YANG files to v2.1(v20181016)

* Replaced TAPI yang files with latest master(v2.1)
* Updated ModelRegistrator
* Updated library path for auto generated library
* Updated ODTN Phase1.0 impl
* Added TAPI XML conversion test for ODTN Phase1.0
* Added sample JSON for ODTN Phase1.0

Change-Id: I11eeab2423a1468df3ee515d40f31b82ed96aa3c
diff --git a/models/tapi/src/main/yang/tapi-eth@2018-10-16.yang b/models/tapi/src/main/yang/tapi-eth@2018-10-16.yang
new file mode 100644
index 0000000..e4cd3f3
--- /dev/null
+++ b/models/tapi/src/main/yang/tapi-eth@2018-10-16.yang
@@ -0,0 +1,1892 @@
+module tapi-eth {

+    namespace "urn:onf:otcc:yang:tapi-eth";

+    prefix tapi-eth;

+    import tapi-common {

+        prefix tapi-common;

+    }

+    import tapi-topology {

+        prefix tapi-topology;

+    }

+    import tapi-connectivity {

+        prefix tapi-connectivity;

+    }

+    import tapi-oam {

+        prefix tapi-oam;

+    }

+    organization "ONF OTCC (Open Transport Configuration & Control) Project";

+    contact "

+         Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>

+         Project List: <mailto:transport-api@opennetworking.org>

+         Editor: Karthik Sethuraman

+                 <mailto:karthik.sethuraman@necam.com>";

+    description "This module contains TAPI ETH Model definitions.

+        Source: TapiEth.uml

+        Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.

+        License: This module is distributed under the Apache License 2.0";

+    revision 2018-10-16 {

+        description "ONF Transport API version 2.1.0.

+          - The TAPI YANG models included in this TAPI release (v2.1.0) are a *normative* part of the TAPI SDK.

+          - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]

+            <https://github.com/OpenNetworkingFoundation/EagleUmlYang>

+            and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]

+            <https://wiki.opennetworking.org/display/OIMT/UML+-+YANG+Guidelines>

+          - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts.

+            As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts.

+          - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases.

+            The YANG model backward compatibility criteria are outlined in section 11 of <https://tools.ietf.org/html/rfc7950>.

+            YANG models included in this release are not backward compatible with previous TAPI releases.

+          - Changes included in this TAPI release (v2.1.0) are listed in

+            <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";

+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
+                  <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";

+    }

+    revision 2018-03-07 {

+        description "ONF Transport API version 2.0.2
+        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
+        Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";

+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
+                  <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";

+    }

+    revision 2018-02-16 {

+        description "ONF Transport API version 2.0.1
+        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
+        Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";

+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
+                  <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";

+    }

+    revision 2018-01-02 {

+        description "ONF Transport API version 2.0.0
+        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
+        Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";

+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
+                  <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";

+    }

+    augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:cep-list/tapi-connectivity:connection-end-point" {

+        container eth-connection-end-point-spec {

+            uses eth-connection-end-point-spec;

+            description "Augments the base LayerProtocol information in ConnectionEndPoint with ETH-specific information";

+        }

+        description "Augments the base LayerProtocol information in ConnectionEndPoint with ETH-specific information";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job" {

+        container eth-loopback-job {

+            uses eth-loopback-job;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg" {

+        container eth-meg-spec {

+            uses eth-meg-spec;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mep" {

+        container eth-mep-spec {

+            uses eth-mep-spec;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mip" {

+        container eth-mip-spec {

+            uses eth-mip-spec;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job" {

+        container eth-pro-active-2way-measurement-job {

+            uses eth-pro-active-2way-measurement-job;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job" {

+        container eth-link-trace-job {

+            uses eth-link-trace-job;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job" {

+        container eth-test-job {

+            uses eth-test-job;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job" {

+        container eth-pro-active-1way-measurement-job {

+            uses eth-pro-active-1way-measurement-job;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data" {

+        container eth-pro-active-dm-performance-data {

+            uses eth-pro-active-dm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {

+        container eth-pro-active-dm-performance-data {

+            uses eth-pro-active-dm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data" {

+        container eth-pro-active-lm-performance-data {

+            uses eth-pro-active-lm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {

+        container eth-pro-active-lm-performance-data {

+            uses eth-pro-active-lm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data" {

+        container eth-on-demand-dm-performance-data {

+            uses eth-on-demand-dm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data" {

+        container eth-on-demand-1-lm-performance-data {

+            uses eth-on-demand-1-lm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data" {

+        container eth-on-demand-1-dm-performance-data {

+            uses eth-on-demand-1-dm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data" {

+        container eth-pro-active-1-dm-performance-data {

+            uses eth-pro-active-1-dm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {

+        container eth-pro-active-1-dm-performance-data {

+            uses eth-pro-active-1-dm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data" {

+        container eth-pro-active-1-lm-performance-data {

+            uses eth-pro-active-1-lm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {

+        container eth-pro-active-1-lm-performance-data {

+            uses eth-pro-active-1-lm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job" {

+        container eth-on-demand-1way-measurement-job {

+            uses eth-on-demand-1way-measurement-job;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job" {

+        container eth-on-demand-2way-measurement-job {

+            uses eth-on-demand-2way-measurement-job;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {

+        container eth-on-demand-1-dm-performance-data {

+            uses eth-on-demand-1-dm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {

+        container eth-on-demand-1-lm-performance-data {

+            uses eth-on-demand-1-lm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {

+        container eth-on-demand-dm-performance-data {

+            uses eth-on-demand-dm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data" {

+        container eth-on-demand-lm-performance-data {

+            uses eth-on-demand-lm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {

+        container eth-on-demand-lm-performance-data {

+            uses eth-on-demand-lm-performance-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data" {

+        container eth-1-dm-threshold-data {

+            uses eth-1-dm-threshold-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data" {

+        container eth-1-lm-threshold-data {

+            uses eth-1-lm-threshold-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data" {

+        container eth-dm-threshold-data {

+            uses eth-dm-threshold-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data" {

+        container eth-lm-threshold-data {

+            uses eth-lm-threshold-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data" {

+        container eth-link-trace-result-data {

+            uses eth-link-trace-result-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data" {

+        container eth-test-result-data {

+            uses eth-test-result-data;

+            description "none";

+        }

+        description "none";

+    }

+    augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data" {

+        container eth-loopback-result-data {

+            uses eth-loopback-result-data;

+            description "none";

+        }

+        description "none";

+    }

+    /***********************

+    * package object-classes

+    **********************/ 

+        grouping eth-ctp-pac {

+            leaf-list auxiliary-function-position-sequence {

+                type uint64;

+                description "This attribute indicates the positions (i.e., the relative order) of all the MEP, MIP, and TCS objects which are associated with the CTP.";

+            }

+            leaf vlan-config {

+                type uint64;

+                description "This attribute models the ETHx/ETH-m_A_So_MI_Vlan_Config information defined in G.8021.

+                    range of type : -1, 0, 1..4094";

+            }

+            leaf csf-rdi-fdi-enable {

+                type boolean;

+                description "This attribute models the MI_CSFrdifdiEnable information defined in G.8021.";

+            }

+            leaf csf-report {

+                type boolean;

+                description "This attribute models the MI_CSF_Reported information defined in G.8021.

+                    range of type : true, false";

+            }

+            leaf-list filter-config-snk {

+                type mac-address;

+                description "This attribute models the FilteConfig MI defined in 8.3/G.8021. It indicates the configured filter action for each of the 33 group MAC addresses for control frames. The 33 MAC addresses are:

+                    01-80-C2-00-00-10, 

+                    01-80-C2-00-00-00 to 01-80-C2-00-00-0F, and 

+                    01-80-C2-00-00-20 to 01-80-C2-00-00-2F.

+                    The filter action is Pass or Block. 

+                    If the destination address of the incoming ETH_CI_D matches one of the above addresses, the filter process shall perform the corresponding configured filter action. 

+                    If none of the above addresses match, the ETH_CI_D is passed.";

+            }

+            leaf mac-length {

+                type uint64;

+                default "2000";

+                description "This attribute models the MAC_Lenght MI defined in 8.6/G.8021 for the MAC Length Check process. It indicates the allowed maximum frame length in bytes.

+                    range of type : 1518, 1522, 2000";

+            }

+            container filter-config {

+                uses control-frame-filter;

+                description "This attribute models the FilterConfig MI defined in section 8.3/G.8021. It indicates the configured filter action for each of the 33 group MAC addresses for control frames. The 33 MAC addresses are:

+                    - All bridges address: 01-80-C2-00-00-10,

+                    - Reserved addresses: 01-80-C2-00-00-00 to 01-80-C2-00-00-0F,

+                    - GARP Application addresses: 01-80-C2-00-00-20 to 01-80-C2-00-00-2F.

+                    The filter action is Pass or Block. 

+                    If the destination address of the incoming ETH_CI_D matches one of the above addresses, the filter process shall perform the corresponding configured filter action. 

+                    If none of the above addresses match, the ETH_CI_D is passed.";

+            }

+            leaf is-ssf-reported {

+                type boolean;

+                description "This attribute provisions whether the SSF defect should be reported as fault cause or not.

+                    It models the ETH-LAG_FT_Sk_MI_SSF_Reported defined in G.8021.";

+            }

+            leaf pll-thr {

+                type uint64;

+                description "This attribute provisions the threshold for the number of active ports. If the number of active ports is more than zero but less than the provisioned threshold, a cPLL (Partial Link Loss) is raised. See section 9.7.1.2 of G.8021.

+                    range of type : 0..number of ports";

+            }

+            leaf actor-oper-key {

+                type uint64;

+                config false;

+                description "See 802.1AX:

+                    The current operational value of the Key for the Aggregator. The administrative Key value may differ from the operational Key value for the reasons discussed in 5.6.2.

+                    The meaning of particular Key values is of local significance.

+                    range of type : 16 bit";

+            }

+            leaf actor-system-id {

+                type mac-address;

+                description "See 802.1AX:

+                    A MAC address used as a unique identifier for the System that contains this Aggregator.";

+            }

+            leaf actor-system-priority {

+                type uint64;

+                description "See 802.1AX:

+                    Indicating the priority associated with the Actors System ID.

+                    range of type : 2-octet";

+            }

+            leaf collector-max-delay {

+                type uint64;

+                description "See 802.1AX:

+                    The value of this attribute defines the maximum delay, in tens of microseconds, that may be imposed by the Frame Collector between receiving a frame from an Aggregator Parser, and either delivering the frame to its MAC Client or discarding the frame (see IEEE 802.1AX clause 5.2.3.1.1).

+                    range of type : 16-bit";

+            }

+            leaf data-rate {

+                type uint64;

+                config false;

+                description "See 802.1AX:

+                    The current data rate, in bits per second, of the aggregate link. The value is calculated as N times the data rate of a single link in the aggregation, where N is the number of active links.";

+            }

+            leaf partner-oper-key {

+                type uint64;

+                config false;

+                description "See 802.1AX:

+                    The current operational value of the Key for the Aggregators current protocol Partner. If the aggregation is manually configured, this Key value will be a value assigned by the local System.

+                    range of type : 16-bit";

+            }

+            leaf partner-system-id {

+                type mac-address;

+                config false;

+                description "See 802.1AX:

+                    A MAC address consisting of the unique identifier for the current protocol Partner of this Aggregator. A value of zero indicates that there is no known Partner. If the aggregation is manually configured, this System ID value will be a value assigned by the local System.";

+            }

+            leaf partner-system-priority {

+                type uint64;

+                config false;

+                description "See 802.1AX:

+                    Indicates the priority associated with the Partners System ID. If the aggregation is manually configured, this System Priority value will be a value assigned by the local System.

+                    range of type : 2-octet";

+            }

+            leaf csf-config {

+                type csf-config;

+                description "This attribute models the combination of all CSF related MI signals (MI_CSF_Enable, MI_CSFrdifdi_Enable, MI_CSFdci_Enable) as defined in G.8021.

+                    range of type : true, false";

+            }

+            container traffic-shaping {

+                uses traffic-shaping-pac;

+                description "none";

+            }

+            container traffic-conditioning {

+                uses traffic-conditioning-pac;

+                description "none";

+            }

+            description "none";

+        }

+        grouping eth-connection-end-point-spec {

+            container ety-term {

+                uses ety-termination-pac;

+                description "none";

+            }

+            container eth-term {

+                uses eth-termination-pac;

+                description "none";

+            }

+            container eth-ctp {

+                uses eth-ctp-pac;

+                description "none";

+            }

+            description "none";

+        }

+        grouping eth-termination-pac {

+            container priority-regenerate {

+                uses priority-mapping;

+                description "This attribute models the ETHx/ETH-m _A_Sk_MI_P_Regenerate information defined in G.8021.";

+            }

+            leaf ether-type {

+                type vlan-type;

+                description "This attribute models the ETHx/ETH-m _A_Sk_MI_Etype information defined in G.8021.";

+            }

+            leaf-list filter-config-1 {

+                type mac-address;

+                description "This attribute models the ETHx/ETH-m_A_Sk_MI_Filter_Config information defined in G.8021.

+                    It indicates the configured filter action for each of the 33 group MAC addresses for control frames.

+                    The 33 MAC addresses are:

+                    01-80-C2-00-00-10, 

+                    01-80-C2-00-00-00 to 01-80-C2-00-00-0F, and 

+                    01-80-C2-00-00-20 to 01-80-C2-00-00-2F.

+                    The filter action is Pass or Block. 

+                    If the destination address of the incoming ETH_CI_D matches one of the above addresses, the filter process shall perform the corresponding configured filter action. 

+                    If none of the above addresses match, the ETH_CI_D is passed.

+                    range of type : MacAddress: 

+                    01-80-C2-00-00-10, 

+                    01-80-C2-00-00-00 to 

+                    01-80-C2-00-00-0F, and 

+                    01-80-C2-00-00-20 to 

+                    01-80-C2-00-00-2F;

+                    ActionEnum:

+                    PASS, BLOCK";

+            }

+            leaf frametype-config {

+                type frame-type;

+                description "This attribute models the ETHx/ETH-m_A_Sk_MI_Frametype_Config information defined in G.8021.

+                    range of type : see Enumeration";

+            }

+            leaf port-vid {

+                type vid;

+                default "1";

+                description "This attribute models the ETHx/ETH-m _A_Sk_MI_PVID information defined in G.8021.";

+            }

+            leaf priority-code-point-config {

+                type pcp-coding;

+                description "This attribute models the ETHx/ETH-m _A_Sk_MI_PCP_Config information defined in G.8021.

+                    range of type : see Enumeration";

+            }

+            description "This object class models the Ethernet Flow Termination function located at a layer boundary.";

+        }

+        grouping ety-termination-pac {

+            leaf is-fts-enabled {

+                type boolean;

+                description "This attribute indicates whether Forced Transmitter Shutdown (FTS) is enabled or not. It models the ETYn_TT_So_MI_FTSEnable information.";

+            }

+            leaf is-tx-pause-enabled {

+                type boolean;

+                description "This attribute identifies whether the Transmit Pause process is enabled or not. It models the MI_TxPauseEnable defined in G.8021.";

+            }

+            leaf phy-type {

+                type ety-phy-type;

+                config false;

+                description "This attribute identifies the PHY type of the ETY trail termination. See IEEE 802.3 clause 30.3.2.1.2.";

+            }

+            leaf-list phy-type-list {

+                type ety-phy-type;

+                config false;

+                description "This attribute identifies the possible PHY types that could be supported at the ETY trail termination. See IEEE 802.3 clause 30.3.2.1.3.";

+            }

+            description "none";

+        }

+        grouping traffic-conditioning-pac {

+            list prio-config-list {

+                config false;

+                uses priority-configuration;

+                description "This attribute indicates the Priority Splitter function for the mapping of the Ethernet frame priority (ETH_CI_P) values to the output queue.";

+            }

+            list cond-config-list {

+                config false;

+                uses traffic-conditioning-configuration;

+                description "This attribute indicates for the conditioner process the conditioning parameters:

+                    - Queue ID: Indicates the Queue ID

+                    - Committed Information Rate (CIR): number of bits per second

+                    - Committed Burst Size (CBS): number of bytes

+                    - Excess Information Rate (EIR): number of bits per second

+                    - Excess Burst Size (EBS): number of bytes

+                    - Coupling flag (CF): 0 or 1

+                    - Color mode (CM): color-blind and color-aware.";

+            }

+            leaf codirectional {

+                type boolean;

+                config false;

+                description "This attribute indicates the direction of the conditioner. The value of true means that the conditioner (modeled as a TCS Sink according to G.8021) is associated with the sink part of the containing CTP. The value of false means that the conditioner (modeled as a TCS Sink according to G.8021) is associated with the source part of the containing CTP.";

+            }

+            description "This object class models the ETH traffic conditioning function as defined in G.8021.

+                Basic attributes: codirectional, condConfigList, prioConfigList";

+        }

+        grouping traffic-shaping-pac {

+            list prio-config-list {

+                config false;

+                uses priority-configuration;

+                description "This attribute configures the Priority Splitter function for the mapping of the Ethernet frame priority (ETH_CI_P) values to the output queue.";

+            }

+            list queue-config-list {

+                config false;

+                uses queue-configuration;

+                description "This attribute configures the Queue depth and Dropping threshold parameters of the Queue process. The Queue depth sets the maximum size of the queue in bytes. An incoming ETH_CI traffic unit is dropped if there is insufficient space in the queue to hold the whole unit. The Dropping threshold sets the threshold of the queue. If the queue is filled beyond this threshold, incoming ETH_CI traffic units accompanied by the ETH_CI_DE signal set are dropped.";

+            }

+            leaf sched-config {

+                type scheduling-configuration;

+                config false;

+                description "This attribute configures the scheduler process. The value of this attribute is for further study because it is for further study in G.8021.

+                    Scheduler is a pointer to a Scheduler object, which is to be defined in the future (because in G.8021, this is FFS).

+                    Note that the only significance of the GTCS function defined in G.8021 is the use of a common scheduler for shaping. Given that, G.8052 models the common scheduler feature by having a common value for this attribute.";

+            }

+            leaf codirectional {

+                type boolean;

+                config false;

+                description "This attribute indicates the direction of the shaping function. The value of true means that the shaping (modeled as a TCS Source according to G.8021) is associated with the source part of the containing CTP. The value of false means that the shaping (modeled as a TCS Source according to G.8021) is associated with the sink part of the containing CTP.";

+            }

+            description "This object class models the ETH traffic shaping function as defined in G.8021.

+                Basic attribute: codirectional, prioConfigList, queueConfigList, schedConfig";

+        }

+        grouping eth-meg-spec {

+            leaf client-mel {

+                type uint64;

+                description "none";

+            }

+            description "none";

+        }

+        grouping eth-mep-spec {

+            container eth-mep-common {

+                uses eth-mep-common;

+                description "none";

+            }

+            container eth-mep-source-pac {

+                uses eth-mep-source;

+                description "none";

+            }

+            container eth-mep-sink {

+                uses eth-mep-sink;

+                description "none";

+            }

+            description "none";

+        }

+        grouping eth-mip-spec {

+            leaf mip-mac {

+                type mac-address;

+                config false;

+                description "This attribute contains the MAC address of the MIP instance.";

+            }

+            leaf is-full-mip {

+                type boolean;

+                config false;

+                description "This attribute indicates whether the MIP is a full MIP (true) or a down-half MIP (false).";

+            }

+            description "none";

+        }

+        grouping eth-loopback-job {

+            container eth-lb-msg {

+                uses eth-oam-msg-common-pac;

+                description "none";

+            }

+            leaf number {

+                type uint64;

+                description "G.8052: This parameter specifies how many LB messages to be sent for the LB_Series process.";

+            }

+            description "This class represents the Loopback (LB) process (send a series of LB messages carrying a test pattern to a particular MEP). The termination occurs at specified stop time (schedule attribute of OamJob).

+                This class models also the 'loopback discover' process, when destinationAddress is multicast.

+                When number is greater than 1, then the process is to perform a Loopback (LB) Series process (send a series of N LB messages to a particular MEP/MIP. ";

+        }

+        grouping eth-mep-common {

+            leaf mep-mac {

+                type mac-address;

+                config false;

+                description "This attribute contains the MAC Address of the MEP.";

+            }

+            leaf is-cc-enabled {

+                type boolean;

+                description "This attribute models the MI_CC_Enable signal defined in G.8021 and configured as specified in G8051.";

+            }

+            leaf cc-period {

+                type oam-period;

+                description "This attribute models the MI_CC_Period signal defined in G.8021 and configured as specified in G8051. 

+                    It is the period at which the CCM message should be sent. 

+                    Default values are: 3.33 ms for PS, 100 ms for PM, 1 s for FM.";

+            }

+            leaf cc-priority {

+                type uint64 {

+                    range "0..7";

+                }

+                default "7";

+                description "This attribute models the MI_CC_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the CCM message should be sent.";

+            }

+            leaf lck-period {

+                type oam-period;

+                description "This attribute models the MI_LCK_Period signal defined in G.8021 and configured as specified in G8051. It is the frequency at which the LCK messages should be sent.

+                    range of type : 1s, 1min";

+            }

+            leaf lck-priority {

+                type uint64 {

+                    range "0..7";

+                }

+                default "7";

+                description "This attribute models the MI_LCK_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the LCK messages should be sent.";

+            }

+            description "Basic attributes: adminState, clientMel, megIdentifier, mepMac

+                Continuity Check Process related attributes: ccPeriod, ccPriority, isCcEnabled

+                Lock Process related attributes: lckPeriod, lckPriority

+                This object class models the MEP functions that are common to MEP Sink and MEP Source.";

+        }

+        grouping eth-mep-sink {

+            leaf-list dm-1-priority {

+                type uint64;

+                description "This attribute indicates the list of 1DM priorities for the MepSink.";

+            }

+            leaf ais-priority {

+                type uint64 {

+                    range "0..7";

+                }

+                default "7";

+                description "This attribute models the MI_AIS_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the AIS messages should be sent.";

+            }

+            leaf ais-period {

+                type oam-period;

+                description "This attribute models the MI_AIS_Period signal defined in G.8021 and configured as specified in G8051. It is the frequency at which the AIS messages should be sent.

+                    range of type : 1s, 1min";

+            }

+            leaf is-csf-reported {

+                type boolean;

+                default "true";

+                description "This attribute models the MI_CSF_Reported signal defined in G.8021 and configured as specified in G8051. It configures whether the secondary failure CSF should be reported or not.";

+            }

+            leaf is-csf-rdi-fdi-enabled {

+                type boolean;

+                default "true";

+                description "This attribute models the MI_CSFrdifdiEnable signal defined in G.8021 and configured as specified in G8051.";

+            }

+            container bandwidth-report {

+                config false;

+                uses bandwidth-report;

+                description "This attribute models the content of the bandwidth report received by the MEP Sink from the peer MEP Source.";

+            }

+            leaf lm-degm {

+                type uint64;

+                default "10";

+                description "This attribute defines the number of consecutive bad seconds necessary for the 'degraded' detection. See also section 'Degraded signal defect (dDEG)' in G.8021.";

+            }

+            leaf lm-deg-thr {

+                type uint64;

+                default "30";

+                description "This attribute defines the threshold for declaring a 'bad second'. See also section 'Degraded signal defect (dDEG)' in G.8021.";

+            }

+            leaf lm-m {

+                type uint64 {

+                    range "2..10";

+                }

+                default "10";

+                description "This attribute defines the number of consecutive good seconds necessary for the clearing of 'degraded'. See also section 'Degraded signal defect (dDEG)' in G.8021.";

+            }

+            leaf lm-tf-min {

+                type uint64;

+                description "This attribute defines the necessary number of transmitted frames to enable the detection of 'bad seconds'. See also section 'Degraded signal defect (dDEG)' in G.8021.";

+            }

+            description "1DM related attribute: 1DmPriority

+                AIS Process related attributes: aisPeriod, aisPriority

+                Bandwidth notification Process related attribute: bandwidthReport

+                Basic attribute: peerMepRefList

+                CSF Process related attributes: isCsfRdiFdiEnabled, isCsfReported

+                Defect correlation Process related attribute: currentProblemList

+                This object class models the MEP sink function. Instance of this object class can be created and contained by ETH CTP or TTP objects.

+                It also provides the management of the dual-ended maintenance job, such as test.

+                This object contains the configuration parameters for detecting 'degraded signal' (DEG).";

+        }

+        grouping eth-mep-source {

+            leaf aps-priority {

+                type uint64 {

+                    range "0..7";

+                }

+                default "7";

+                description "This attribute specifies the priority of the APS messages.

+                    See section 8.1.5    APS insert process in G.8021.";

+            }

+            leaf csf-priority {

+                type uint64 {

+                    range "0..7";

+                }

+                default "7";

+                description "This attribute models the MI_CSF_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the CSF messages should be sent";

+            }

+            leaf csf-period {

+                type oam-period;

+                description "This attribute models the MI_CSF_Period signal defined in G.8021 and configured as specified in G8051. It is the period at which the CSF messages should be sent.

+                    range of type : 1s, 1min";

+            }

+            leaf csf-config {

+                type csf-config;

+                description "This attribute models the combination of all CSF related MI signals (MI_CSF_Enable, MI_CSFrdifdi_Enable, MI_CSFdci_Enable) as defined in G.8021.";

+            }

+            description "APS Process related attribute: apsPriority

+                Basic attribute: mepIdentifier

+                CSF Process related attributes: csfConfig, csfPeriod, csfPriority

+                Link trace related operation: linkTrace

+                Loopback related operations: loopbackDiscover, loopbackSeries, loopbackTest, loopbackTestTerminate

+                On demand measurement job control related operation: establishOnDemandDualEndedMeasurementJobSource

+                Proactive measurement job control related operation: establishProActiveDualEndedMeasurementJobSource

+                Test related operations: testInitiatorStart, testInitiatorTerminate

+                This object class models the MEP source function. Instance of this object class can be created and contained by ETH CTP or TTP objects.

+                It also provides the management of single-ended maintenance jobs, such as loopback test, loopback discover, loopback series, link trace, and dual-ended maintenance job, such as test.";

+        }

+        grouping eth-link-trace-job {

+            container eth-lt-msg {

+                uses eth-oam-operation-common-pac;

+                description "none";

+            }

+            leaf time-to-live {

+                type uint64;

+                description "G.8052: This parameter provides the Time To Live (TTL) parameter of the Link Track protocol.

+                    The TTL parameter allows the receiver (MIP or MEP) of the LTM frame to determine if the frame can be terminated. TTL is decremented every time the LTM frame is relayed. LTM frame with TTL<=1 is terminated and not relayed.";

+            }

+            description "This class represents the Link Trace (LT) process for fault localization or for discovering the intermediate MIPs along the link from the MEP Source to a target MEP or MIP. An LTM frame will be sent from the MEP source to the target MEP/MIP.

+                The termination occurs at specified stop time (schedule attribute of OamJob).";

+        }

+        grouping eth-test-job {

+            container eth-test-msg {

+                uses eth-oam-msg-common-pac;

+                description "none";

+            }

+            description "This class represents the 1-way on-demand in-service or out-of-service diagnostic test. The diagnostic test includes verifying bandwidth throughput, frame loss, bit errors, etc. TST frames are transmitted.

+                The termination occurs at specified stop time (schedule attribute of OamJob).";

+        }

+        grouping eth-on-demand-measurement-job-control-sink {

+            leaf responder-mep-id {

+                type string;

+                description "none";

+            }

+            leaf source-address {

+                type mac-address;

+                description "This attribute contains the MAC address of the peer MEP. See G.8013 for details.";

+            }

+            leaf priority {

+                type uint64;

+                default "7";

+                description "This attribute contains the priority of the OAM PDU frames.

+                    range of type : 0, 1, 2, 3, 4, 5, 6, 7";

+            }

+            leaf test-identifier {

+                type uint64;

+                description "This attribute is used to distinguish each measurement session if multiple measurement sessions are simultaneously activated towards a peer MEP including concurrent on-demand and proactive tests. It must be unique at least within the context of any measurement type for the MEG and initiating MEP.

+                    range of type : 0..(2^32) - 1";

+            }

+            description "This object class represents an on-demand measurement job controller sink for 1-way measurements. It is created as a result of an establishOnDemandDualEndedMeasurementJobSink() operation. It is deleted either automatically after the measurement job has completed (stop time reached) and the performance data AVC notification has been sent, or by an explicit abortOnDemandMeasurementJob() operation when the measurement job is running.";

+        }

+        grouping eth-on-demand-measurement-job-control-source {

+            leaf controller-mep-id {

+                type string;

+                description "none";

+            }

+            leaf oam-pdu-generation-type {

+                type oam-pdu-generation-type;

+                description "This attribute contains the pattern that is used for the generation of OAM PDUs.";

+            }

+            leaf destination-address {

+                type mac-address;

+                description "This attribute contains the MAC address of the peer MEP. See G.8013 for details.";

+            }

+            leaf priority {

+                type uint64;

+                default "7";

+                description "This attribute contains the priority of the OAM PDU frames.

+                    range of type : 0, 1, 2, 3, 4, 5, 6, 7";

+            }

+            leaf message-period {

+                type message-period;

+                description "This attribute contains the frequency of the OAM message (PDU) generation within a series. 

+                    Note that the value 0 means that only one OAM message per measurement interval is generated.

+                    range of type : See corresponding Enum.";

+            }

+            leaf repetition-period {

+                type repetition-period;

+                description "This attribute contains the time between the start of two measurement intervals. This IS applicable for the repetitive instance type and MAY be applicable for the repetitive series type. 

+                    Note that a value of 0 means not applicable (NA), which is for the cases of single instance, single series, or repetitive series without extra gap in between the measurement intervals (i.e., also as known as continuous series).";

+            }

+            leaf measurement-interval {

+                type uint64;

+                description "This attribute contains the discrete non overlapping periods of time (in seconds) during which measurements are performed (i.e., OAM messages are generated) and reports are gathered at the end of the measurement intervals. Note that the value 0 means a degenerated measurement interval with a single OAM message and the report is sent as immediately as possible.

+                    range of type : Non-negative";

+            }

+            leaf test-identifier {

+                type uint64;

+                description "This attribute is used to distinguish each measurement session if multiple measurement sessions are simultaneously activated towards a peer MEP including concurrent on-demand and proactive tests. It must be unique at least within the context of any measurement type for the MEG and initiating MEP.

+                    Note: The attribute is not used in case of LMM/LMR measurement.

+                    range of type : 0..(2^32) - 1";

+            }

+            leaf data-tlv-length {

+                type uint64;

+                description "This parameter provides the size of the optional data TLV.

+                    Non-negative integer represents the number of bytes for the length of the padding TLV.

+                    Notes:

+                    When configuring this parameter one should be aware of the maximum allowed total frame size limitation.

+                    The attribute is not used in case of 2-way loss measurement.

+                    range of type : Depends on the allowed MTU size.";

+            }

+            description "Basic attributes: destinationAddress, priority

+                Measurement configuration related attributes: oamPduGenerationType, startTime, stopTime, messagePeriod, repetitionPeriod, measurementInterval

+                Optional attributes: dataTlvLength, testIdentifier

+                This object class represents an on-demand measurement job controller source for 1-way measurements. It is created as a result of an establishOnDemandDualEndedMeasurementJobSource() operation. It is deleted either automatically after the measurement job has completed (stop time reached), or by an explicit abortOnDemandMeasurementJob() operation while the measurement job is running.";

+        }

+        grouping eth-pro-active-measurement-job-control-sink {

+            leaf responder-mep-id {

+                type string;

+                description "none";

+            }

+            leaf is-enabled {

+                type boolean;

+                default "true";

+                description "This attribute identifies the state of the measurement job. If set to TRUE, the MEP performs proactive Performance Measurement.";

+            }

+            leaf source-address {

+                type mac-address;

+                description "This attribute contains the MAC address of the peer MEP. See G.8013 for details.";

+            }

+            leaf test-identifier {

+                type uint64;

+                description "This attribute is used to distinguish each measurement session if multiple measurement sessions are simultaneously activated towards a peer MEP including concurrent on-demand and proactive tests. It must be unique at least within the context of any measurement type for the MEG and initiating MEP.

+                    range of type : 0..(2^32) - 1";

+            }

+            description "This object class allows the control of the proactive 1-way measurement. It is created as a part of an establishProActiveDualEndedMeasurementJobSink() operation. Lifecycle: A pre-condition of deleting the object is that the Enable attribute should have the value FALSE.";

+        }

+        grouping eth-pro-active-measurement-job-control-source {

+            leaf controller-mep-id {

+                type string;

+                description "none";

+            }

+            leaf is-enabled {

+                type boolean;

+                default "true";

+                description "This attribute identifies the state of the measurement job. If set to TRUE, the MEP performs proactive Performance Measurement.";

+            }

+            leaf destination-address {

+                type mac-address;

+                description "This attribute provides the Unicast MAC address of the intented destination.";

+            }

+            leaf priority {

+                type uint64 {

+                    range "0..7";

+                }

+                default "7";

+                description "This attribute contains the priority value on which the MEP performs the measurement. When the measurement is enabled, the MEP should use this value to encode the priority of generated measurement frames. The EMF usese this value to assign the P parameter of the measurement operation.";

+            }

+            leaf period {

+                type oam-period;

+                description "This attribute indicates the period (frequency) of the measurement frame transmission.

+                    range of type : 100ms, 1s, 10s";

+            }

+            leaf test-identifier {

+                type uint64;

+                description "This attribute is used to distinguish each measurement session if multiple measurement sessions are simultaneously activated towards a peer MEP including concurrent on-demand and proactive tests. It must be unique at least within the context of any measurement type for the MEG and initiating MEP.

+                    Note: The attribute is not used in case of 2-way loss measurement. 

+                    range of type : 0..(2^32) - 1";

+            }

+            leaf data-tlv-length {

+                type uint64;

+                description "This parameter provides the size of the optional data TLV.

+                    Non-negative integer represents the number of bytes for the length of the padding TLV.

+                    Notes:

+                    When configuring this parameter one should be aware of the maximum allowed total frame size limitation.

+                    The attribute is not used in case of 2-way loss measurement.

+                    range of type : Depends on the allowed MTU size.";

+            }

+            description "This object class represents a proactive measurement job controller source for 1way measurements. It is created as a part of an establishProactiveDualEndedMeasurementJobSource() operation.";

+        }

+        grouping eth-pro-active-1-dm-performance-data {

+            container pro-active-near-end-1-dm-parameters {

+                uses statistical-dm-performance-parameters;

+                description "This attribute contains the statistical near end performnace parameters.";

+            }

+            description "This object class represents the PM current data collected in a pro-active delay measurement job (using 1DM).";

+        }

+        grouping eth-pro-active-1-lm-performance-data {

+            container pro-active-near-end-1-lm-parameters {

+                uses statistical-lm-performance-parameters;

+                description "This attribute contains the statistical near end performnace parameters.";

+            }

+            description "This object class represents the PM current data collected in a pro-active loss measurement job (using 1SL).";

+        }

+        grouping eth-pro-active-dm-performance-data {

+            container pro-active-bi-dir-dm-parameters {

+                uses statistical-dm-performance-parameters;

+                description "This attribute contains the statistical bidirectional performnace parameters.";

+            }

+            container pro-active-far-end-dm-parameters {

+                uses statistical-dm-performance-parameters;

+                description "This attribute contains the statistical far end performnace parameters.";

+            }

+            container pro-active-near-end-dm-parameters {

+                uses statistical-dm-performance-parameters;

+                description "This attribute contains the statistical near end performnace parameters.";

+            }

+            description "This object class represents the PM current data collected in a pro-active delay measurement job (using DMM/DMR).";

+        }

+        grouping eth-pro-active-lm-performance-data {

+            container pro-active-far-end-lm-parameters {

+                uses statistical-lm-performance-parameters;

+                description "This attribute contains the statistical far end performnace parameters.";

+            }

+            container pro-active-near-end-lm-parameters {

+                uses statistical-lm-performance-parameters;

+                description "This attribute contains the statistical near end performnace parameters.";

+            }

+            leaf bidirectional-uas {

+                type uint64;

+                description "This attribute contains the bidirectional UAS (unavailable seconds) detected in the monitoring interval.

+                    range of type : 0..900 for 15min interval or 0..86400 for 24 hr interval.";

+            }

+            description "This object class represents the PM current data collected in a pro-active loss measurement job (using LMM/LMR or SLM/SLR).";

+        }

+        grouping eth-on-demand-1-dm-performance-data {

+            container on-demand-near-end-1-dm-parameters {

+                uses on-demand-dm-performance-parameters;

+                description "This attribute contains the results of an on-demand frame delay measurement job in the ingress direction.";

+            }

+            description "none";

+        }

+        grouping eth-on-demand-1-lm-performance-data {

+            container on-demand-near-end-1-lm-parameters {

+                uses on-demand-lm-performance-parameters;

+                description "This attribute contains the results of an on-demand synthetic loss measurement job in the ingress direction.";

+            }

+            description "none";

+        }

+        grouping eth-on-demand-dm-performance-data {

+            container on-demand-far-end-dm-parameters {

+                uses on-demand-dm-performance-parameters;

+                description "This attribute contains the results of an on-demand frame delay measurement job in the ingress direction.";

+            }

+            container on-demand-near-end-dm-parameters {

+                uses on-demand-dm-performance-parameters;

+                description "This attribute contains the results of an on-demand frame delay measurement job in the ingress direction.";

+            }

+            description "none";

+        }

+        grouping eth-on-demand-lm-performance-data {

+            container on-demand-far-end-lm-parameters {

+                uses on-demand-lm-performance-parameters;

+                description "This attribute contains the results of an on-demand synthetic loss measurement job in the egress direction.";

+            }

+            container on-demand-near-end-lm-parameters {

+                uses on-demand-lm-performance-parameters;

+                description "This attribute contains the results of an on-demand synthetic loss measurement job in the ingress direction.";

+            }

+            description "none";

+        }

+        grouping eth-pro-active-1way-measurement-job {

+            container pro-active-control-1way-source {

+                uses eth-pro-active-measurement-job-control-source;

+                description "none";

+            }

+            container pro-active-control-1way-sink {

+                uses eth-pro-active-measurement-job-control-sink;

+                description "none";

+            }

+            description "none";

+        }

+        grouping eth-pro-active-2way-measurement-job {

+            container pro-active-control-2way-source {

+                uses eth-pro-active-measurement-job-control-source;

+                description "none";

+            }

+            description "none";

+        }

+        grouping eth-on-demand-2way-measurement-job {

+            container on-demand-control-2way-source {

+                uses eth-on-demand-measurement-job-control-source;

+                description "none";

+            }

+            description "none";

+        }

+        grouping eth-on-demand-1way-measurement-job {

+            container on-demand-control-1way-source {

+                uses eth-on-demand-measurement-job-control-source;

+                description "none";

+            }

+            container on-demand-control-1way-sink {

+                uses eth-on-demand-measurement-job-control-sink;

+                description "none";

+            }

+            description "none";

+        }

+        grouping eth-1-dm-threshold-data {

+            container near-end-1-dm-cross-threshold {

+                uses statistical-dm-performance-parameters;

+                description "This attribute contains the near end cross threshold values of the delay measurements.";

+            }

+            container near-end-1-dm-clear-threshold {

+                uses statistical-dm-performance-parameters;

+                description "This attribute contains the near end clear threshold values of the delay measurements.";

+            }

+            description "This data type contains the threshold values for frame delay related 1-way measurements.";

+        }

+        grouping eth-1-lm-threshold-data {

+            container near-end-1-lm-cross-threshold {

+                uses statistical-lm-performance-parameters;

+                description "This attribute contains the near end cross threshold values of the loss measurements.";

+            }

+            container near-end-1-lm-clear-threshold {

+                uses statistical-lm-performance-parameters;

+                description "This attribute is only valid for frame loss ratio parameters and counter type parameters working in the 'standing condition method' (see G.7710, section 10.1.7.2: Threshold reporting) and contains the near end clear threshold values of the loss measurements.";

+            }

+            description "This data type contains the threshold values for frame loss related 1-way measurements.";

+        }

+        grouping eth-dm-threshold-data {

+            container near-end-dm-cross-threshold {

+                uses statistical-dm-performance-parameters;

+                description "This attribute contains the near end cross threshold values of the delay measurements.";

+            }

+            container near-end-dm-clear-threshold {

+                uses statistical-dm-performance-parameters;

+                description "This attribute contains the near end clear threshold values of the delay measurements.";

+            }

+            container far-end-dm-cross-threshold {

+                uses statistical-dm-performance-parameters;

+                description "This attribute contains the far end cross threshold values of the delay measurements.";

+            }

+            container far-end-dm-clear-threshold {

+                uses statistical-dm-performance-parameters;

+                description "This attribute contains the far end clear threshold values of the delay measurements.";

+            }

+            container bi-dir-dm-cross-threshold {

+                uses statistical-dm-performance-parameters;

+                description "This attribute contains the bidirectional cross threshold values of the delay measurements.";

+            }

+            container bi-dir-dm-clear-threshold {

+                uses statistical-dm-performance-parameters;

+                description "This attribute contains the bidirectional clear threshold values of the delay measurements.";

+            }

+            description "This data type contains the threshold values for frame delay related 2-way measurements.";

+        }

+        grouping eth-lm-threshold-data {

+            container near-end-lm-cross-threshold {

+                uses statistical-lm-performance-parameters;

+                description "This attribute contains the near end cross threshold values of the loss measurements.";

+            }

+            container near-end-lm-clear-threshold {

+                uses statistical-lm-performance-parameters;

+                description "This attribute is only valid for frame loss ratio parameters and counter type parameters working in the 'standing condition method' (see G.7710, section 10.1.7.2: Threshold reporting) and contains the near end clear threshold values of the loss measurements.";

+            }

+            container far-end-lm-cross-threshold {

+                uses statistical-lm-performance-parameters;

+                description "This attribute contains the far end cross threshold values of the loss measurements.";

+            }

+            container far-end-lm-clear-threshold {

+                uses statistical-lm-performance-parameters;

+                description "This attribute is only valid for frame loss ratio parameters and counter type parameters working in the 'standing condition method' (see G.7710, section 10.1.7.2: Threshold reporting) and contains the far end clear threshold values of the loss measurements.";

+            }

+            leaf bi-dir-lm-uas-cross-threshold {

+                type uint64;

+                description "This attribute contains the bidirectional cross threshold value of the UAS loss measurement.";

+            }

+            leaf bi-dir-lm-uas-clear-threshold {

+                type uint64;

+                description "This attribute is only valid for the UAS parameter working in the 'standing condition method' (see G.7710, section 10.1.7.2: Threshold reporting) and contains the bidirectional clear threshold value of the UAS loss measurement.";

+            }

+            description "This data type contains the threshold values for frame loss related 2-way measurements.";

+        }

+        grouping eth-loopback-result-data {

+            leaf rec-lbr-frames {

+                type uint64;

+                config false;

+                description "G.8052: This parameter returns the total number of received LBR messages, including the out of order LBR frames.";

+            }

+            leaf out-of-order-lbr-frames {

+                type uint64;

+                config false;

+                description "G.8052: This parameter returns the number of LBR traffic unites (messages) that were received out of order (OO).";

+            }

+            leaf sent-lbm-frames {

+                type uint64;

+                config false;

+                description "G.8052: This parameter returns the total number of sent LBM frames.";

+            }

+            leaf crc-lbr-frames {

+                type uint64;

+                config false;

+                description "G.8052: This parameter returns the number of LBR frames where the CRC in the pattern failed.";

+            }

+            leaf ber-lbr-frames {

+                type uint64;

+                config false;

+                description "G.8052: This parameter returns the number of LBR frames where there was a bit error in the pattern.";

+            }

+            leaf-list detected-peer-mep {

+                type mac-address;

+                config false;

+                description "G.8052: This parameter returns the MAC addresses of the discovered peer MEPs of the subject MEP.";

+            }

+            description "none";

+        }

+        grouping eth-link-trace-result-data {

+            list result-list {

+                config false;

+                uses link-trace-result;

+                description "G.8052: This parameter returns the results of the LT process. It contains a list of the result received from the individual LTR frames.

+                    The result from the individual LTR frame include the Source Mac Address, the TTL, and TLV.";

+            }

+            description "none";

+        }

+        grouping eth-test-result-data {

+            leaf sent-tst-frames {

+                type uint64;

+                config false;

+                description "G.8052: This parameter returns the total number of sent TST frames.";

+            }

+            description "none";

+        }

+        grouping eth-oam-operation-common-pac {

+            leaf destination-address {

+                type mac-address;

+                description "G.8052: This parameter provides the destination address, i.e., the MAC Address of the target MEP or MIP.";

+            }

+            leaf priority {

+                type uint64;

+                default "7";

+                description "G.8052: This parameter provides the priority to be used in the LBM frame.";

+            }

+            description "none";

+        }

+        grouping eth-oam-msg-common-pac {

+            leaf period {

+                type oam-period;

+                description "G.8052: This parameter provides the periodicity of the TST OAM messages.";

+            }

+            leaf drop-eligibility {

+                type boolean;

+                description "G.8052: This parameter provides the eligibility of frames with unicast ETH-TST information to be discarded when congestion conditions are encountered.";

+            }

+            leaf data-tlv-length {

+                type uint64;

+                description "G.8052: This parameter provides the length (in number of octet) of the optional Data TLV to be included in the TST frame.";

+            }

+            leaf test-pattern {

+                type uint64;

+                description "G.8052: This parameter provides the test pattern to be used in the optional Data TLV.

+                    Examples of test patterns include pseudo-random bit sequence (PRBS) 2^31-1 as specified in clause 5.8 of [ITU-T O.150], all '0' pattern, etc.

+                    The following values of pattern types are defined:

+                    0: 'Null signal without CRC-32'

+                    1: 'Null signal with CRC-32'

+                    2: 'PRBS 2^31-1 without CRC-32'

+                    3: 'PRBS 2^31-1 with CRC-32'.";

+            }

+            uses eth-oam-operation-common-pac;

+            description "none";

+        }

+

+    /***********************

+    * package type-definitions

+    **********************/ 

+        identity ETH_OAM_JOB_TYPE {

+        	base tapi-oam:OAM_JOB_TYPE;

+            description "none";

+        }

+        identity ETH_OAM_JOB_TYPE_ETH_1DM {

+            base ETH_OAM_JOB_TYPE;

+            description "none";

+        }

+        identity ETH_OAM_JOB_TYPE_ETH_1SLM {

+            base ETH_OAM_JOB_TYPE;

+            description "none";

+        }

+        identity ETH_OAM_JOB_TYPE_ETH_LM_CCM {

+            base ETH_OAM_JOB_TYPE;

+            description "none";

+        }

+        identity ETH_OAM_JOB_TYPE_ETH_LM_LMM {

+            base ETH_OAM_JOB_TYPE;

+            description "none";

+        }

+        identity ETH_OAM_JOB_TYPE_ETH_SLM {

+            base ETH_OAM_JOB_TYPE;

+            description "none";

+        }

+        identity ETH_OAM_JOB_TYPE_ETH_DM {

+            base ETH_OAM_JOB_TYPE;

+            description "none";

+        }

+        identity ETH_OAM_JOB_TYPE_ETH_LTC {

+            base ETH_OAM_JOB_TYPE;

+            description "none";

+        }

+        identity ETH_OAM_JOB_TYPE_ETH_LBK {

+            base ETH_OAM_JOB_TYPE;

+            description "none";

+        }

+        identity ETH_OAM_JOB_TYPE_ETH_TEST {

+            base ETH_OAM_JOB_TYPE;

+            description "none";

+        }

+        grouping priority-configuration {

+            leaf priority {

+                type uint64 {

+                    range "0..7";

+                }

+                description "none";

+            }

+            leaf queue-id {

+                type uint64 {

+                    range "1..8";

+                }

+                description "none";

+            }

+            description "none";

+        }

+        grouping queue-configuration {

+            leaf queue-id {

+                type uint64;

+                description "This attribute indicates the queue id.";

+            }

+            leaf queue-depth {

+                type uint64;

+                description "This attribute defines the depth of the queue in bytes.";

+            }

+            leaf queue-threshold {

+                type uint64;

+                description "This attribute defines the threshold of the queue in bytes.";

+            }

+            description "none";

+        }

+        grouping traffic-conditioning-configuration {

+            leaf cir {

+                type uint64;

+                description "This attribute indicates the Committed Information Rate in bits/s.";

+            }

+            leaf cbs {

+                type uint64;

+                description "This attribute indicates the Committed Burst Size in bytes.";

+            }

+            leaf eir {

+                type uint64;

+                description "This attribute indicates the Excess Information Rate in bits/s.";

+            }

+            leaf ebs {

+                type uint64;

+                description "This attribute indicates the Excess Burst Size in bytes.";

+            }

+            leaf coupling-flag {

+                type boolean;

+                description "This attribute indicates the coupling flag.";

+            }

+            leaf colour-mode {

+                type colour-mode;

+                description "This attribute indicates the colour mode.";

+            }

+            leaf queue-id {

+                type uint64 {

+                    range "1..8";

+                }

+                description "This attribute indicates the queue id.";

+            }

+            description "none";

+        }

+        typedef mac-address {

+            type string;

+            description "This primitive data type contains an Ethernet MAC address defined by IEEE 802a. The format of the address consists of 12 hexadecimal characters, grouped in pairs and separated by '-' (e.g., 03-27-AC-75-3E-1D).";

+        }

+        grouping priority-mapping {

+            leaf priority-0 {

+                type uint64 {

+                    range "0..7";

+                }

+                description "This attribute defines the new priority value for the old priority value 0.";

+            }

+            leaf priority-1 {

+                type uint64 {

+                    range "0..7";

+                }

+                default "1";

+                description "This attribute defines the new priority value for the old priority value 1.";

+            }

+            leaf priority-2 {

+                type uint64 {

+                    range "0..7";

+                }

+                default "2";

+                description "This attribute defines the new priority value for the old priority value 2.";

+            }

+            leaf priority-3 {

+                type uint64 {

+                    range "0..7";

+                }

+                default "3";

+                description "This attribute defines the new priority value for the old priority value 3.";

+            }

+            leaf priority-4 {

+                type uint64 {

+                    range "0..7";

+                }

+                default "4";

+                description "This attribute defines the new priority value for the old priority value 4.";

+            }

+            leaf priority-5 {

+                type uint64 {

+                    range "0..7";

+                }

+                default "5";

+                description "This attribute defines the new priority value for the old priority value 5.";

+            }

+            leaf priority-6 {

+                type uint64 {

+                    range "0..7";

+                }

+                default "6";

+                description "This attribute defines the new priority value for the old priority value 6.";

+            }

+            leaf priority-7 {

+                type uint64 {

+                    range "0..7";

+                }

+                default "7";

+                description "This attribute defines the new priority value for the old priority value 7.";

+            }

+            description "This data type provides the priority mapping done in the 'P Regenerate' process defined in G.8021.";

+        }

+        typedef vid {

+            type string;

+            description "This primitive type models the 12 Bit VLAN identifier of a VLAN tag.";

+        }

+        typedef modify-cross-connection-data {

+            type string;

+            description "none";

+        }

+        grouping address-tuple {

+            leaf address {

+                type mac-address;

+                description "This attribute contains the MAC address of the address tuple.";

+            }

+            leaf-list port-list {

+                type mac-address;

+                description "This attribute contains the ports associated to the MAC address in the address tuple.";

+            }

+            description "This data type contains an address tuple consisting of a MAC address and a corresponding port list.";

+        }

+        typedef scheduling-configuration {

+            type string;

+            description "The syntax of this dataType is pending on the specification in G.8021, which is for further study.";

+        }

+        grouping control-frame-filter {

+            leaf c-2-00-00-10 {

+                type boolean;

+                description "This attribute identifies the 'All LANs Bridge Management Group Address'.";

+            }

+            leaf c-2-00-00-00 {

+                type boolean;

+                description "This attribute identifies the STP/RSTP/MSTP protocol address.";

+            }

+            leaf c-2-00-00-01 {

+                type boolean;

+                description "This attribute identifies the IEEE MAC-specific Control Protocols group address (PAUSE protocol).";

+            }

+            leaf c-2-00-00-02 {

+                type boolean;

+                description "This attribute identifies the IEEE 802.3 Slow_Protocols_Multicast address (LACP/LAMP or Link OAM protocols).";

+            }

+            leaf c-2-00-00-03 {

+                type boolean;

+                description "This attribute identifies the Nearest non-TPMR Bridge group address (Port Authentication protocol).";

+            }

+            leaf c-2-00-00-04 {

+                type boolean;

+                description "This attribute identifies the IEEE MAC-specific Control Protocols group address.";

+            }

+            leaf c-2-00-00-05 {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-06 {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-07 {

+                type boolean;

+                description "This attribute identifies the Metro Ethernet Forum E-LMI protocol group address.";

+            }

+            leaf c-2-00-00-08 {

+                type boolean;

+                description "This attribute identifies the Provider Bridge Group address.";

+            }

+            leaf c-2-00-00-09 {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-0-a {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-0-b {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-0-c {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-0-d {

+                type boolean;

+                description "This attribute identifies the Provider Bridge MVRP address.";

+            }

+            leaf c-2-00-00-0-e {

+                type boolean;

+                description "This attribute identifies the Individual LAN Scope group address, Nearest Bridge group address (LLDP protocol).";

+            }

+            leaf c-2-00-00-0-f {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-20 {

+                type boolean;

+                description "This attribute identifies the Customer and Provider Bridge MMRP address.";

+            }

+            leaf c-2-00-00-21 {

+                type boolean;

+                description "This attribute identifies the Customer Bridge MVRP address.";

+            }

+            leaf c-2-00-00-22 {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-23 {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-24 {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-25 {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-26 {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-27 {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-28 {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-29 {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-2-a {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-2-b {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-2-c {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-2-d {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-2-e {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            leaf c-2-00-00-2-f {

+                type boolean;

+                description "Reserved for future standardization.";

+            }

+            description "This data type identifies the filter action for each of the 33 group MAC addresses (control frames).

+                Value 'false' means block: The frame is discarded by the filter process.

+                Value 'true' means pass: The frame is passed unchanged through the filter process.";

+        }

+        grouping bandwidth-report {

+            leaf source-mac-address {

+                type mac-address;

+                description "The sourceMacAddress is the address from the far end.";

+            }

+            leaf port-id {

+                type uint64;

+                description "This attribute returns the far end port identifier.";

+            }

+            leaf nominal-bandwidth {

+                type uint64;

+                description "This attribute returns the configured bandwidth";

+            }

+            leaf current-bandwidth {

+                type uint64;

+                description "This attribute returns the current bandwidth.";

+            }

+            description "Data type for the bandwidth report.";

+        }

+        typedef admin-state {

+            type enumeration {

+                enum LOCK {

+                    description "none";

+                }

+                enum NORMAL {

+                    description "none";

+                }

+            }

+            description "none";

+        }

+        typedef colour-mode {

+            type enumeration {

+                enum COLOUR_BLIND {

+                    description "none";

+                }

+                enum COLOUR_AWARE {

+                    description "none";

+                }

+            }

+            description "none";

+        }

+        typedef csf-config {

+            type enumeration {

+                enum DISABLED {

+                    description "This literal covers the following states of the CSF related MI informations:

+                        - MI_CSF_Enable is false

+                        - MI_CSFrdifdi_Enable is false

+                        - MI_CSFdci_Enable is false.";

+                }

+                enum ENABLED {

+                    description "This literal covers the following states of the CSF related MI informations:

+                        - MI_CSF_Enable is true

+                        - MI_CSFrdifdi_Enable is false

+                        - MI_CSFdci_Enable is false.";

+                }

+                enum ENABLED_WITH_RDI_FDI {

+                    description "This literal covers the following states of the CSF related MI informations:

+                        - MI_CSF_Enable is true

+                        - MI_CSFrdifdi_Enable is true

+                        - MI_CSFdci_Enable is false.";

+                }

+                enum ENABLED_WITH_RDI_FDI_DCI {

+                    description "This literal covers the following states of the CSF related MI informations:

+                        - MI_CSF_Enable is true

+                        - MI_CSFrdifdi_Enable is true

+                        - MI_CSFdci_Enable is true.";

+                }

+                enum ENABLED_WITH_DCI {

+                    description "This literal covers the following states of the CSF related MI informations:

+                        - MI_CSF_Enable is true

+                        - MI_CSFrdifdi_Enable is false

+                        - MI_CSFdci_Enable is true.";

+                }

+            }

+            description "none";

+        }

+        typedef ety-phy-type {

+            type enumeration {

+                enum OTHER {

+                    description "none";

+                }

+                enum UNKNOWN {

+                    description "none";

+                }

+                enum NONE {

+                    description "none";

+                }

+                enum 2BASE_TL {

+                    description "none";

+                }

+                enum 10MBIT_S {

+                    description "none";

+                }

+                enum 10PASS_TS {

+                    description "none";

+                }

+                enum 100BASE_T4 {

+                    description "none";

+                }

+                enum 100BASE_X {

+                    description "none";

+                }

+                enum 100BASE_T2 {

+                    description "none";

+                }

+                enum 1000BASE_X {

+                    description "none";

+                }

+                enum 1000BASE_T {

+                    description "none";

+                }

+                enum 10GBASE-X {

+                    description "none";

+                }

+                enum 10GBASE_R {

+                    description "none";

+                }

+                enum 10GBASE_W {

+                    description "none";

+                }

+            }

+            description "none";

+        }

+        typedef frame-type {

+            type enumeration {

+                enum ADMIT_ONLY_VLAN_TAGGED_FRAMES {

+                    description "none";

+                }

+                enum ADMIT_ONLY_UNTAGGED_AND_PRIORITY_TAGGED_FRAMES {

+                    description "none";

+                }

+                enum ADMIT_ALL_FRAMES {

+                    description "none";

+                }

+            }

+            description "none";

+        }

+        typedef oam-period {

+            type enumeration {

+                enum 3_33MS {

+                    description "Default for protection.";

+                }

+                enum 10MS {

+                    description "none";

+                }

+                enum 100MS {

+                    description "none";

+                }

+                enum 1S {

+                    description "none";

+                }

+                enum 10S {

+                    description "none";

+                }

+                enum 1MIN {

+                    description "none";

+                }

+                enum 10MIN {

+                    description "none";

+                }

+            }

+            description "Provides the frequency for the OAM PDU insertion.";

+        }

+        typedef pcp-coding {

+            type enumeration {

+                enum 8P0D {

+                    description "none";

+                }

+                enum 7P1D {

+                    description "none";

+                }

+                enum 6P2D {

+                    description "none";

+                }

+                enum 5P3D {

+                    description "none";

+                }

+                enum DEI {

+                    description "This enumeration value means that all priorities should be drop eligible.

+                        DEI = Drop Eligibility Indicator";

+                }

+            }

+            description "This enum models the coding of the Priority Code Point as defined in section 'Priority Code Point encoding' of IEEE 802.1Q.";

+        }

+        typedef vlan-type {

+            type enumeration {

+                enum C_Tag {

+                    description "0x8100";

+                }

+                enum S_Tag {

+                    description "0x88a8";

+                }

+                enum I_Tag {

+                    description "88-e7";

+                }

+            }

+            description "This enumeration contains the Ethertypes defined in IEEE 802.1Q.";

+        }

+        typedef repetition-period {

+            type enumeration {

+                enum 1MIN {

+                    description "none";

+                }

+                enum 1S {

+                    description "none";

+                }

+                enum 10S {

+                    description "none";

+                }

+                enum 0 {

+                    description "none";

+                }

+            }

+            description "This enumeration defines the allowed values for the repetition period in on-demand measurements.

+                Note: The value 0 means that the value is not relevant.";

+        }

+        typedef message-period {

+            type enumeration {

+                enum 10MS {

+                    description "none";

+                }

+                enum 100MS {

+                    description "none";

+                }

+                enum 1S {

+                    description "none";

+                }

+                enum 10S {

+                    description "none";

+                }

+                enum 0 {

+                    description "none";

+                }

+            }

+            description "This enumeration defines the allowed values for the message period in on-demand measurements.

+                Notes:

+                The value 10ms is only used in synthetic loss measurements.

+                The value 0 means that the value is not relevant.";

+        }

+        typedef oam-pdu-generation-type {

+            type enumeration {

+                enum SINGLE_INSTANCE {

+                    description "none";

+                }

+                enum REPETITIVE_INSTANCE {

+                    description "none";

+                }

+                enum SINGLE_SERIES {

+                    description "none";

+                }

+                enum REPETITIVE_SERIES {

+                    description "none";

+                }

+            }

+            description "This enumeration defines the generation pattern of the on-demand OAM PDUs (messages). ";

+        }

+        grouping on-demand-dm-performance-parameters {

+            leaf number-of-samples {

+                type uint64;

+                description "This attribute contains the number of received DM frames (successful samples) used for this frame delay measurement.

+                    range of type : non-negative";

+            }

+            leaf-list frame-delay-list {

+                type uint64;

+                description "This attribute contains the frame delays measured in ns (nano second, 1x10e-9 seconds). The multiplicity is defined by the numberOfSamples attribute.";

+            }

+            leaf-list frame-delay-variation-list {

+                type uint64;

+                description "This attribute contains the frame delay variations measured in ns (nano second).  The multiplicity is defined by (numberOfSamples - 1, for numberOfSamples > 0).";

+            }

+            description "This data type contains the results of an on-demand delay measurement job.";

+        }

+        grouping on-demand-lm-performance-parameters {

+            leaf total-transmitted-frames {

+                type uint64;

+                description "This attribute contains the total number of frames transmitted.";

+            }

+            leaf total-lost-frames {

+                type uint64;

+                description "This attribute contains the total number of frames lost.";

+            }

+            leaf total-frame-loss-ratio {

+                type decimal64 {

+                    fraction-digits 7;

+                }

+                description "This attribute contains the frame loss ratio (number of lost frames divided by the number of total frames (N_LF / N_TF)).

+                    The accuracy of the value is for further study.";

+            }

+            description "This data type contains the results of an on-demand loss measurement job.";

+        }

+        grouping statistical-dm-performance-parameters {

+            leaf minimum-frame-delay {

+                type uint64;

+                description "This attribute contains the minimum frame delay observed over the monitored period. It is measured in units of ns (nano second, 1x10e-9 seconds).";

+            }

+            leaf average-frame-delay {

+                type uint64;

+                description "This attribute contains the average frame delay observed over the monitored period. It is measured in units of ns (nano second, 1x10e-9 seconds).";

+            }

+            leaf maximum-frame-delay {

+                type uint64;

+                description "This attribute contains the maximum frame delay observed over the monitored period. It is measured in units of ns (nano second, 1x10e-9 seconds).";

+            }

+            leaf minimum-frame-delay-variation {

+                type uint64;

+                description "This attribute contains the minimum frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).";

+            }

+            leaf average-frame-delay-variation {

+                type uint64;

+                description "This attribute contains the average frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).";

+            }

+            leaf maximum-frame-delay-variation {

+                type uint64;

+                description "This attribute contains the maximum frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).";

+            }

+            description "This data type contains the statistical delay measurement performance parameters.";

+        }

+        grouping statistical-lm-performance-parameters {

+            leaf minimum-frame-loss-ratio {

+                type decimal64 {

+                    fraction-digits 7;

+                }

+                description "This attribute contains the minimum frame loss ratio calculated over a period of time.

+                    The accuracy of the value is for further study.";

+            }

+            leaf average-frame-loss-ratio {

+                type decimal64 {

+                    fraction-digits 7;

+                }

+                description "This attribute contains the average frame loss ratio calculated over a period of time.

+                    The accuracy of the value is for further study.";

+            }

+            leaf maximum-frame-loss-ratio {

+                type decimal64 {

+                    fraction-digits 7;

+                }

+                description "This attribute contains the maximum frame loss ratio calculated over a period of time.

+                    The accuracy of the value is for further study.";

+            }

+            leaf ses {

+                type uint64;

+                description "This attribute contains the SES detected in the monitoring interval.

+                    range of type : 0..900 for 15min interval or 0..86400 for 24 hr interval.";

+            }

+            leaf uas {

+                type uint64;

+                description "This attribute contains UAS (unavailable seconds) detected in the monitoring interval.

+                    range of type : 0..900 for 15min interval or 0..86400 for 24 hr interval.";

+            }

+            description "This data type contains the statistical loss measurement performance parameters.";

+        }

+        typedef eth-oam-job-type {

+            type identityref {

+                base ETH_OAM_JOB_TYPE;

+            }

+            description "none";

+        }

+        grouping link-trace-result {

+            leaf source-address {

+                type mac-address;

+                description "G.8052: This attribute contains the source MAC Address of an individual LTR frame result.";

+            }

+            leaf time-to-live {

+                type uint64;

+                description "G.8052: This attribute contains the Time To Live (TTL) value of an individual LTR frame result.";

+            }

+            leaf data-tlv-length {

+                type uint64;

+                description "G.8052: This attribute contains the length (in number of octets) of the Data TLV of an individual LTR frame result.";

+            }

+            description "G.8052: This data type contains the result from an individual LTR frame.";

+        }

+

+}