921ac438f39bd7d07548fbd4c5e0c494f42ddb42
[transportpce.git] / ordmodels / device / src / main / yang / org-openroadm-optical-channel-interfaces@2016-10-14.yang
1 module org-openroadm-optical-channel-interfaces {
2   namespace "http://org/openroadm/optical-channel-interfaces";
3   prefix org-openroadm-optical-channel-interfaces;
4
5   import org-openroadm-device {
6     prefix org-openroadm-device;
7   }
8   import org-openroadm-interfaces {
9     prefix openROADM-if;
10   }
11   import org-openroadm-common-types {
12     prefix org-openroadm-common-types;
13     revision-date 2016-10-14;
14   }
15
16   organization "Open ROADM MSA";
17   contact
18     "OpenROADM.org";
19   description
20     "YANG definitions for device facility och interfaces.
21
22      Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
23      AT&T Intellectual Property.  All other rights reserved.
24
25      Redistribution and use in source and binary forms, with or without modification,
26      are permitted provided that the following conditions are met:
27
28      * Redistributions of source code must retain the above copyright notice, this
29        list of conditions and the following disclaimer.
30      * Redistributions in binary form must reproduce the above copyright notice,
31        this list of conditions and the following disclaimer in the documentation and/or
32        other materials provided with the distribution.
33      * Neither the Members of the Open ROADM MSA Agreement nor the names of its
34        contributors may be used to endorse or promote products derived from this software
35        without specific prior written permission.
36
37      THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
38      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
39      WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
40      IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
41      INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
42      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
43      OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
44      WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
45      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
46      POSSIBILITY OF SUCH DAMAGE.
47
48      Also contains code components extracted from IETF Interfaces.  These code components
49      are copyrighted and licensed as follows:
50
51      Copyright (c) 2016 IETF Trust and the persons identified as the document authors.
52      All rights reserved.
53
54      This document is subject to BCP 78 and the IETF Trust’s Legal Provisions Relating
55      to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of
56      publication of this document. Please review these documents carefully, as they
57      describe your rights and restrictions with respect to this document. Code Components
58      extracted from this document must include Simplified BSD License text as described in
59      Section 4.e of the Trust Legal Provisions and are provided without warranty as
60      described in the Simplified BSD License.";
61
62   revision 2016-10-14 {
63     description
64       "Version 1.2";
65   }
66
67   identity rate-identity {
68     description
69       "A unique rate identification";
70   }
71
72   identity R200G {
73     base rate-identity;
74     description
75       "Identity for 200G Rate";
76   }
77
78   identity R100G {
79     base rate-identity;
80     description
81       "Identity for 100G Rate";
82   }
83
84   identity R10.7G {
85     base rate-identity;
86     description
87       "Identity for 10.7G Rate";
88   }
89
90   identity R11.1G {
91     base rate-identity;
92     description
93       "Identity for 11.1G Rate";
94   }
95
96   grouping och-attributes {
97     description
98       "Optical Channel attributes";
99     leaf rate {
100       type identityref {
101         base rate-identity;
102       }
103       description
104         "rate";
105     }
106     leaf wavelength-number {
107       type uint32;
108     }
109     leaf modulation-format {
110       type enumeration {
111         enum "bpsk" {
112           value 0;
113           description
114             "binary phase-shift keying";
115         }
116         enum "dc-dp-bpsk" {
117           value 1;
118           description
119             "DC dual-polarization binary phase-shift keying";
120         }
121         enum "qpsk" {
122           value 2;
123           description
124             "quadrature phase-shift keying";
125         }
126         enum "dp-qpsk" {
127           value 3;
128           description
129             "dual-polarization binary phase-shift keying";
130         }
131         enum "qam16" {
132           value 4;
133           description
134             "quadrature amplitude modulation 16";
135         }
136         enum "dp-qam16" {
137           value 5;
138           description
139             "dual-polarization quadrature amplitude modulation 16";
140         }
141         enum "dc-dp-qam16" {
142           value 6;
143           description
144             "DC dual-polarization quadrature amplitude modulation 16";
145         }
146         enum "qam8" {
147           value 7;
148           description
149             "quadrature amplitude modulation 8";
150         }
151         enum "dp-qam8" {
152           value 8;
153           description
154             "dual-polarization quadrature amplitude modulation 8";
155         }
156         enum "dc-dp-qam8" {
157           value 9;
158           description
159             "DC dual-polarization quadrature amplitude modulation 8";
160         }
161       }
162       description
163         "modulation format";
164     }
165     leaf transmit-power {
166       type org-openroadm-common-types:power-dBm;
167       description
168         "The target transmit power for this channel. When set, the xponder will work to ensure that port-current-power reaches this level. Applicable only to channel on top of xpdr-network port";
169     }
170   }
171
172   grouping och-container {
173     container och {
174       description
175         "Optical Channel (OCh):
176          Models the optical channel interfaces for an Optical White Box.";
177       uses och-attributes;
178     }
179   }
180
181   augment "/org-openroadm-device:org-openroadm-device/org-openroadm-device:interface" {
182     when "org-openroadm-device:type = 'openROADM-if:opticalChannel'";
183     uses och-container;
184   }
185 }