This submodule contains a collection of YANG definitions for managing channel groups. Copyright (c) 2018-2023, Broadband Forum ...
Version: 2023-06-21
submodule bbf-xpon-channel-group-body { yang-version 1.1; belongs-to bbf-xpon { prefix bbf-xpon; } import bbf-xpon-types { prefix bbf-xpon-types; } import bbf-yang-types { prefix bbf-yang; } import ietf-interfaces { prefix if; } import bbf-xpon-if-type { prefix bbf-xponift; } include bbf-xpon-base; include bbf-xpon-channel-partition-body; organization "Broadband Forum <https://www.broadband-forum.org> Fiber Access Networks Work Area"; contact "Comments or questions about this Broadband Forum YANG module should be directed to <mailto:info@broadband-forum.org>. Editor: Robert Peschi, Nokia Editor: Kevin Noll, Vecima PS Leader: Joey Boyd, Adtran WA Director: Marta Seda, Calix"; description "This submodule contains a collection of YANG definitions for managing channel groups. Copyright (c) 2018-2023, Broadband Forum Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The above license is used as a license under copyright only. Please reference the Forum IPR Policy for patent licensing terms <https://www.broadband-forum.org/ipr-policy>. Any moral rights which are necessary to exercise under the above license grant are also deemed granted under this license. This version of this YANG module is part of TR-385i2a1; see the TR itself for full legal notices."; revision "2023-06-21" { description "Issue 2 Amendment 1. * Approval Date: 2023-06-21. * Publication Date: 2023-06-21."; reference "TR-385i2a1: ITU-T PON YANG Modules <https://www.broadband-forum.org/technical/download/ TR-385_Issue-2_Amendment-1.pdf>"; } revision "2020-10-13" { description "Issue 2. * Approval Date: 2020-10-13. * Publication Date: 2020-10-13."; reference "TR-385i2: ITU-T PON YANG Modules <https://www.broadband-forum.org/technical/download/ TR-385_Issue-2.pdf>"; } revision "2019-02-25" { description "Initial revision. * Approval Date: 2019-02-25. * Publication Date: 2019-02-25."; reference "TR-385: ITU-T PON YANG Modules <https://www.broadband-forum.org/technical/download/ TR-385.pdf>"; } typedef alloc-id-values { type string { pattern '((25[6-9]|2[6-9][0-9]|[3-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|1[0-6][0-3][0-8][0-3])([,-](25[6-9]|2[6-9][0-9]|[3-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|1[0-6][0-3][0-8][0-3]))*)?'; } description "A list of non-overlapping Allocation Identifier (Alloc-ID) values in ascending order, between 1024 to 16383 for G.9807.1 XGS-PON/G.989.3 NG-PON2 compliant Optical Line Terminations (OLT) and 256 to 4095 for G.984.3 GPON-compliant Optical Line Terminations (OLT). The format of this string can be any of the following: single value Example: '1024' comma separated list of values Example: '1024,1030,16000' range of values Example: '1024-1300' comma separated list of ranges Example: '1025-1300,1301-1400,1500-1600' comma separated list of values and ranges Example: '1024-1300,1301,1303-1310'."; } typedef gemport-values { type string { pattern '((25[4-9]|2[6-9][0-9]|[3-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-6][0-5][0-5][0-3][0-4])([,-](25[4-9]|2[6-9][0-9]|[3-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-6][0-5][0-5][0-3][0-4]))*)?'; } description "A list of non-overlapping xGEM/GPON Encapsulation Method (GEM) port-ID values in ascending order, between 1021 to 65534 for G.9807.1 XGS-PON/G.989.3 NG-PON2 compliant Optical Line Terminations (OLT) and 254 to 4095 for G.984.3 GPON-compliant Optical Line Terminations (OLT). The format of this string can be any of the following: single value Example: '1024' comma separated list of values Example: '1024,1030,16000' range of values Example: '1024-1300' comma separated list of ranges Example: '1025-1300,1301-1400,1500-1600' comma separated list of values and ranges Example: '1024-1300,1301,1303-1310'."; } typedef onu-id-values { type string { pattern '(([0-9]|[1-9][0-9]|[1-9][0-9][0-9]|10[0-2]0)([,-]([0-9]|[1-9][0-9]|[1-9][0-9][0-9]|10[0-2]0))*)?'; } description "A list of non-overlapping Optical Network Unit Identifier (ONU-ID) values in ascending order, between 0 to 1020 for G.9807.1 XGS-PON/G.989.3 NG-PON2 compliant Optical Line Terminations (OLT) and 0 to 253 for G.984.3 GPON-compliant Optical Line Terminations (OLT). The format of this string can be any of the following: single value Example: '1020' comma separated list of values Example: '1,30,600' range of values Example: '30-60' comma separated list of ranges Example: '30-60,80-90' comma separated list of values and ranges Example: '1,30-60,70,90-100'."; } feature pon-pools { description "Indicates support of assignable PON resources (Allocation Identifier (Alloc-ID), GPON Encapsulation Method port Identifier (GEM port-ID), Optical Network Unit Identifier (ONU-ID) into PON pools."; } grouping channel-group-config-data { description "All configuration data for a channel group."; leaf polling-period { type uint32 { range "1..864000"; } units "0.1 seconds"; default "100"; description "The period between two consecutive times the auto-detection procedure on each pair in the group is executed. Used in NG-PON2 for quiet window control. Value represents tenths of seconds. (e.g., 1 = 0.1 second, 864000 = 24 hours)."; } leaf raman-mitigation { type bbf-xpon-types:raman-mitigation-type; default "raman-none"; description "NG-PON2 Raman mitigation coding schemes when using Radio Frequency (RF) video overlay."; reference "ITU-T G.989.2 Appendix IX"; } leaf system-id { type string { pattern '[0-9a-fA-F]{5}'; } description "A 20-bit number that identifies a specific NG-PON2 system (typically a channel group) among multiple NG-PON2 systems under a common administation. It is defined as NGSYS ID in G.989.3 clause 6.1.5.2 and may be coded to support administration such as name, geographical location, servie profile (see also G.989.3 table VIII.2)."; reference "ITU-T G.989.3 clause 6.1.5.2; ITU-T G.989.3 table VIII.2"; } container pon-pools { if-feature bbf-xpon:pon-pools; description "Manages per channel termination PON resources allocation. A channel termination can only be a member of a single channel group. Within a channel group, PON resources should not overlap and only be assigned to a single channel termination."; list pon-pool { key "name"; min-elements 1; max-elements 8; description "The allocated PON pools of Allocation Identifiers (Alloc-ID), GPON Encapsulation Method port Identifiers (GEM port-ID) and Optical Network Unit Identifiers (ONU-ID)."; leaf name { type bbf-yang:string-ascii64; description "Name of the PON pool."; } leaf channel-termination-ref { type if:interface-ref; must "derived-from-or-self(/if:interfaces/if:interface[if:name = current()]/if:type,'bbf-xponift:channel-termination')" { error-message "Referenced interface must be of type 'channel-termination'."; } description "Reference to a channel termination to which PON resource pools will be assigned."; } leaf alloc-id-values { type alloc-id-values; description "The list of assignable Allocation Identifiers (Alloc-ID) between 1024 to 16383 for G.9807.1 XGS-PON/G.989.3 NG-PON2 compliant Optical Line Terminations (OLT) and 256 to 4095 for G.984.3 GPON-compliant Optical Line Terminations (OLT). A single value or range of values can be specified. The format of this string can be any of the following: single value Example: '1024' comma separated list of values Example: '1024,1030,16000' range of values Example: '1024-1300' comma separated list of ranges Example: '1025-1300,1301-1400,1500-1600' comma separated list of values and ranges Example: '1024-1300,1301,1303-1310'."; } leaf gemport-values { type gemport-values; description "The list of assignable GPON Encapsulation Method (GEM) port Identifiers (IDs) between 1021 to 65534 for G.9807.1 XGS-PON/G.989.3 NG-PON2 compliant Optical Line Terminations (OLT) and 254 to 4095 for G.984.3 GPON-compliant Optical Line Terminations (OLT). A single value or range of values can be specified. single value Example: '1024' comma separated list of values Example: '1024,1030,16000' range of values Example: '1024-1300' comma separated list of ranges Example: '1025-1300,1301-1400,1500-1600' comma separated list of values and ranges Example: '1024-1300,1301,1303-1310'."; } leaf onu-id-values { type onu-id-values; description "The list of assignable Optical Network Unit Identifier (ONU-ID) values between 0 to 1020 for G.9807.1 XGS-PON/ G.989.3 NG-PON2 compliant Optical Line Terminations (OLT) and 0 to 253 for G.984.3 GPON-compliant Optical Line Terminations (OLT). The format of this string can be any of the following: single value Example: '1020' comma separated list of values Example: '1,30,600' range of values Example: '30-60' comma separated list of ranges Example: '30-60,80-90' comma separated list of values and ranges Example: '1,30-60,70,90-100'."; } } // list pon-pool } // container pon-pools } // grouping channel-group-config-data grouping channel-group-state-data { description "All state data for a channel group."; container allocated-upstream-channel-ids { description "The list maintained by the system of all the upstream channel-id's which are already allocated to the channel group. For NG-PON2, the applicable values are [0..7], for XGS-PON a dedicated value 'xgs' is applicable rather than value '0': this is to allow the coexistence of XGS-PON with NG-PON2 using channel-id=0. This list is a helper to avoid upstream channel-id conflicts when allocating channel pairs to a channel group."; leaf-list channel-id { type bbf-xpon-types:composite-channel-id-type; description "An upstream channel-id in use on the channel group. For NG-PON2, value must be in [0..7]. For XGS-PON, value must be 'xgs'."; } } // container allocated-upstream-channel-ids container allocated-downstream-channel-ids { description "The list maintained by the system of all the downstream channel-id's which are already allocated to the channel group. For NG-PON2, the applicable values are in [0..7], for XGS-PON a dedicated value 'xgs' is applicable rather than value '0': this is to allow the coexistence of XGS-PON with NG-PON2 using channel-id=0. This list is a helper to avoid downstream channel-id conflicts when allocating channel pairs to a channel group."; leaf-list downstream-channel-id { type bbf-xpon-types:composite-channel-id-type; description "A downstream channel-id in use on the channel group. For NG-PON2, value must be in [0..7]. For XGS-PON, value must be 'xgs'."; } } // container allocated-downstream-channel-ids container allocated-downstream-wavelengths { description "The list maintained by the system of all the downstream wavelengths already allocated to the channel group including all of the NG-PON2, XGS-PON, XG-PON and GPON cases. This list is a helper to avoid wavelength conflicts when allocating channel pairs to a channel group."; leaf-list wavelength { type bbf-xpon-types:composite-downstream-wavelength-type; description "A downstream wavelength already allocated to the channel group. For NG-PON2 it must be a value in [156000..161000] expressed in hundredths of nm to fit ITU-T precision requirements. For the XGS-PON, XG-PON and GPON cases, it must have resp. the value 'xgs', 'xgpon' or 'gpon'."; } } // container allocated-downstream-wavelengths container pon-pools { if-feature bbf-xpon:pon-pools; description "Reports the available and consumed per channel termination PON resources allocation."; list pon-pool { key "name"; min-elements 1; max-elements 8; description "A channel termination's current pool of Allocation Identifiers (Alloc-ID), GPON Encapsulation Method port Identifiers (GEM port-ID) and Optical Network Unit Identifiers (ONU-ID)."; leaf name { type bbf-yang:string-ascii64; description "Name of the PON pool."; } leaf channel-termination-ref { type if:interface-state-ref; must "derived-from-or-self(/if:interfaces-state/if:interface[if:name = current()]/if:type,'bbf-xponift:channel-termination')"; description "Reference the configured channel termination that is being reported against."; } container consumed-resources { description "The consumed PON resources."; leaf alloc-id-values { type alloc-id-values; description "The list of consumed Allocation Identifiers (Alloc-ID). For example: '1024-1300,1301,1303-1310'."; } leaf gemport-values { type gemport-values; description "The list of consumed GPON Encapsulation Method port Identifiers (GEM port-ID). For example: '1024-1300,1301,1303-1310'."; } leaf onu-ids { type onu-id-values; description "The list of consumed Optical Network Unit Identifiers (ONU-ID). For example: '1,30-60,70,90-100'."; } } // container consumed-resources container available-resources { description "The available/unused PON resources."; leaf alloc-id-values { type alloc-id-values; description "The list of available Allocation Identifiers (Alloc-ID). For example: '1024-1300,1301,1303-1310'."; } leaf gemport-values { type gemport-values; description "The list of available GPON Encapsulation Method port Identifiers (GEM port-IDs). For example: '1024-1300,1301,1303-1310'."; } leaf onu-ids { type onu-id-values; description "The list of available Optical Network Unit Identifiers (ONU-ID). For example: '1,30-60,70,90-100'."; } } // container available-resources } // list pon-pool } // container pon-pools } // grouping channel-group-state-data augment /if:interfaces/if:interface/bbf-xpon:channel-group { description "Configuration of an xPON channel group."; uses channel-group-config-data; } augment /if:interfaces-state/if:interface/bbf-xpon:channel-group { description "State data of an xPON channel group."; uses channel-group-state-data; } } // submodule bbf-xpon-channel-group-body
© 2023 YumaWorks, Inc. All rights reserved.