module tapi-digital-otn { yang-version "1.1"; namespace "urn:onf:otcc:yang:tapi-digital-otn"; prefix tapi-digital-otn; import tapi-common { prefix tapi-common; revision-date 2022-11-21; } import tapi-connectivity { prefix tapi-connectivity; revision-date 2022-11-21; } import tapi-topology { prefix tapi-topology; revision-date 2022-11-21; } import tapi-oam { prefix tapi-oam; revision-date 2022-11-21; } import tapi-dsr { prefix tapi-dsr; revision-date 2022-11-21; } organization "ONF OTCC (Open Transport Configuration & Control) Project"; contact " Project Web: Project List: Editor: Karthik Sethuraman Andrea Mazzini Arturo Mayoral Nigel Davis Ramon Casellas "; description " This module contains TAPI Digital OTN Model definitions. Source: TapiDigitalOtn.uml - The TAPI YANG models included in this TAPI release 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] and further edited manually to comply with the [ONF IISOMI UML2YANG mapping 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 . YANG models included in this release may not be backward compatible with previous TAPI releases. Copyright (c) 2022 Open Networking Foundation (ONF). All rights reserved. License: This module is distributed under the Apache License 2.0."; revision 2022-11-21 { description "ONF Transport API version 2.4.0 RC1. Changes included in this TAPI release (v2.4.0) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2021-09-24 { description "ONF Transport API version 2.3.1. Changes included in this TAPI release (v2.3.1) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2021-08-04 { description "ONF Transport API version 2.3. Changes included in this TAPI release (v2.3) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2021-05-24 { description "ONF Transport API version 2.3 RC1. Changes included in this TAPI release (v2.3) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2020-04-23 { description "ONF Transport API version 2.1.3. Changes included in this TAPI release (v2.1.3) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2019-07-16 { description "ONF Transport API version 2.1.2. Changes included in this TAPI release (v2.1.2) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2019-03-31 { description "ONF Transport API version 2.2-RC1. Changes included in this TAPI release (v2.2) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2018-12-10 { description "ONF Transport API version 2.1.1. Changes included in this TAPI release (v2.1.1) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2018-10-16 { description "ONF Transport API version 2.1.0. Changes included in this TAPI release (v2.1.0) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } 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: "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model "; } 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: "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model "; } 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: "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model "; } 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 odu-connection-end-point-spec { uses odu-connection-end-point-spec; description "none"; } description "none"; } augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mep" { container otn-mep-spec { uses otn-mep-spec; description "none"; } description "none"; } augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mip" { container otn-mip-spec { uses otn-mip-spec; description "none"; } description "none"; } augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:current-data" { container otn-error-performance-data { uses otn-error-performance-data; description "none"; } description "none"; } augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:current-data/tapi-oam:history-data" { container otn-error-performance-data { uses otn-error-performance-data; description "none"; } description "none"; } augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:current-data" { container otu-fec-performance-data { uses otu-fec-performance-data; description "none"; } description "none"; } augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:current-data/tapi-oam:history-data" { container otu-fec-performance-data { uses otu-fec-performance-data; description "none"; } description "none"; } augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-service" { container otn-oam-service { uses otn-oam-service; description "none"; } description "none"; } 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 otu-connection-end-point-spec { uses otu-connection-end-point-spec; description "none"; } description "none"; } augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-service/tapi-oam:oam-service-point" { container otn-oam-mep-service-point { uses otn-oam-mep-service-point; description "none"; } description "none"; } augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-service/tapi-oam:oam-service-point" { container otn-oam-mip-service-point { uses otn-oam-mip-service-point; description "none"; } description "none"; } augment "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point/tapi-connectivity:layer-protocol-constraint" { container odu-connectivity-service-end-point-spec { uses odu-connectivity-service-end-point-spec; description "none"; } description "none"; } augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg" { container otn-meg-spec { uses otn-meg-spec; description "none"; } description "none"; } augment "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point/tapi-oam:connectivity-oam-service" { container otn-oam-mep-service-point { uses otn-oam-mep-service-point; description "none"; } description "none"; } augment "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point/tapi-oam:connectivity-oam-service" { container otn-oam-mip-service-point { uses otn-oam-mip-service-point; description "none"; } description "none"; } augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:current-data/tapi-oam:history-data" { container odu-delay-performance-data { uses odu-delay-performance-data; description "none"; } description "none"; } augment "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point/tapi-connectivity:layer-protocol-constraint" { container otu-connectivity-service-end-point-spec { uses otu-connectivity-service-end-point-spec; description "none"; } description "none"; } augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:current-data" { container odu-delay-performance-data { uses odu-delay-performance-data; description "none"; } description "none"; } /************************** * package object-classes **************************/ grouping odu-termination-and-client-adaptation-pac { leaf opu-tributary-slot-size { type odu-slot-size; config false; description "This attribute is only applicable for ODU2 and ODU3 TTP which multiplex ODU0/1 containers. It indicates the slot size of the ODU CTP."; } leaf auto-payload-type { type boolean; config false; description "This attribute is applicable when the ODU CTP object instance represents a lower order ODU CTP Source at the client layer of the ODUP/ODUj-21 adaptation function. The value of true of this attribute configures that the adaptation source function shall fall back to the payload type PT=20 if the conditions specified in 14.3.10.1/G.798 are satisfied. "; } leaf configured-client-type { type tapi-dsr:digital-signal-type; config false; description "This attribute configures the type of the client CTP of the server ODU TTP."; } leaf configured-mapping-type { type mapping-type; config false; description "This attribute indicates the configured mapping type."; } container accepted-payload-type { config false; uses odu-payload-type; description "This attribute is applicable when the ODU CTP object instance represents a lower order ODU CTP Sink at the client layer of the ODUP/ODU[i]j or ODUP/ODUj-21 adaptation function. This attribute is a 2-digit Hex code that indicates the new accepted payload type. Valid values are defined in Table 15-9 of ITU-T Recommendation G.709 with one additional value UNINTERPRETABLE."; } leaf number-of-odu-c { type uint64; default "1"; description "none"; } leaf-list odu-cn-effective-time-slot-list { type uint64; config false; description "This attribute contains a set of distinct (i.e. unique) integers (e.g. 2, 3, 5, 9, 15, 34 representing the tributary slots TS#1.2, TS#1.3, TS#1.5, TS#1.9, TS#1.15, and TS#2.14) which represents the list of effective time slots which are available for carrying ODUk clients. Each entry in the list is an integer value (P) representing the time slot name TS#A.B (see ITU-T Recommendation G.709 (v5) Clause 20.1). The mapping between P and A & B is: A = [P/20] + 1; B = P - (P/20]*20; where the sqaure bracket represents the whole integer."; } container odu-mep { config false; uses odu-mep; description "none"; } description "This Pac contains the attributes associated with the client adaptation function of the server layer TTP It is present only if the CEP contains a TTP"; } grouping odu-connection-end-point-spec { container odu-common { config false; uses odu-common-pac; description "none"; } container odu-term-and-adapter { config false; uses odu-termination-and-client-adaptation-pac; description "none"; } container odu-ctp { config false; uses odu-ctp-pac; description "none"; } container odu-protection { config false; uses odu-protection-pac; description "none"; } description "none"; } grouping odu-ctp-pac { leaf-list tributary-slot-list { type uint64; config false; description "ITU-T G.875 (v5) This attribute contains a set of distinct (i.e. unique) integers (e.g. 2, 3, 5, 9, 15 representing the tributary slots TS#2, TS#3, TS#5, TS#9 and TS#15) which represents the resources occupied by the ODUk CTP (e.g. an ODUflex with a bit rate of 6.25G setup over an HO-ODUk). This attribute applies when the ODUk CTP is carried by a sever layer ODU TTP object. It will not apply if this ODUk CTP object is directly carried by an OTUk TTP object (i.e. OTUk has no tributary slots). The upper bound of the integer allowed in this set and its relationship with the tributary slots are a function of the ODU server layer to which the ODUk CTP is carried over. In case the ODU server layer is an HO-ODUk, each entry in the list is an integer value (i) representing the tributary slot name TS#i and the upper bound is the maximum number of tributary slots within the HO-ODUk (see ITU-T Recommendation G.709 (v5) clause 19). Thus, for example, M=8/32/80 for ODU2/ODU3/ODU4 server layers (respectively) using 1.25G slot size. In case the ODU server layer is an ODUCn, each entry in the list is an integer value (P) representing the time slot name TS#A.B (e.g. 2, 3, 5, 9, 15, 34 representing the tributary slots TS#1.2, TS#1.3, TS#1.5, TS#1.9, TS#1.15, and TS#2.14) and the upper bound is 20*n (see ITU-T Recommendation G.709 (v5) Clause 20.1). The mapping between P and A & B is: A = [P/20] + 1; B = P - (P/20]*20; where the square bracket represents the whole integer. Note that the value of this attribute can be changed only in the case of ODUflex and has to be through specific operations (i.e. not be changing the attribute tributarySlotList directly)."; } leaf tributary-port-number { type uint64; config false; description "This attribute identifies the tributary port number that is associated with the ODUk CTP. This attribute applies when the ODUk CTP is multiplexed into a server layer ODU TTP object. It will not apply if this ODUk CTP object is directly mapped into an OTUk TTP object (i.e. OTUk has no tributary slots). The upper bound of the integer allowed in this set is a function of the ODU server layer into which the ODUk CTP is multiplexed. In case the ODU server layer is an HO-ODUk, the upper bound is the maximum number of tributary slots within the HO-ODUk (see ITU-T Recommendation G.709 (v5) clause 19.4.1). Thus, for example, M=8/32/80 for ODU2/ODU3/ODU4 server layers (respectively) using 1.25G slot size. In case the ODU server layer is an ODUCn, the upper bound is M=10*n (see ITU-T Recommendation G.709 (v5) Clause 20.4.1). range of type : The value range depends on the size of the Tributary Port Number (TPN) field used which depends on th server-layer ODU or OTU. In case of ODUk mapping into OTUk, there is no TPN field, so the tributaryPortNumber shall be zero. In case of LO ODUj mapping over ODU1, ODU2 or ODU3, the TPN is encoded in a 6-bit field so the value range is 0-63. See clause 14.4.1/G.709-2016. In case of LO ODUj mapping over ODU4, the TPN is encoded in a 7-bit field so the value range is 0-127. See clause 14.4.1.4/G.709-2016. In case of ODUk mapping over ODUCn, the TPN is encoded in a 14-bit field so the value range is 0-16383. See clause 20.4.1.1/G.709-2016. "; } leaf accepted-msi { type string; config false; description "This attribute is applicable when the ODU CTP object instance represents a lower order ODU1 or ODU2 CTP Sink at the client layer of the ODU3P/ODU12 adaptation function or represents a lower order ODUj CTP Sink at the client layer of the ODUP/ODUj-21 adaptation function. This attribute is a 1-byte field that represents the accepted multiplex structure of the adaptation function. "; } list odu-mip { max-elements 2; uses odu-mip; description "none"; } description "This Pac contains the attributes associated with the CTP It is present only if the CEP contains a CTP"; } grouping otn-mep-spec { container odu-mep { uses odu-mep; description "none"; } container otu-mep { uses otu-mep; description "none"; } container odu-tcm-mep { config false; uses odu-tcm-mep; description "none"; } description "none"; } grouping odu-protection-pac { leaf aps-enable { type boolean; default "true"; description "This attribute is for enabling/disabling the automatic protection switching (APS) capability at the transport adaptation function that is represented by the ODU_ConnectionTerminationPoint object class. It triggers the MI_APS_EN signal to the transport adaptation function."; } leaf aps-level { type uint64; description "This attribute is for configuring the automatic protection switching (APS) level that should operate at the transport adaptation function that is represented by the ODU_ConnectionTerminationPoint object class. It triggers the MI_APS_LVL signal to the transport adaptation function. The value 0 means path and the values 1 through 6 mean TCM level 1 through 6 respectively."; } description "none"; } grouping odu-tcm-mep { leaf codirectional { type boolean; description "This attribute specifies the directionality of the ODUT MEP with respect to the associated ODU CEP. The value of TRUE means that the sink part of the ODUT MEP terminates the same signal direction as the sink part of the ODU CEP. The Source part behaves similarly. This attribute is meaningful only on objects instantiated under ODU CEP, and at least one among ODU CEP and the subordinate object is bidirectional."; } leaf tcm-level { type uint64; description "none"; } leaf position-sequence { type uint64; description "none"; } leaf tcm-extension { type tcm-extension; description "ITU-T G.798: TCM information forwarding and erasing: TCM information can be forwarded or erased for continuing TCM information into sections at the end of a TCM section and the related ODUT_TT_Sk function."; } leaf tcm-mode { type tcm-mode; description "This attribute specifies the TCM mode at the entity. Valid values are: Operational, Monitor, and Transparent."; } leaf txti { type string; description "The Trail Trace Identifier (TTI) information, provisioned by the managing system at the termination source, to be placed in the TTI overhead position of the source of a trail for transmission. "; } leaf admin-state-source { type tapi-common:administrative-state; description "This attribute provides the capability to provision the LOCK signal at the source, which is one of the ODU maintenance signals. When a Tandem Connection endpoint is set to admin state locked, it will insert the ODU-LCK signal in the source direction."; } leaf admin-state-sink { type tapi-common:administrative-state; description "This attribute provides the capability to provision the LOCK signal at the sink, which is one of the ODU maintenance signals. When a Tandem Connection endpoint is set to admin state locked, it will insert the ODU-LCK signal in the downstream direction."; } container otn-oam-common { uses otn-oam-common; description "none"; } container odu-tcm-mep-status { uses odu-tcm-mep-status; description "none"; } description "none"; } grouping otn-mip-spec { container odu-mip { config false; uses odu-mip; description "none"; } container odu-tcm-mip { config false; uses odu-tcm-mip; description "none"; } description "none"; } grouping odu-mip { container otn-oam-common { uses otn-oam-common; description "none"; } leaf codirectional { type boolean; description "This attribute specifies the directionality of the ODU MIP with respect to the associated ODU CEP. The value of TRUE means that the (half MIP/sink part of the) ODU MIP receives the same signal direction as the sink part of the ODU CEP. The Source part behaves similarly. This attribute is meaningful only on objects instantiated under ODU CEP, and at least one among ODU CEP and the subordinate object is bidirectional."; } container odu-mip-status { uses odu-mip-status; description "none"; } description "none"; } grouping odu-tcm-mip { leaf codirectional { type boolean; description "This attribute specifies the directionality of the ODU MIP with respect to the associated ODU CEP. The value of TRUE means that the (half MIP/sink part of the) ODU MIP receives the same signal direction as the sink part of the ODU CEP. The Source part behaves similarly. This attribute is meaningful only on objects instantiated under ODU CEP, and at least one among ODU CEP and the subordinate object is bidirectional."; } leaf tcm-level { type uint64; description "none"; } leaf position-sequence { type uint64; description "none"; } container otn-oam-common { uses otn-oam-common; description "none"; } container odu-tcm-mip-status { uses odu-tcm-mip-status; description "none"; } description "none"; } grouping odu-mep { leaf txti { type string; description "The Trail Trace Identifier (TTI) information, provisioned by the managing system at the termination source, to be placed in the TTI overhead position of the source of a trail for transmission. "; } container otn-oam-common { uses otn-oam-common; description "none"; } container odu-mep-status { uses odu-mep-status; description "none"; } description "If the CSEP is OTU CSEP, then 1) OTU only: OtuMep, 2) OTU and ODUCn: both OtuCep and OduMep."; } grouping odu-common-pac { leaf odu-rate { type uint64; config false; description "This attribute indicates the rate of the ODU termination point in Kbits/s. This attribute is Set at create; i.e., once created it cannot be changed directly. In case of resizable ODU flex, its value can be changed via HAO (not directly on the attribute). This attribute indicates the rate of the ODU termination point. Valid values shall be consistent with the oduType configuration as shown in Table 7-2/G.709 v5. Setting this value for fixed-rate ODUk types (e.g., ODU0), is optional. The default value is derived from the configured oduType, as defined in Table 7-2/G.709 v5. Setting this value for ODUCn type is optional. The default value is derived from the configured n of the ODUCn as defined in Table 7-2/G.709 v5. "; } leaf odu-rate-tolerance { type uint64; config false; description "This attribute indicates the rate tolerance of the ODU termination point. Valid values are real value in the unit of ppm. Standardized values are defined in Table 7-2/G.709."; } description "none"; } grouping odu-connectivity-service-end-point-spec { container odu-csep-common-pac { uses odu-csep-common-pac; description "none"; } container odu-csep-ctp-pac { uses odu-csep-ctp-pac; description "none"; } container odu-csep-ttp-pac { uses odu-csep-ttp-pac; description "none"; } container odu-cn-csep-ttp-pac { uses odu-cn-csep-ttp-pac; description "none"; } description "none"; } grouping otn-error-performance-data { container near-end-otn-counters { uses otn-counters; description "none"; } container far-end-otn-counters { uses otn-counters; description "none"; } leaf bidirectional-uas { type uint64; description "none"; } leaf codirectional { type boolean; description "This attribute specifies the directionality of the ODU MIP with respect to the monitored ODU CEP. The value of TRUE means that the MIP receives the same signal direction as the sink part of the ODU CEP. The Source part behaves similarly. This attribute applies only in case of embedded provisioning, i.e. the MIPs are data structures of ODU CEP."; } list otn-cn-error-performance-data { key otn-cn-oh-index; uses otn-cn-error-performance-data; description "none"; } description "ODU/OTU PM Metrics."; } grouping otn-oam-mep-service-point { container odu-mep { uses odu-mep; description "none"; } container odu-tcm-mep { uses odu-tcm-mep; description "none"; } container otu-mep { uses otu-mep; description "none"; } description "Two alternative provisioning scenarios: 1) Oam provisioning through CSEPs for 'service' related OAM (QoS) - provisioning joint to ConnectivityService. In this case the ODU MEP and MIP parameters are included (composed) in resp. ODU CEP TTP and CTP instances, i.e. no distinct ODU MEP/MIP instances. This provisioning scenario could apply for: a) NCM MEPs on terminated OTU b) NCM MEPs on terminated ODUCn c) NCM MEPs on terminated ODU/Flex d) NCM MEP and NCM NIM/MIP on semi-terminated ODU/Flex e) TCM MEPs on semi-terminated and non terminated ODU/Flex The Meg related attributes are distributed also to Mep/Mip for this provisioning scenario which does not involve OtnOamService/ServicePoints. 2) Oam provisioning through OtnOamService/ServicePoints for 'maintenance' related OAM. In this case the distinct ODU MEP and MIP instances are created, referred (by name) by resp. ODU CEP TTP and CTP. This provisioning scenario could apply for TCM or NIM at any segment of the Service."; } grouping otn-oam-mip-service-point { container odu-mip { uses odu-mip; description "none"; } container odu-tcm-mip { uses odu-tcm-mip; description "none"; } description "See OtnOamMepService point comment."; } grouping odu-delay-performance-data { leaf delay-frame-count { type uint64; description "Summation of the number of frames between the DMValue toggle event and the received DMp signal value toggle event. This value is a snapshot value."; } leaf delay-measure-success { type boolean; description "none"; } description "none"; } grouping otu-fec-performance-data { leaf fec-corrected-errors-count { type uint64; description "ITU-T G798: The number of bits corrected by the FEC are counted over one second and reported to the MI at the end of the second. For the application of this filter, see the specific atomic functions. During signal fail conditions of the data signal, no corrected bits shall be counted. For details on the signal fail conditions, see the specific atomic functions."; } leaf pre-fec-ber { type decimal64 { fraction-digits 7; } description "counter: bit error rate before correction by FEC"; } leaf post-fec-ber { type decimal64 { fraction-digits 7; } description "counter: bit error rate after correction by FEC"; } leaf uncorrectable-bytes { type uint64; description "Bytes that could not be corrected by FEC"; } leaf uncorrectable-bits { type uint64; description "Bits that could not be corrected by FEC"; } leaf corrected-bytes { type uint64; description "Bytes corrected between those that were received corrupted"; } description "The OTU FEC PM Metrics."; } grouping odu-csep-ttp-pac { leaf configured-mapping-type { type mapping-type; description "This attribute indicates the configured mapping type."; } leaf configured-client-type { type tapi-dsr:digital-signal-type; description "This attribute configures the type of the client CTP of the server ODU TTP."; } description "none"; } grouping odu-csep-common-pac { leaf odu-rate { type uint64; description "This attribute indicates the rate of the ODU termination point in Kbits/s. This attribute is Set at create; i.e., once created it cannot be changed directly. In case of resizable ODU flex, its value can be changed via HAO (not directly on the attribute). This attribute indicates the rate of the ODU termination point. Valid values shall be consistent with the oduType configuration as shown in Table 7-2/G.709 v5. Setting this value for fixed-rate ODUk types (e.g., ODU0), is optional. The default value is derived from the configured oduType, as defined in Table 7-2/G.709 v5. Setting this value for ODUCn type is optional. The default value is derived from the configured n of the ODUCn as defined in Table 7-2/G.709 v5."; } leaf opu-tributary-slot-size { type odu-slot-size; description "This attribute is applicable for ODU2 and ODU3 CTP only. It indicates the slot size of the ODU CTP."; } description "Note that the OduType ODU_CN does not apply to OduCsepCommonPac package, as ODUCn is always and only defined within OTU CSEP. "; } grouping odu-csep-ctp-pac { leaf tributary-port-number { type uint64; description "This attribute identifies the tributary port number that is associated with the ODUk CTP. This attribute applies when the ODUk CTP is multiplexed into a server layer ODU TTP object. It will not apply if this ODUk CTP object is directly mapped into an OTUk TTP object (i.e. OTUk has no tributary slots). The upper bound of the integer allowed in this set is a function of the ODU server layer into which the ODUk CTP is multiplexed. In case the ODU server layer is an HO-ODUk, the upper bound is the maximum number of tributary slots within the HO-ODUk (see ITU-T Recommendation G.709 (v5) clause 19.4.1). Thus, for example, M=8/32/80 for ODU2/ODU3/ODU4 server layers (respectively) using 1.25G slot size. In case the ODU server layer is an ODUCn, the upper bound is M=10*n (see ITU-T Recommendation G.709 (v5) Clause 20.4.1). range of type : The value range depends on the size of the Tributary Port Number (TPN) field used which depends on th server-layer ODU or OTU. In case of ODUk mapping into OTUk, there is no TPN field, so the tributaryPortNumber shall be zero. In case of LO ODUj mapping over ODU1, ODU2 or ODU3, the TPN is encoded in a 6-bit field so the value range is 0-63. See clause 14.4.1/G.709-2016. In case of LO ODUj mapping over ODU4, the TPN is encoded in a 7-bit field so the value range is 0-127. See clause 14.4.1.4/G.709-2016. In case of ODUk mapping over ODUCn, the TPN is encoded in a 14-bit field so the value range is 0-16383. See clause 20.4.1.1/G.709-2016. "; } leaf-list tributary-slot-list { type uint64; description "ITU-T G.875 (v5) This attribute contains a set of distinct (i.e. unique) integers (e.g. 2, 3, 5, 9, 15 representing the tributary slots TS#2, TS#3, TS#5, TS#9 and TS#15) which represents the resources occupied by the ODUk CTP (e.g. an ODUflex with a bit rate of 6.25G setup over an HO-ODUk). This attribute applies when the ODUk CTP is carried by a sever layer ODU TTP object. It will not apply if this ODUk CTP object is directly carried by an OTUk TTP object (i.e. OTUk has no tributary slots). The upper bound of the integer allowed in this set and its relationship with the tributary slots are a function of the ODU server layer to which the ODUk CTP is carried over. In case the ODU server layer is an HO-ODUk, each entry in the list is an integer value (i) representing the tributary slot name TS#i and the upper bound is the maximum number of tributary slots within the HO-ODUk (see ITU-T Recommendation G.709 (v5) clause 19). Thus, for example, M=8/32/80 for ODU2/ODU3/ODU4 server layers (respectively) using 1.25G slot size. In case the ODU server layer is an ODUCn, each entry in the list is an integer value (P) representing the time slot name TS#A.B (e.g. 2, 3, 5, 9, 15, 34 representing the tributary slots TS#1.2, TS#1.3, TS#1.5, TS#1.9, TS#1.15, and TS#2.14) and the upper bound is 20*n (see ITU-T Recommendation G.709 (v5) Clause 20.1). The mapping between P and A & B is: A = [P/20] + 1; B = P - (P/20]*20; where the square bracket represents the whole integer. Note that the value of this attribute can be changed only in the case of ODUflex and has to be through specific operations (i.e. not be changing the attribute tributarySlotList directly)."; } description "none"; } grouping otn-oam-service { container odu-tcm-oam-service { uses odu-tcm-oam-service; description "none"; } description "OduOamService class is used for TCM provisioning."; } grouping otn-oam-common { leaf ex-dapi { type string; description "The Expected Destination Access Point Identifier (ExDAPI), provisioned by the managing system, to be compared with the TTI accepted at the overhead position of the sink for the purpose of checking the integrity of connectivity."; } leaf ex-sapi { type string; description "The Expected Source Access Point Identifier (ExSAPI), provisioned by the managing system, to be compared with the TTI accepted at the overhead position of the sink for the purpose of checking the integrity of connectivity. "; } container deg-thr { uses deg-thr; description "This attribute indicates the threshold level for declaring a performance monitoring (PM) Second to be bad. The value of the threshold can be provisioned in terms of number of errored blocks or in terms of percentage of errored blocks. For percentage-based specification, in order to support provision of less than 1%, the specification consists of two fields. The first field indicates the granularity of percentage. For examples, in 1%, in 0.1%, or in 0.01%, etc. The second field indicates the multiple of the granularity. For number of errored block based, the value is a positive integer."; } leaf tim-det-mode { type tim-det-mo; description "This attribute indicates the mode of the Trace Identifier Mismatch (TIM) Detection function allowed values: OFF, SAPIonly, DAPIonly, SAPIandDAPI"; } leaf tim-act-disabled { type boolean; default "true"; description "This attribute provides the control capability for the managing system to enable or disable the Consequent Action function when detecting Trace Identifier Mismatch (TIM) at the trail termination sink."; } leaf deg-m { type uint64; description "This attribute indicates the threshold level for declaring a Degraded Signal defect (dDEG). A dDEG shall be declared if DegM consecutive bad PM Seconds are detected."; } description "Common ODU OAM parameters. Note that the object is read/write or read-only depending on the context, i.e. if is part of CSEP is R/W, while if is part of CEP is read-only. Note that both the ODUk and ODUCn contain only one instance of ODU PM TTI overhead and ODU PM DMp overhead. Note that the ODUCn contains n instances of the ODU PM overhead: The OduOamCommon degThr and degM apply to the n instances of ODUCn PM OH."; } grouping odu-tcm-mep-status { leaf tcm-field { type uint64; description "This attribute indicates the tandem connection monitoring field of the ODU OH."; } leaf ac-status-source { type tcm-status; config false; description "This attribute indicates the status of the accepted TCM. "; } leaf ac-status-sink { type tcm-status; config false; description "This attribute indicates the status of the accepted TCM. "; } leaf operational-state { type tapi-common:operational-state; description "none"; } leaf acti { type string; config false; description "The Trail Trace Identifier (TTI) information recovered (Accepted) from the TTI overhead position at the sink of a trail."; } description "none"; } grouping odu-tcm-mip-status { leaf tcm-field { type uint64; config false; description "This attribute indicates the tandem connection monitoring field of the ODU OH."; } leaf operational-state { type tapi-common:operational-state; config false; description "none"; } leaf acti { type string; config false; description "The Trail Trace Identifier (TTI) information recovered (Accepted) from the TTI overhead position at the sink of a trail."; } description "none"; } grouping otu-mep { leaf txti { type string; config false; description "The Trail Trace Identifier (TTI) information, provisioned by the managing system at the termination source, to be placed in the TTI overhead position of the source of a trail for transmission. "; } container otn-oam-common { config false; uses otn-oam-common; description "none"; } container otu-mep-status { config false; uses otu-mep-status; description "none"; } leaf fec-monitoring { type boolean; default "true"; config false; description "none"; } leaf fec-corrected-error-threshold { type uint64; config false; description "none"; } container otsia-mep { config false; uses otsia-mep; description "none"; } description "If the CSEP is OTU CSEP, then 1) OTU only: OtuMep 2) OTU and ODUCn: both OtuCep and OduMep"; } grouping otu-mep-status { leaf acti { type string; config false; description "The Trail Trace Identifier (TTI) information recovered (Accepted) from the TTI overhead position at the sink of a trail."; } description "none"; } grouping odu-mep-status { leaf acti { type string; config false; description "The Trail Trace Identifier (TTI) information recovered (Accepted) from the TTI overhead position at the sink of a trail."; } leaf-list tcm-fields-in-use { type uint64; config false; description "This attribute indicates the used TCM fields of the ODU OH."; } description "none"; } grouping odu-mip-status { leaf acti { type string; config false; description "The Trail Trace Identifier (TTI) information recovered (Accepted) from the TTI overhead position at the sink of a trail."; } leaf-list tcm-fields-in-use { type uint64; config false; description "This attribute indicates the used TCM fields of the ODU OH."; } leaf odu-current-number-of-tributary-slots { type uint64; config false; description "This attribute applies only to ODUflex(GFP) connections. It represents the current number of tributary slots allocated to this ODUflex(GFP) connection in the HO-ODU server layer."; } description "none"; } grouping otu-csep-ttp-pac { container fec-type { uses fec-type; description "none"; } leaf baud-rate { type uint64; description "The baud rate in terms of giga baud. baud = bit/symbol, and the baud rate is hence sometimes referred to as the symbol rate"; } description "none"; } grouping odu-cn-csep-ttp-pac { leaf number-of-odu-c { type uint64; default "1"; description "This attribute specifies the number of ODUC instances of the ODUCn."; } description "When otuType=OTU_CN then OduCnCsepTtpPac must be instantiated."; } grouping otu-connection-end-point-spec { container otu-ttp-pac { config false; uses otu-ttp-pac; description "none"; } description "Note that the OTU CEP includes OTSiA 'termination&adaptation'."; } grouping otu-ttp-pac { container otu-mep { config false; uses otu-mep; description "none"; } container fec-type { config false; uses fec-type; description "none"; } leaf baud-rate { type uint64; config false; description "The baud rate in terms of giga baud. baud = bit/symbol, and the baud rate is hence sometimes referred to as the symbol rate"; } description "none"; } grouping otu-connectivity-service-end-point-spec { container otu-csep-ttp-pac { uses otu-csep-ttp-pac; description "none"; } description "none"; } grouping otsia-mep { leaf total-power-warn-threshold-upper { type decimal64 { fraction-digits 7; } description "Allows to configure the upper power threshold on whole Assembly scope."; } leaf total-power-warn-threshold-lower { type decimal64 { fraction-digits 7; } description "Allows to configure the lower power threshold on whole Assembly scope."; } description "none"; } grouping otn-cn-error-performance-data { container near-end-otn-counters { uses otn-counters; description "none"; } container far-end-otn-counters { uses otn-counters; description "none"; } leaf bidirectional-uas { type uint64; description "none"; } leaf otn-cn-oh-index { type uint64; description "The ODUCn contains n instances of the ODU PM/TCM overhead, numbered 1 to n (PM #1 to PM #n)/(TCMi #1 to TCMi #n).. This index specify the 2..n instance of the ODUCn PM/TCM overhead."; } description "The ODUk contains one instance of ODU PM overhead. The ODUCn contains n instances of the ODU PM overhead, numbered 1 to n (PM #1 to PM #n). The PM #2 to #n fields contain the following subfields: - bit interleaved parity (BIP-8) - backward error indication (BEI) The ODUk contains one instance of ODU TCM1 to TCM6 overhead. The ODUCn contains n instances of the ODU TCM1 to TCM6 overhead, numbered 1 to n (TCMi #1 to TCMi #n). Each TCMi #2 to #n field contains the following subfields (see Figure 15-19): - bit interleaved parity 8 (BIP-8); - backward error indication and backward incoming alignment error (BEI/BIAE)"; } grouping otn-meg-spec { container odu-tcm-meg { uses odu-tcm-meg; description "none"; } description "none"; } grouping odu-tcm-oam-service { leaf tcm-level { type uint64; description "none"; } description "none"; } grouping odu-tcm-meg { leaf tcm-level { type uint64; description "none"; } description "none"; } /************************** * package type-definitions **************************/ identity OTN_ALARM_CONDITION_NAME { /* base tapi-common:ALARM_CONDITION_NAME; to be removed because centralized in TapiCommon */ description "none"; } identity OTN_ALARM_CONDITION_NAME_LOS_P { base OTN_ALARM_CONDITION_NAME; description "G.798: Loss of signal information from the media element. Loss of optical signal. "; } identity OTN_ALARM_CONDITION_NAME_TIM { base OTN_ALARM_CONDITION_NAME; description "G.798: Connectivity supervision/trail trace identifier mismatch."; } identity OTN_ALARM_CONDITION_NAME_BDI_P { base OTN_ALARM_CONDITION_NAME; description "G.798: Backward defect indication payload."; } identity OTN_ALARM_CONDITION_NAME_BDI_O { base OTN_ALARM_CONDITION_NAME; description "G.798: Backward defect indication overhead."; } identity OTN_ALARM_CONDITION_NAME_BDI { base OTN_ALARM_CONDITION_NAME; description "G.798: Backward defect indication."; } identity OTN_ALARM_CONDITION_NAME_OCI { base OTN_ALARM_CONDITION_NAME; description "G.798: Open connection indication."; } identity OTN_ALARM_CONDITION_NAME_SSF { base OTN_ALARM_CONDITION_NAME; description "Server Signal Fail."; } identity OTN_ALARM_CONDITION_NAME_SSF_P { base OTN_ALARM_CONDITION_NAME; description "Server Signal Fail Payload."; } identity OTN_ALARM_CONDITION_NAME_SSF_O { base OTN_ALARM_CONDITION_NAME; description "Server Signal Fail Overhead."; } identity OTN_ALARM_CONDITION_NAME_DEG { base OTN_ALARM_CONDITION_NAME; description "G.798, G.806: Signal degrade."; } identity OTN_ALARM_CONDITION_NAME_FOP_PM { base OTN_ALARM_CONDITION_NAME; description "G.798: ODU linear protection failure of protocol provisioning mismatch."; } identity OTN_ALARM_CONDITION_NAME_FOP_NR { base OTN_ALARM_CONDITION_NAME; description "G.798: ODU linear protection failure of protocol no response."; } identity OTN_ALARM_CONDITION_NAME_PLM { base OTN_ALARM_CONDITION_NAME; description "Payload mismatch supervision. G.806: The payload label mismatch defect (dPLM) shall be detected if the 'accepted TSL' code does not match the 'expected TSL' code. If the 'accepted TSL' is 'equipped non-specific', the mismatch is not detected (TSL: Trail Signal Label). Payload type supervision checks that compatible adaptation functions are used at the source and the sink. This is normally done by adding a signal type identifier at the source adaptation function and comparing it with the expected identifier at the sink. If they do not match, a payload mismatch is detected. G.798 - dPLM at the ODUP layer: dPLM shall be declared if the accepted payload type (AcPT) is not equal to the expected payload type(s) as defined by the specific adaptation function."; } identity OTN_ALARM_CONDITION_NAME_CSF { base OTN_ALARM_CONDITION_NAME; description "G.798: Client signal fail."; } identity OTN_ALARM_CONDITION_NAME_MSIM { base OTN_ALARM_CONDITION_NAME; description "G.798: Multiplex structure identifier mismatch supervision - tributary port #p"; } identity OTN_ALARM_CONDITION_NAME_LOFLOM { base OTN_ALARM_CONDITION_NAME; description "G.798: Loss of frame and multiframe - tributary port #p"; } identity OTN_ALARM_CONDITION_NAME_LOOMFI { base OTN_ALARM_CONDITION_NAME; description "G.798: OPU multiframe (OMFI) reception for OPUk with k = 4"; } identity OTN_ALARM_CONDITION_NAME_LSS { base OTN_ALARM_CONDITION_NAME; description "G.798, O.151: Loss of PRBS lock."; } identity OTN_ALARM_CONDITION_NAME_LCS { base OTN_ALARM_CONDITION_NAME; description "G.798, IEEE 802.3, G.709: Loss of character synchronization."; } identity OTN_ALARM_CONDITION_NAME_LFD { base OTN_ALARM_CONDITION_NAME; description "GFP loss of frame delineation. G.806 - Server layer-specific GFP sink processes: GFP loss of frame delineation (dLFD) is raised when the frame delineation process (clause 6.3.1 of [ITU-T G.7041]) is not in the 'SYNC' state. dLFD is cleared when the frame delineation process is in the 'SYNC' state."; } identity OTN_ALARM_CONDITION_NAME_UPM { base OTN_ALARM_CONDITION_NAME; description "GFP user payload mismatch. G.806 - Client-specific GFP-F (Frame) and GFP-T (Transparent) sink processes: GFP user payload mismatch (dUPM) is raised when the accepted UPI (AcUPI) is different from the expected UPI. dUPM is cleared when AcUPI matches the expected UPI or GFP_SF is active."; } identity OTN_ALARM_CONDITION_NAME_EXM { base OTN_ALARM_CONDITION_NAME; description "GFP extension header mismatch. G.806 - Common GFP sink processes: GFP extension header mismatch (dEXM) is raised when the accepted EXI (AcEXI) is different from the expected EXI. dEXM is cleared when AcEXI matches the expected EXI or GFP_SF is active."; } identity OTN_ALARM_CONDITION_NAME_LOF { base OTN_ALARM_CONDITION_NAME; description "G.798, G.783: Loss Of Frame."; } identity OTN_ALARM_CONDITION_NAME_RCOHM { base OTN_ALARM_CONDITION_NAME; description "G.798: Resize Control Overhead Mismatch."; } identity OTN_ALARM_CONDITION_NAME_GIDM { base OTN_ALARM_CONDITION_NAME; description "G.798: Group ID Mismatch."; } identity OTN_ALARM_CONDITION_NAME_FMM { base OTN_ALARM_CONDITION_NAME; description "G.798: FlexO/FlexE Map Mismatch."; } identity OTN_ALARM_CONDITION_NAME_LOL { base OTN_ALARM_CONDITION_NAME; description "G.798: Loss of lane alignment."; } identity OTN_ALARM_CONDITION_NAME_CSACM { base OTN_ALARM_CONDITION_NAME; description "G.798: Calendar Slot Availability Count Mismatch."; } identity OTN_ALARM_CONDITION_NAME_LOM { base OTN_ALARM_CONDITION_NAME; description "G.798: Loss of multiframe. Loss of the interleaved FlexESG multi-frame."; } identity OTN_ALARM_CONDITION_NAME_LRC { base OTN_ALARM_CONDITION_NAME; description "G.798: Loss of Rate Compensation blocks."; } identity OTN_ALARM_CONDITION_NAME_LTC { base OTN_ALARM_CONDITION_NAME; description "G.798: Loss of tandem connection."; } identity OTN_ALARM_CONDITION_NAME_RDI { base OTN_ALARM_CONDITION_NAME; description "G.798: Remote Defect Indication."; } identity OTN_ALARM_CONDITION_NAME_LCK { base OTN_ALARM_CONDITION_NAME; description "G.798: Locked."; } identity OTN_ALARM_CONDITION_NAME_LOS_O { base OTN_ALARM_CONDITION_NAME; description "G.798: Loss of signal overhead."; } identity OTN_ALARM_CONDITION_NAME_LOA { base OTN_ALARM_CONDITION_NAME; description "G.798: Loss of alignment."; } identity OTN_ALARM_CONDITION_NAME_LFA { base OTN_ALARM_CONDITION_NAME; description "G.798: Loss of FEC word alignment."; } identity OTN_ALARM_CONDITION_NAME_LOS { base OTN_ALARM_CONDITION_NAME; description "G.783: Loss Of Signal."; } identity ODU_TYPE { base tapi-common:LAYER_PROTOCOL_QUALIFIER; description "none"; } identity ODU_TYPE_ODU0 { base ODU_TYPE; description "none"; } identity ODU_TYPE_ODU1 { base ODU_TYPE; description "none"; } identity ODU_TYPE_ODU2 { base ODU_TYPE; description "none"; } identity ODU_TYPE_ODU2E { base ODU_TYPE; description "none"; } identity ODU_TYPE_ODU3 { base ODU_TYPE; description "none"; } identity ODU_TYPE_ODU4 { base ODU_TYPE; description "none"; } identity ODU_TYPE_ODU_FLEX { base ODU_TYPE; description "none"; } identity ODU_TYPE_ODU_CN { base ODU_TYPE; description "none"; } identity OTN_FAULT_CONDITION_DETERMINATION { base tapi-connectivity:FAULT_CONDITION_DETERMINATION; description "none"; } identity OTN_FAULT_CONDITION_DETERMINATION_NON_INTRUSIVE_CLIENT { base OTN_FAULT_CONDITION_DETERMINATION; description "Non-intrusive monitoring of Client signal fail"; } identity OTN_FAULT_CONDITION_DETERMINATION_NON_INTRUSIVE_E2E { base OTN_FAULT_CONDITION_DETERMINATION; description "Non-intrusive end-to-end monitoring"; } identity OTN_FAULT_CONDITION_DETERMINATION_NON_INTRUSIVE_SUBLAYER { base OTN_FAULT_CONDITION_DETERMINATION; description "Non-intrusive Sublayer monitoring"; } identity ODU_OAM_JOB_TYPE { base tapi-oam:OAM_JOB_TYPE; description "none"; } identity ODU_OAM_JOB_TYPE_NCM { base ODU_OAM_JOB_TYPE; description "none"; } identity ODU_OAM_JOB_TYPE_TCM { base ODU_OAM_JOB_TYPE; description "none"; } identity OTU_TYPE { base tapi-common:LAYER_PROTOCOL_QUALIFIER; description "none"; } identity OTU_TYPE_OTU1 { base OTU_TYPE; description "none"; } identity OTU_TYPE_OTU2 { base OTU_TYPE; description "none"; } identity OTU_TYPE_OTU3 { base OTU_TYPE; description "none"; } identity OTU_TYPE_OTU4 { base OTU_TYPE; description "none"; } identity OTU_TYPE_OTU_CN { base OTU_TYPE; description "none"; } identity STANDARD_FEC_TYPE { description "none"; } identity STANDARD_FEC_TYPE_REED_SOLOMON { base STANDARD_FEC_TYPE; description "none"; } typedef otn-alarm-condition-name { type identityref { base OTN_ALARM_CONDITION_NAME; } description "none"; } typedef odu-type { type identityref { base ODU_TYPE; } description "none"; } typedef mapping-type { type enumeration { enum AMP { description "none"; } enum BMP { description "none"; } enum GFP_F { description "none"; } enum GMP { description "none"; } enum TTP_GFP_BMP { description "none"; } enum NULL { description "none"; } } description "none"; } typedef tim-det-mo { type enumeration { enum DAPI { description "none"; } enum SAPI { description "none"; } enum BOTH { description "none"; } enum OFF { description "none"; } } description "List of modes for trace identifier mismatch detection."; } typedef odu-slot-size { type enumeration { enum 1G25 { description "none"; } enum 2G5 { description "none"; } } description "none"; } grouping odu-payload-type { leaf named-payload-type { type odu-named-payload-type; description "none"; } leaf hex-payload-type { type string; description "none"; } description "This type includes is a 2-digit Hex code that indicates the new accepted payload type. Valid values are defined in Table 15-9 of ITU-T Recommendation G.709 with one additional value UNINTERPRETABLE."; } typedef odu-named-payload-type { type enumeration { enum UNKNOWN { description "none"; } enum UNINTERPRETABLE { description "none"; } } description "none"; } grouping deg-thr { leaf deg-thr-value { type uint64; description "Percentage of detected errored blocks"; } leaf deg-thr-type { type deg-thr-type; description "Number of errored blocks"; } leaf percentage-granularity { type percentage-granularity; description "none"; } description "Degraded Threshold, specify either the percentage or the number of Errored Blocks in the defined interval. 1) degThrValue when type is PERCENTAGE: percentageGranularity is used to indicate the number of decimal points. So if percentageGranularity is ones, a value of 1 in degThrValue would indicate 1%, a value of 10 = 10%, a value of 100 = 100%. So if percentageGranularity is thousandths a value of 1 in degThrValue would indicate 0.001%, a value of 1000 = 1%, a value of 1000000 = 100%. 2) degThrValue when type is NUMBER_ERROR_BLOCKS: Number of Errored Blocks is captured in an integer value."; } typedef deg-thr-type { type enumeration { enum PERCENTAGE { description "Choice of % or Number of errored blocks"; } enum NUMBER_ERRORED_BLOCKS { description "Number of % or blocks"; } } description "The value of the threshold can be provisioned in terms of number of errored blocks or in terms of percentage of errored blocks. For percentage-based specification, in order to support provision of less than 1%, the specification consists of two fields. The first field indicates the granularity of percentage. For examples, in 1%, in 0.1%, or in 0.01%, etc. The second field indicates the multiple of the granularity. For number of errored block based, the value is a positive integer."; } typedef tcm-status { type enumeration { enum NO_SOURCE_TC { description "TCM byte 3 (bits 6 7 8) -- 0 0 0, No source Tandem Connection"; } enum IN_USE_WITHOUT_IAE { description "TCM byte 3 (bits 6 7 8) -- 0 0 1, In use without IAE (Incoming Alignment Error)"; } enum IN_USE_WITH_IAE { description "TCM byte 3 (bits 6 7 8) -- 0 1 0, In use with IAE (Incoming Alignment Error)"; } enum RESERVED_1 { description "TCM byte 3 (bits 6 7 8) -- 0 1 1, Reserved for future international standardization"; } enum RESERVED_2 { description "TCM byte 3 (bits 6 7 8) -- 1 0 0, Reserved for future international standardization"; } enum LCK { description "TCM byte 3 (bits 6 7 8) -- 1 0 1, Maintenance signal: ODU-LCK"; } enum OCI { description "TCM byte 3 (bits 6 7 8) -- 1 1 0, Maintenance signal: ODU-OCI"; } enum AIS { description "TCM byte 3 (bits 6 7 8) -- 1 1 1, Maintenance signal: ODU-AIS"; } } description "See Table 15-5/G.709/Y.1331 "; } typedef tcm-mode { type enumeration { enum OPERATIONAL { description "none"; } enum TRANSPARENT { description "none"; } enum MONITOR { description "none"; } } description "List of value modes for the sink side of the tandem connection monitoring function."; } typedef tcm-monitoring { type enumeration { enum INTRUSIVE { description "none"; } enum NON_INTRUSIVE { description "none"; } } description "Monitoring types for the tandem connection monitoring function."; } typedef tcm-extension { type enumeration { enum NORMAL { description "none"; } enum PASS_THROUGH { description "none"; } enum ERASE { description "none"; } } description "none"; } typedef percentage-granularity { type enumeration { enum ONES { description "none"; } enum ONE_TENTHS { description "value * (1/10)"; } enum ONE_HUNDREDTHS { description "value * (1/100)"; } enum ONE_THOUSANDTHS { description "value * (1/1000)"; } } description "none"; } grouping uas-choice { leaf bidirectional { type boolean; default "true"; description "none"; } leaf uas { type uint64; description "none"; } leaf nuas { type uint64; description "none"; } leaf fuas { type uint64; description "none"; } description "If bidirectional is TRUE then use the uas attribute, if bidirectional is FALSE use the nuas, and fuas attributes."; } typedef otn-fault-condition-determination { type identityref { base OTN_FAULT_CONDITION_DETERMINATION; } description "ITU-T-REC-G.873.1-201710 Optical transport network: Linear protection"; } typedef odu-oam-job-type { type identityref { base ODU_OAM_JOB_TYPE; } description "none"; } grouping otn-counters { leaf bbe { type uint64; description "none"; } leaf ses { type uint64; description "none"; } leaf uas { type uint64; description "none"; } description "none"; } typedef otu-type { type identityref { base OTU_TYPE; } description "none"; } grouping fec-type { leaf standard-fec-type { type standard-fec-type; description "none"; } leaf proprietary-fec-type { type string; description "none"; } description "The specification of OTU FEC Type. The standardFecType and proprietaryFecType attributes are mutually exclusive."; } typedef standard-fec-type { type identityref { base STANDARD_FEC_TYPE; } description "none"; } }