blob: 0c5b6f627e7df2a395730a0500a61da75dbd3501 [file] [log] [blame]
Elia Battiston4750d3c2022-07-14 13:24:56 +00001submodule bbf-xpon-channel-pair-body {
2 yang-version 1.1;
3 belongs-to bbf-xpon {
4 prefix bbf-xpon;
5 }
6
7 import bbf-xpon-types {
8 prefix bbf-xpon-types;
9 }
10 import ietf-interfaces {
11 prefix if;
12 }
13 import bbf-xpon-if-type {
14 prefix bbf-xponift;
15 }
16 include bbf-xpon-base;
17 include bbf-xpon-wavelength-profile-body;
18
19 organization
20 "Broadband Forum <https://www.broadband-forum.org>
21 Fiber Access Networks Work Area";
22 contact
23 "Comments or questions about this Broadband Forum YANG module
24 should be directed to <mailto:help@broadband-forum.org>.
25
26 Editor: Joey Boyd, ADTRAN
27
28 Editor: Samuel Chen, Broadcom
29
30 Editor: Robert Peschi, Nokia
31
32 WA Director: Marta Seda, Calix
33
34 WA Director: Lin Wei, Huawei";
35 description
36 "This submodule contains a collection of YANG definitions for
37 managing channel pairs.
38
39 Copyright (c) 2018, Broadband Forum
40
41 Redistribution and use in source and binary forms, with or
42 without modification, are permitted provided that the following
43 conditions are met:
44
45 1. Redistributions of source code must retain the above copyright
46 notice, this list of conditions and the following disclaimer.
47
48 2. Redistributions in binary form must reproduce the above
49 copyright notice, this list of conditions and the following
50 disclaimer in the documentation and/or other materials
51 provided with the distribution.
52
53 3. Neither the name of the copyright holder nor the names of its
54 contributors may be used to endorse or promote products
55 derived from this software without specific prior written
56 permission.
57
58 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
59 CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,
60 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
61 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
62 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
63 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
64 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
65 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
66 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
67 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
68 STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
69 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
70 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
71
72 The above license is used as a license under copyright only.
73 Please reference the Forum IPR Policy for patent licensing terms
74 <https://www.broadband-forum.org/ipr-policy>.
75
76 Any moral rights which are necessary to exercise under the above
77 license grant are also deemed granted under this license.
78
79 This version of this YANG module is part of TR-385; see
80 the TR itself for full legal notices.";
81
82 revision 2019-02-25 {
83 description
84 "Initial revision.
85 * Approval Date: 2019-02-25.
86 * Publication Date: 2019-02-25.";
87 reference
88 "TR-385: ITU-T PON YANG Modules
89 <https://www.broadband-forum.org/technical/download/
90 TR-385.pdf>";
91 }
92
93 grouping channel-pair-config-data {
94 description
95 "All configuration data for a channel pair.";
96 leaf channel-group-ref {
97 type if:interface-ref;
98 must "derived-from-or-self(/if:interfaces"
99 + "/if:interface[if:name=current()]/if:type,"
100 + "'bbf-xponift:channel-group')" {
101 error-message
102 "Must reference a channel group.";
103 }
104 description
105 "Reference to channel group. Note that it is not allowed
106 to have several channel-pairs with identical downsream
107 channel-ID or upstream channel-ID or transmit wavelength
108 simultaneously active on the same chnanel-group.
109 In particular there may be only a maximum of one XGS-PON,
110 one XG-PON and one G-PON active on the same channel group.
111 The YANG model does not enforce these constraints which are
112 assumed to be enforced or verified by the OLT network
113 element software.";
114 }
115 leaf channel-partition-ref {
116 type if:interface-ref;
117 must "derived-from-or-self(/if:interfaces"
118 + "/if:interface[if:name=current()]/if:type,"
119 + "'bbf-xponift:channel-partition') and "
120 + "/if:interfaces/if:interface[if:name=current()]"
121 + "/channel-partition/channel-group-ref="
122 + "../channel-group-ref" {
123 error-message
124 "Must reference a channel partition associated with the same
125 channel group this pair is associated with.";
126 }
127 description
128 "Reference to channel partition.";
129 }
130 leaf wavelength-prof-ref {
131 when "derived-from-or-self(../channel-pair-type,"
132 + "'bbf-xpon-types:ngpon2-twdm') or derived-from-or-self"
133 + "(../channel-pair-type, 'bbf-xpon-types:ngpon2-ptp') or "
134 + "derived-from-or-self(../channel-pair-type,"
135 + "'bbf-xpon-types:xgs')";
136 type wavelength-prof-ref;
137 description
138 "An NG-PON2 channel pair needs to point to an existing
139 wavelength profile. Similar for XGS-PON (ref: ITU-T G.9807.1
140 A.8.2: Basic Wavelength and Optional Wavelength sets). The
141 wavelength for XG-PON and G-PON is fixed per ITU-T standards
142 and needs not be configured via a wavelength profile.";
143 }
144 leaf channel-pair-type {
145 type identityref {
146 base bbf-xpon-types:channel-pair-type-base;
147 }
148 mandatory true;
149 description
150 "Represents the type of channel pair
151 (e.g. TWDM NG-PON2, PtP NG-PON2, XGS-PON, XG-PON,
152 G-PON).";
153 }
154 leaf channel-pair-line-rate {
155 when "derived-from-or-self(../channel-pair-type,"
156 + "'bbf-xpon-types:ngpon2-twdm') or derived-from-or-self"
157 + "(../channel-pair-type, 'bbf-xpon-types:ngpon2-ptp')";
158 type identityref {
159 base bbf-xpon-types:channel-pair-line-rate-profile-base;
160 }
161 default "bbf-xpon-types:unplanned-cp-line-rate";
162 description
163 "Represents the planned downstream/upstream channel pair
164 speed for NG-PON2. The line rates for
165 XGS-PON (downstream 10Gbps/upstream 10Gbps),
166 XG-PON(downstream 10Gbps/upstream 2.5Gbps) and
167 G-PON (downstream 2.5Gbps/upstream 1.2Gbps)
168 are fixed per ITU-T standards and need not be configured.";
169 }
170 leaf gpon-pon-id-interval {
171 when "derived-from-or-self"
172 + "(../channel-pair-type, 'bbf-xpon-types:gpon')";
173 type uint16 {
174 range "0..60";
175 }
176 units "seconds";
177 default "0";
178 description
179 "This attribute is used to specify the frequency of
180 transmission of the periodic downstream PON-ID PLOAM
181 message for this G-PON. See ITU-T G.984.3 C1. The default
182 value '0' allows not to generate this PLOAM message,
183 fulfilling ITU-T G.984.3 C2 requirement.
184 This is only applicable to G-PON.";
185 reference
186 "ITU-T G.984.3 C1
187 ITU-T G.984.3 C2";
188 }
189 }
190
191 grouping channel-pair-state-data {
192 description
193 "All state data for a channel pair.";
194 leaf actual-downstream-wavelength {
195 type uint32 {
196 range "0 | 148000..162000";
197 }
198 units "0.01nm";
199 default "0";
200 description
201 "Represents the Actual Downstream wavelength for the
202 channel pair for any of the NG-PON2, XGS-PON, XG-PON or
203 G-PON case. It is expressed in hundredths of nm to fit
204 ITU-T precision requirements.";
205 }
206 leaf primary-ct-assigned {
207 type boolean;
208 default "false";
209 description
210 "When true this means that a channel termination with
211 Primary type B role has been assigned to this channel pair.";
212 reference
213 "ITU-T G.989.3 clause 18.2";
214 }
215 leaf secondary-ct-assigned {
216 type boolean;
217 default "false";
218 description
219 "When true this means that a channel termination with
220 Secondary type B role has been assigned to this
221 channel pair.";
222 reference
223 "ITU-T G.989.3 clause 18.2";
224 }
225 }
226
227 augment '/if:interfaces/if:interface/bbf-xpon:channel-pair' {
228 description
229 "Configuration of an xPON channel pair.";
230 uses channel-pair-config-data;
231 }
232
233 augment '/if:interfaces-state/if:interface/bbf-xpon:channel-pair' {
234 description
235 "State data of an xPON channel pair.";
236 uses channel-pair-state-data;
237 }
238}