Add TAPI Topology simulated network function type.
[sim/o1-interface.git] / ntsimulator / deploy / smo-nts-ng-topology-server / yang / tapi-odu@2020-04-23.yang
1 module tapi-odu {\r
2     namespace "urn:onf:otcc:yang:tapi-odu";\r
3     prefix tapi-odu;\r
4     import tapi-common {\r
5         prefix tapi-common;\r
6     }\r
7     import tapi-connectivity {\r
8         prefix tapi-connectivity;\r
9     }\r
10     import tapi-topology {\r
11         prefix tapi-topology;\r
12     }\r
13     import tapi-oam {\r
14         prefix tapi-oam;\r
15     }\r
16     import tapi-dsr {\r
17         prefix tapi-dsr;\r
18     }\r
19     organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
20     contact "\r
21          Project Web: <https://urldefense.com/v3/__https://wiki.opennetworking.org/display/OTCC/TAPI__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G39KDEbL$ >\r
22          Project List: <mailto:transport-api@opennetworking.org>\r
23          Editor: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>\r
24          Andrea Mazzini <mailto:andrea.mazzini@nokia.com>\r
25          Arturo Mayoral <mailto:arturo.mayoral@telefonica.com>\r
26          Nigel Davis <mailto:ndavis@ciena.com>";\r
27     description "\r
28         This module contains TAPI ODU Model definitions.\r
29         Source: TapiOdu.uml\r
30         - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK.\r
31         - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]\r
32           <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/EagleUmlYang__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G4QHf0bG$ >\r
33           and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]\r
34           <https://urldefense.com/v3/__https://wiki.opennetworking.org/display/OIMT/UML*-*YANG*Guidelines__;Kysr!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G8IIivez$ >\r
35         - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts.\r
36           As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts.\r
37         - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases.\r
38           The YANG model backward compatibility criteria are outlined in section 11 of <https://urldefense.com/v3/__https://tools.ietf.org/html/rfc7950__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G3bKxRf2$ >.\r
39           YANG models included in this release may not be backward compatible with previous TAPI releases.\r
40         Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
41         License: This module is distributed under the Apache License 2.0";\r
42     revision 2020-04-23 {\r
43         description "ONF Transport API version 2.1.3.\r
44                    Changes included in this TAPI release (v2.1.3) are listed in\r
45                    <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop_v2_1/CHANGE_LOG/change-log.2.1.3.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7tqhxFK$ >";\r
46         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
47                   <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";\r
48     }\r
49     revision 2019-07-16 {\r
50         description "ONF Transport API version 2.1.2.\r
51                    Changes included in this TAPI release (v2.1.2) are listed in\r
52                    <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop_v2_1/CHANGE_LOG/change-log.2.1.2.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7eDS6-t$ >";\r
53         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
54                   <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";\r
55     }\r
56     revision 2018-12-10 {\r
57         description "ONF Transport API version 2.1.1.\r
58                    Changes included in this TAPI release (v2.1.1) are listed in\r
59                    <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.1.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G1ftwU5J$ >";\r
60         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
61                   <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";\r
62     }\r
63     revision 2018-10-16 {\r
64         description "ONF Transport API version 2.1.0.\r
65                    Changes included in this TAPI release (v2.1.0) are listed in\r
66                    <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G-5JStw4$ >";\r
67         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
68                   <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";\r
69     }\r
70     revision 2018-03-07 {\r
71         description "ONF Transport API version 2.0.2\r
72         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
73         Changes in this revision: <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G1Yf4AAN$ >";\r
74         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
75                   <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G27-pJK_$ >";\r
76     }\r
77     revision 2018-02-16 {\r
78         description "ONF Transport API version 2.0.1\r
79         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
80         Changes in this revision: <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G8RnGvXg$ >";\r
81         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
82                   <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6Gy6YoeAv$ >";\r
83     }\r
84     revision 2018-01-02 {\r
85         description "ONF Transport API version 2.0.0\r
86         This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
87         Changes in this revision: <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6GyqYDgG_$ >";\r
88         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
89                   <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G1V9Thk9$ >";\r
90     }\r
91     augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {\r
92         container odu-node-edge-point-spec {\r
93             uses odu-node-edge-point-spec;\r
94             description "Augments the base LayerProtocol information in NodeEdgePoint with ODU-specific information";\r
95         }\r
96         description "Augments the base LayerProtocol information in NodeEdgePoint with ODU-specific information";\r
97     }\r
98     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" {\r
99         container odu-connection-end-point-spec {\r
100             uses odu-connection-end-point-spec;\r
101             description "none";\r
102         }\r
103         description "none";\r
104     }\r
105     augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mep" {\r
106         container odu-connection-end-point-spec {\r
107             uses odu-connection-end-point-spec;\r
108             description "none";\r
109         }\r
110         description "none";\r
111     }\r
112     augment "/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mip" {\r
113         container odu-mip-spec {\r
114             uses odu-mip-spec;\r
115             description "none";\r
116         }\r
117         description "none";\r
118     }\r
119     augment "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {\r
120         container odu-connectivity-service-end-point-spec {\r
121             uses odu-connectivity-service-end-point-spec;\r
122             description "none";\r
123         }\r
124         description "none";\r
125     }\r
126     /**************************\r
127     * package object-classes\r
128     **************************/ \r
129     grouping odu-termination-and-client-adaptation-pac {\r
130         leaf opu-tributary-slot-size {\r
131             type odu-slot-size;\r
132             config false;\r
133             description "This attribute is applicable for ODU2 and ODU3 CTP only. It indicates the slot size of the ODU CTP.";\r
134         }\r
135         leaf auto-payload-type {\r
136             type boolean;\r
137             config false;\r
138             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. ";\r
139         }\r
140         leaf configured-client-type {\r
141             type tapi-dsr:digital-signal-type;\r
142             config false;\r
143             description "This attribute configures the type of the client CTP of the server ODU TTP.";\r
144         }\r
145         leaf configured-mapping-type {\r
146             type mapping-type;\r
147             config false;\r
148             description "This attributes indicates the configured mapping type.";\r
149         }\r
150         container accepted-payload-type {\r
151             config false;\r
152             uses odu-payload-type;\r
153             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. \r
154                 This attribute is a 2-digit Hex code that indicates the new accepted payload type.\r
155                 Valid values are defined in Table 15-8 of ITU-T Recommendation G.709 with one additional value UN_INTERPRETABLE.";\r
156         }\r
157         container fec-parameters {\r
158             config false;\r
159             uses fec-properties;\r
160             description "none";\r
161         }\r
162         leaf-list odu-cn-effective-time-slot-list {\r
163             type uint64;\r
164             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)\r
165                 which represents the list of effective time slots which are available for carrying ODUk clients.\r
166                 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).\r
167                 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.";\r
168         }\r
169         description "This Pac contains the attributes associated with the client adaptation function of the server layer TTP\r
170             It is present only if the CEP contains a TTP";\r
171     }\r
172     grouping odu-connection-end-point-spec {\r
173         container odu-common {\r
174             uses odu-common-pac;\r
175             description "none";\r
176         }\r
177         container odu-term-and-adapter {\r
178             config false;\r
179             uses odu-termination-and-client-adaptation-pac;\r
180             description "none";\r
181         }\r
182         container odu-ctp {\r
183             config false;\r
184             uses odu-ctp-pac;\r
185             description "none";\r
186         }\r
187         container odu-protection {\r
188             config false;\r
189             uses odu-protection-pac;\r
190             description "none";\r
191         }\r
192         description "none";\r
193     }\r
194     grouping odu-pool-pac {\r
195         leaf client-capacity {\r
196             type uint64;\r
197             description "none";\r
198         }\r
199         leaf max-client-instances {\r
200             type uint64;\r
201             config false;\r
202             description "none";\r
203         }\r
204         leaf max-client-size {\r
205             type uint64;\r
206             config false;\r
207             description "none";\r
208         }\r
209         description "none";\r
210     }\r
211     grouping odu-node-edge-point-spec {\r
212         container odu-pool {\r
213             config false;\r
214             uses odu-pool-pac;\r
215             description "none";\r
216         }\r
217         description "none";\r
218     }\r
219     grouping odu-ctp-pac {\r
220         leaf-list tributary-slot-list {\r
221             type uint64;\r
222             config false;\r
223             description "ITU-T G.875 (v5)\r
224                 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).\r
225                 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).\r
226                 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.\r
227                 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).\r
228                 Thus, for example, M=8/32/80 for ODU2/ODU3/ODU4 server layers (respectively) using 1.25G slot size.\r
229                 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 und is 20*n (see ITU-T Recommendation G.709 (v5) Clause 20.1).\r
230                 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).";\r
231         }\r
232         leaf tributary-port-number {\r
233             type uint64;\r
234             config false;\r
235             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.\r
236                 It will not apply if this ODUk CTP object is directly mapped into an OTUk TTP object (i.e. OTUk has no tributary slots).\r
237                 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.\r
238                 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).\r
239                 Thus, for example, M=8/32/80 for ODU2/ODU3/ODU4 server layers (respectively) using 1.25G slot size.\r
240                 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).\r
241                 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.\r
242                 In case of ODUk mapping into OTUk, there is no TPN field, so the tributaryPortNumber shall be zero.\r
243                 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.\r
244                 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.\r
245                 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.\r
246                 ";\r
247         }\r
248         leaf accepted-msi {\r
249             type string;\r
250             config false;\r
251             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. ";\r
252         }\r
253         description "This Pac contains the attributes associated with the CTP\r
254             It is present only if the CEP contains a CTP";\r
255     }\r
256     grouping odu-mep-spec {\r
257         container odu-mep {\r
258             uses odu-mep-pac;\r
259             description "none";\r
260         }\r
261         container odu-ncm {\r
262             config false;\r
263             uses odu-ncm-pac;\r
264             description "none";\r
265         }\r
266         container odu-tcm {\r
267             config false;\r
268             uses odu-tcm-mep-pac;\r
269             description "none";\r
270         }\r
271         container odu-defect {\r
272             uses odu-defect-pac;\r
273             description "none";\r
274         }\r
275         container odu-pm {\r
276             uses odu-pm-pac;\r
277             description "none";\r
278         }\r
279         description "none";\r
280     }\r
281     grouping odu-protection-pac {\r
282         leaf aps-enable {\r
283             type boolean;\r
284             default "true";\r
285             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.";\r
286         }\r
287         leaf aps-level {\r
288             type uint64;\r
289             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.";\r
290         }\r
291         description "none";\r
292     }\r
293     grouping odu-ncm-pac {\r
294         leaf-list tcm-fields-in-use {\r
295             type uint64;\r
296             config false;\r
297             description "This attribute indicates the used TCM fields of the ODU OH.";\r
298         }\r
299         description "none";\r
300     }\r
301     grouping odu-tcm-mep-pac {\r
302         leaf tcm-extension {\r
303             type tcm-extension;\r
304             description "none";\r
305         }\r
306         leaf tcm-mode {\r
307             type tcm-mode;\r
308             description "This attribute specifies the TCM mode at the entity. Valid values are: Operational, Monitor, and Transparent.";\r
309         }\r
310         leaf codirectional {\r
311             type boolean;\r
312             config false;\r
313             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.";\r
314         }\r
315         leaf ac-status-source {\r
316             type tcm-status;\r
317             config false;\r
318             description "This attribute indicates the status of the accepted TCM. ";\r
319         }\r
320         leaf ac-status-sink {\r
321             type tcm-status;\r
322             config false;\r
323             description "This attribute indicates the status of the accepted TCM. ";\r
324         }\r
325         leaf admin-state-source {\r
326             type tapi-common:administrative-state;\r
327             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.";\r
328         }\r
329         leaf admin-state-sink {\r
330             type tapi-common:administrative-state;\r
331             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.";\r
332         }\r
333         uses odu-tcm-mip-pac;\r
334         description "none";\r
335     }\r
336     grouping odu-mip-spec {\r
337         container odu-mip {\r
338             config false;\r
339             uses odu-mip-pac;\r
340             description "none";\r
341         }\r
342         container odu-ncm {\r
343             config false;\r
344             uses odu-ncm-pac;\r
345             description "none";\r
346         }\r
347         container odu-tcm {\r
348             config false;\r
349             uses odu-tcm-mip-pac;\r
350             description "none";\r
351         }\r
352         container odu-pm {\r
353             uses odu-pm-pac;\r
354             description "none";\r
355         }\r
356         container odu-defect {\r
357             uses odu-defect-pac;\r
358             description "none";\r
359         }\r
360         description "none";\r
361     }\r
362     grouping odu-mip-pac {\r
363         leaf acti {\r
364             type string;\r
365             config false;\r
366             description "The Trail Trace Identifier (TTI) information recovered (Accepted) from the TTI overhead position at the sink of a trail.";\r
367         }\r
368         leaf ex-dapi {\r
369             type string;\r
370             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.";\r
371         }\r
372         leaf ex-sapi {\r
373             type string;\r
374             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.\r
375                 ";\r
376         }\r
377         leaf tim-act-disabled {\r
378             type boolean;\r
379             default "true";\r
380             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.";\r
381         }\r
382         leaf tim-det-mode {\r
383             type tim-det-mo;\r
384             description "This attribute indicates the mode of the Trace Identifier Mismatch (TIM) Detection function allowed values: OFF, SAPIonly, DAPIonly, SAPIandDAPI";\r
385         }\r
386         leaf deg-m {\r
387             type uint64;\r
388             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.";\r
389         }\r
390         container deg-thr {\r
391             uses deg-thr;\r
392             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.";\r
393         }\r
394         description "none";\r
395     }\r
396     grouping odu-tcm-mip-pac {\r
397         leaf tcm-field {\r
398             type uint64;\r
399             config false;\r
400             description "This attribute indicates the tandem connection monitoring field of the ODU OH.";\r
401         }\r
402         description "none";\r
403     }\r
404     grouping odu-mep-pac {\r
405         leaf dm-source {\r
406             type boolean;\r
407             description "This attribute is for configuring the delay measurement process at the trail termination function represented by the subject TTP object class. It models the MI_DM_Source MI signal. If MI_DM_Source is false, then the value of the DMp bit is determined by the RI_DM. If MI_DM_Source is true, then the value of the DMp bit is set to MI_DMValue.";\r
408         }\r
409         leaf dm-value {\r
410             type boolean;\r
411             description "This attribute is for setting the DMp and DMti bits of the delay measurement process. The value of 'true' sets the DMp and DMti bits to 0 and the value of 'false' to 1.";\r
412         }\r
413         leaf txti {\r
414             type string;\r
415             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.\r
416                 ";\r
417         }\r
418         uses odu-mip-pac;\r
419         description "none";\r
420     }\r
421     grouping odu-common-pac {\r
422         leaf odu-type {\r
423             type odu-type;\r
424             config false;\r
425             description "This attribute specifies the type of the ODU termination point.";\r
426         }\r
427         leaf odu-rate {\r
428             type uint64;\r
429             config false;\r
430             description "This attribute indicates the rate of the ODU termination point in Kbits/s. \r
431                 This attribute is Set at create; i.e., once created it cannot be changed directly. \r
432                 In case of resizable ODU flex, its value can be changed via HAO (not directly on the attribute). \r
433                 This attribute indicates the rate of the ODU termination point.\r
434                 Valid values shall be consistent with the oduType configuration as shown in Table 7-2/G.709 v5.\r
435                 Setting this value for fixed-rate ODUk types (e.g., ODU0), is optional.\r
436                 The default value is derived from the configured oduType, as defined in Table 7-2/G.709 v5.\r
437                 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.";\r
438         }\r
439         leaf odu-rate-tolerance {\r
440             type uint64;\r
441             config false;\r
442             description "This attribute indicates the rate tolerance of the ODU termination point. \r
443                 Valid values are real value in the unit of ppm. \r
444                 Standardized values are defined in Table 7-2/G.709.";\r
445         }\r
446         leaf number-of-odu-c {\r
447             type uint64;\r
448             default "1";\r
449             description "This attribute specifies the number of ODUC instances of the ODUCn.";\r
450         }\r
451         description "none";\r
452     }\r
453     grouping odu-pm-pac {\r
454         leaf n-bbe {\r
455             type uint64;\r
456             description "Near-end Background Block Error";\r
457         }\r
458         leaf f-bbe {\r
459             type uint64;\r
460             config false;\r
461             description "Far-end Background Block Error";\r
462         }\r
463         leaf n-ses {\r
464             type uint64;\r
465             description "Near-end Severely Errored Second";\r
466         }\r
467         leaf f-ses {\r
468             type uint64;\r
469             description "Far-end Severely Errored Second";\r
470         }\r
471         container uas {\r
472             uses uas-choice;\r
473             description "UnAvailable Second";\r
474         }\r
475         description "Instance of this object class contains the ODUP layer-specific Current Data. This object class is a subclass of the OTN_CurrentData object class.\r
476             PM data attributes: fBbe, fSes, nBbe, nSes. uas";\r
477     }\r
478     grouping odu-defect-pac {\r
479         leaf bdi {\r
480             type boolean;\r
481             config false;\r
482             description "Backward Defect Indication";\r
483         }\r
484         leaf deg {\r
485             type boolean;\r
486             config false;\r
487             description "Signal Degraded";\r
488         }\r
489         leaf lck {\r
490             type boolean;\r
491             config false;\r
492             description "Locked";\r
493         }\r
494         leaf oci {\r
495             type boolean;\r
496             config false;\r
497             description "Open Connection Indicator";\r
498         }\r
499         leaf ssf {\r
500             type boolean;\r
501             config false;\r
502             description "Server Signal Failure";\r
503         }\r
504         leaf tim {\r
505             type boolean;\r
506             config false;\r
507             description "Trail Trace Identifier Mismatch";\r
508         }\r
509         description "The valid list of defects raised on the entity. If the value of any attribute is true, then the corresponding defect is raised.";\r
510     }\r
511     grouping odu-connectivity-service-end-point-spec {\r
512         container odu-csep-ctp-pac {\r
513             uses odu-csep-ctp-pac;\r
514             description "none";\r
515         }\r
516         container odu-csep-ttp-pac {\r
517             uses odu-csep-ttp-pac;\r
518             description "none";\r
519         }\r
520         container odu-csep-common-pac {\r
521             uses odu-csep-common-pac;\r
522             description "none";\r
523         }\r
524         description "none";\r
525     }\r
526     grouping odu-csep-ctp-pac {\r
527         leaf tributary-port-number {\r
528             type uint64;\r
529             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.\r
530                 It will not apply if this ODUk CTP object is directly mapped into an OTUk TTP object (i.e. OTUk has no tributary slots).\r
531                 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.\r
532                 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).\r
533                 Thus, for example, M=8/32/80 for ODU2/ODU3/ODU4 server layers (respectively) using 1.25G slot size.\r
534                 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).\r
535                 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.\r
536                 In case of ODUk mapping into OTUk, there is no TPN field, so the tributaryPortNumber shall be zero.\r
537                 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.\r
538                 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.\r
539                 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.\r
540                 ";\r
541         }\r
542         leaf-list tributary-slot-list {\r
543             type uint64;\r
544             description "ITU-T G.875 (v5)\r
545                 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).\r
546                 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).\r
547                 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.\r
548                 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).\r
549                 Thus, for example, M=8/32/80 for ODU2/ODU3/ODU4 server layers (respectively) using 1.25G slot size.\r
550                 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 und is 20*n (see ITU-T Recommendation G.709 (v5) Clause 20.1).\r
551                 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).";\r
552         }\r
553         description "none";\r
554     }\r
555     grouping odu-csep-ttp-pac {\r
556         leaf configured-mapping-type {\r
557             type mapping-type;\r
558             description "This attributes indicates the configured mapping type.";\r
559         }\r
560         leaf configured-client-type {\r
561             type tapi-dsr:digital-signal-type;\r
562             config false;\r
563             description "This attribute configures the type of the client CTP of the server ODU TTP.";\r
564         }\r
565         description "none";\r
566     }\r
567     grouping odu-csep-common-pac {\r
568         leaf odu-type {\r
569             type odu-type;\r
570             description "This attribute specifies the type of the ODU termination point.";\r
571         }\r
572         leaf odu-rate {\r
573             type uint64;\r
574             description "This attribute indicates the rate of the ODU termination point in Kbits/s. \r
575                 This attribute is Set at create; i.e., once created it cannot be changed directly. \r
576                 In case of resizable ODU flex, its value can be changed via HAO (not directly on the attribute). \r
577                 This attribute indicates the rate of the ODU termination point.\r
578                 Valid values shall be consistent with the oduType configuration as shown in Table 7-2/G.709 v5.\r
579                 Setting this value for fixed-rate ODUk types (e.g., ODU0), is optional.\r
580                 The default value is derived from the configured oduType, as defined in Table 7-2/G.709 v5.\r
581                 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.";\r
582         }\r
583         leaf opu-tributary-slot-size {\r
584             type odu-slot-size;\r
585             description "This attribute is applicable for ODU2 and ODU3 CTP only. It indicates the slot size of the ODU CTP.";\r
586         }\r
587         leaf number-of-odu-c {\r
588             type uint64;\r
589             default "1";\r
590             description "This attribute specifies the number of ODUC instances of the ODUCn.";\r
591         }\r
592         description "none";\r
593     }\r
594 \r
595     /**************************\r
596     * package type-definitions\r
597     **************************/ \r
598     identity ODU_TYPE {\r
599         base tapi-common:LAYER_PROTOCOL_QUALIFIER;\r
600         description "none";\r
601     }\r
602     identity ODU_TYPE_ODU0 {\r
603         base ODU_TYPE;\r
604         description "none";\r
605     }\r
606     identity ODU_TYPE_ODU1 {\r
607         base ODU_TYPE;\r
608         description "none";\r
609     }\r
610     identity ODU_TYPE_ODU2 {\r
611         base ODU_TYPE;\r
612         description "none";\r
613     }\r
614     identity ODU_TYPE_ODU2E {\r
615         base ODU_TYPE;\r
616         description "none";\r
617     }\r
618     identity ODU_TYPE_ODU3 {\r
619         base ODU_TYPE;\r
620         description "none";\r
621     }\r
622     identity ODU_TYPE_ODU4 {\r
623         base ODU_TYPE;\r
624         description "none";\r
625     }\r
626     identity ODU_TYPE_ODU_FLEX {\r
627         base ODU_TYPE;\r
628         description "none";\r
629     }\r
630     identity ODU_TYPE_ODU_CN {\r
631         base ODU_TYPE;\r
632         description "none";\r
633     }\r
634     typedef odu-type {\r
635         type identityref {\r
636             base ODU_TYPE;\r
637         }\r
638         description "none";\r
639     }\r
640     typedef mapping-type {\r
641         type enumeration {\r
642             enum AMP {\r
643                 description "none";\r
644             }\r
645             enum BMP {\r
646                 description "none";\r
647             }\r
648             enum GFP-F {\r
649                 description "none";\r
650             }\r
651             enum GMP {\r
652                 description "none";\r
653             }\r
654             enum TTP_GFP_BMP {\r
655                 description "none";\r
656             }\r
657             enum NULL {\r
658                 description "none";\r
659             }\r
660         }\r
661         description "none";\r
662     }\r
663     typedef tim-det-mo {\r
664         type enumeration {\r
665             enum DAPI {\r
666                 description "none";\r
667             }\r
668             enum SAPI {\r
669                 description "none";\r
670             }\r
671             enum BOTH {\r
672                 description "none";\r
673             }\r
674             enum OFF {\r
675                 description "none";\r
676             }\r
677         }\r
678         description "List of modes for trace identifier mismatch detection.";\r
679     }\r
680     typedef odu-slot-size {\r
681         type enumeration {\r
682             enum 1G25 {\r
683                 description "none";\r
684             }\r
685             enum 2G5 {\r
686                 description "none";\r
687             }\r
688         }\r
689         description "none";\r
690     }\r
691     grouping odu-payload-type {\r
692         leaf named-payload-type {\r
693             type odu-named-payload-type;\r
694             description "none";\r
695         }\r
696         leaf hex-payload-type {\r
697             type uint64;\r
698             description "none";\r
699         }\r
700         description "none";\r
701     }\r
702     typedef odu-named-payload-type {\r
703         type enumeration {\r
704             enum UNKNOWN {\r
705                 description "none";\r
706             }\r
707             enum UNINTERPRETABLE {\r
708                 description "none";\r
709             }\r
710         }\r
711         description "none";\r
712     }\r
713     grouping deg-thr {\r
714         leaf deg-thr-value {\r
715             type uint64;\r
716             description "Percentage of detected errored blocks";\r
717         }\r
718         leaf deg-thr-type {\r
719             type deg-thr-type;\r
720             description "Number of errored blocks";\r
721         }\r
722         leaf percentage-granularity {\r
723             type percentage-granularity;\r
724             description "none";\r
725         }\r
726         description "Degraded Threshold, specify either the percentage or the number of Errored Blocks in the defined interval. \r
727             degThrValue when type is PERCENTAGE:\r
728             percentageGranularity is used to indicate the number of decimal points\r
729             So if percentageGranularity is ones, a value of 1 in degThrValue would indicate 1%, a value of 10 = 10%, a value of 100 = 100%\r
730             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%\r
731             degThrValue when type is NUMBER_ERROR_BLOCKS:\r
732             Number of Errored Blocks is captured in an integer value.";\r
733     }\r
734     typedef deg-thr-type {\r
735         type enumeration {\r
736             enum PERCENTAGE {\r
737                 description "Choice of % or Number of errored blocks";\r
738             }\r
739             enum NUMBER_ERRORED_BLOCKS {\r
740                 description "Number of % or blocks";\r
741             }\r
742         }\r
743         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.";\r
744     }\r
745     typedef tcm-status {\r
746         type enumeration {\r
747             enum NO_SOURCE_TC {\r
748                 description "TCM byte 3 (bits 6 7 8) -- 0 0 0, No source Tandem Connection";\r
749             }\r
750             enum IN_USE_WITHOUT_IAE {\r
751                 description "TCM byte 3 (bits 6 7 8) -- 0 0 1,  In use without IAE (Incoming Alignment Error)";\r
752             }\r
753             enum IN_USE_WITH_IAE {\r
754                 description "TCM byte 3 (bits 6 7 8) -- 0 1 0, In use with IAE (Incoming Alignment Error)";\r
755             }\r
756             enum RESERVED_1 {\r
757                 description "TCM byte 3 (bits 6 7 8) -- 0 1 1, Reserved for future international standardization";\r
758             }\r
759             enum RESERVED_2 {\r
760                 description "TCM byte 3 (bits 6 7 8) -- 1 0 0, Reserved for future international standardization";\r
761             }\r
762             enum LCK {\r
763                 description "TCM byte 3 (bits 6 7 8) -- 1 0 1, Maintenance signal: ODU-LCK";\r
764             }\r
765             enum OCI {\r
766                 description "TCM byte 3 (bits 6 7 8) -- 1 1 0, Maintenance signal: ODU-OCI";\r
767             }\r
768             enum AIS {\r
769                 description "TCM byte 3 (bits 6 7 8) -- 1 1 1, Maintenance signal: ODU-AIS";\r
770             }\r
771         }\r
772         description "See Table 15-5/G.709/Y.1331 ";\r
773     }\r
774     typedef tcm-mode {\r
775         type enumeration {\r
776             enum OPERATIONAL {\r
777                 description "none";\r
778             }\r
779             enum TRANSPARENT {\r
780                 description "none";\r
781             }\r
782             enum MONITOR {\r
783                 description "none";\r
784             }\r
785         }\r
786         description "List of value modes for the sink side of the tandem connection monitoring function.";\r
787     }\r
788     typedef tcm-monitoring {\r
789         type enumeration {\r
790             enum INTRUSIVE {\r
791                 description "none";\r
792             }\r
793             enum NON-INTRUSIVE {\r
794                 description "none";\r
795             }\r
796         }\r
797         description "Monitoring types for the tandem connection monitoring function.";\r
798     }\r
799     typedef tcm-extension {\r
800         type enumeration {\r
801             enum NORMAL {\r
802                 description "none";\r
803             }\r
804             enum PASS-THROUGH {\r
805                 description "none";\r
806             }\r
807             enum ERASE {\r
808                 description "none";\r
809             }\r
810         }\r
811         description "none";\r
812     }\r
813     typedef percentage-granularity {\r
814         type enumeration {\r
815             enum ONES {\r
816                 description "none";\r
817             }\r
818             enum ONE_TENTHS {\r
819                 description "value * (1/10)";\r
820             }\r
821             enum ONE_HUNDREDTHS {\r
822                 description "value * (1/100)";\r
823             }\r
824             enum ONE_THOUSANDTHS {\r
825                 description "value * (1/1000)";\r
826             }\r
827         }\r
828         description "none";\r
829     }\r
830     grouping uas-choice {\r
831         leaf bidirectional {\r
832             type boolean;\r
833             default "true";\r
834             description "none";\r
835         }\r
836         leaf uas {\r
837             type uint64;\r
838             description "none";\r
839         }\r
840         leaf nuas {\r
841             type uint64;\r
842             description "none";\r
843         }\r
844         leaf fuas {\r
845             type uint64;\r
846             description "none";\r
847         }\r
848         description "If bidirectional is TRUE then use the uas attribute, if bidirectional is FALSE use the nuas, and fuas attributes";\r
849     }\r
850     grouping fec-properties {\r
851         leaf pre-fec-ber {\r
852             type uint64;\r
853             description "counter: bit error rate before correction by FEC";\r
854         }\r
855         leaf post-fec-ber {\r
856             type uint64;\r
857             description "counter: bit error rate after correction by FEC";\r
858         }\r
859         leaf corrected-bytes {\r
860             type uint64;\r
861             description "Bytes corrected between those that were received corrupted";\r
862         }\r
863         leaf corrected-bits {\r
864             type uint64;\r
865             description "Bits corrected between those that were received corrupted";\r
866         }\r
867         leaf uncorrectable-bytes {\r
868             type uint64;\r
869             description "Bytes that could not be corrected by FEC";\r
870         }\r
871         leaf uncorrectable-bits {\r
872             type uint64;\r
873             description "Bits that could not be corrected by FEC";\r
874         }\r
875         description "none";\r
876     }\r
877 \r
878 }\r