| submodule bbf-xpon-channel-termination-body { |
| yang-version 1.1; |
| belongs-to bbf-xpon { |
| prefix bbf-xpon; |
| } |
| |
| import ietf-interfaces { |
| prefix if; |
| } |
| import bbf-xpon-types { |
| prefix bbf-xpon-types; |
| } |
| import bbf-xpon-if-type { |
| prefix bbf-xponift; |
| } |
| include bbf-xpon-base; |
| |
| 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:help@broadband-forum.org>. |
| |
| Editor: Joey Boyd, ADTRAN |
| |
| Editor: Samuel Chen, Broadcom |
| |
| Editor: Robert Peschi, Nokia |
| |
| WA Director: Marta Seda, Calix |
| |
| WA Director: Lin Wei, Huawei"; |
| description |
| "This submodule contains a collection of YANG definitions for |
| managing channel terminations. |
| |
| Copyright (c) 2018, 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-385; see |
| the TR itself for full legal notices."; |
| |
| 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>"; |
| } |
| |
| grouping channel-termination-config-data { |
| description |
| "All configuration data for a channel termination."; |
| leaf channel-pair-ref { |
| type if:interface-ref; |
| must "derived-from-or-self(/if:interfaces" |
| + "/if:interface[if:name=current()]/if:type," |
| + "'bbf-xponift:channel-pair') and " |
| + "/if:interfaces/if:interface[if:name=current()]/" |
| + "bbf-xpon:channel-pair/bbf-xpon:channel-pair-type = " |
| + "../bbf-xpon:channel-termination-type" { |
| error-message |
| "Must reference a channel pair with the same xPON type as |
| the channel termination."; |
| } |
| description |
| "Reference to a channel pair."; |
| } |
| leaf channel-termination-type { |
| type identityref { |
| base bbf-xpon-types:channel-pair-type-base; |
| } |
| mandatory true; |
| description |
| "Represents the type of channel termination (e.g. |
| TWDM NG-PON2, PtP NG-PON2, XGS-PON, XG-PON, G-PON)."; |
| } |
| leaf meant-for-type-b-primary-role { |
| type boolean; |
| description |
| "When true, the channel termination is meant to play type B |
| protection Primary role when it refers to a channel pair. |
| When false, the channel termination is meant to play |
| type B protection Secondary role when it refers to a |
| channel pair."; |
| reference |
| "ITU-T G.898.3 Amendment 1 (11/2016), section 18.1."; |
| } |
| leaf ngpon2-twdm-admin-label { |
| when "derived-from-or-self" |
| + "(../bbf-xpon:channel-termination-type," |
| + "'bbf-xpon-types:ngpon2-twdm')"; |
| type uint32 { |
| range "0..268435455" { |
| description |
| "0 to 2^28-1."; |
| } |
| } |
| description |
| "For TWDM NG-PON2, the admin-label is configurable and is |
| 28 bits long. It is the configurable part of the PON-ID |
| which is available as state data."; |
| reference |
| "ITU-T G.989.3 section 6.1.5.3"; |
| } |
| leaf ngpon2-ptp-admin-label { |
| when "derived-from-or-self" |
| + "(../bbf-xpon:channel-termination-type," |
| + "'bbf-xpon-types:ngpon2-ptp')"; |
| type uint32 { |
| range "0..4194303" { |
| description |
| "0 to 2^22-1."; |
| } |
| } |
| description |
| "For PtP NG-PON2, the admin-label is configurable and is |
| 22 bits long. It is the configurable part of the PON-ID |
| which is available as state data."; |
| reference |
| "ITU-T G.989.3 section 6.1.5.3"; |
| } |
| leaf xgs-pon-id { |
| when "derived-from-or-self" |
| + "(../bbf-xpon:channel-termination-type," |
| + "'bbf-xpon-types:xgs')"; |
| type uint32; |
| description |
| "For XGS-PON, the PON-ID is entirely configurable and is |
| 32 bits long. The PON-ID is also available as state |
| data."; |
| reference |
| "ITU-T G.9807.1 section C.10.1.1.1.3"; |
| } |
| leaf xgpon-pon-id { |
| when "derived-from-or-self" |
| + "(../bbf-xpon:channel-termination-type," |
| + "'bbf-xpon-types:xgpon')"; |
| type uint32; |
| description |
| "For XG-PON, the PON-ID is entirely configurable and is |
| 32 bits long. The PON-ID is also available as state |
| data."; |
| reference |
| "ITU-T G.987.3 section E.2"; |
| } |
| leaf gpon-pon-id { |
| when "derived-from-or-self" |
| + "(../bbf-xpon:channel-termination-type," |
| + "'bbf-xpon-types:gpon')"; |
| type bbf-xpon-types:string-hex14; |
| description |
| "For G-PON, the PON-ID is entirely configurable with |
| any binary value over 7 bytes. The PON-ID is also |
| available as state data."; |
| reference |
| "ITU-T G.984.3 section C.2.2"; |
| } |
| leaf pon-tag { |
| when "not(derived-from-or-self" |
| + "(../bbf-xpon:channel-termination-type," |
| + "'bbf-xpon-types:gpon'))"; |
| type string { |
| pattern '[0-9a-fA-F]{16}'; |
| } |
| description |
| "8 bytes. Each octet is represented by two hex values. |
| Used to specify channel-pair-TAG attribute in NG-PON2, |
| XGS-PON and XG-PON downstream PLOAM messages. |
| The PON-TAG is not relevant for G-PON."; |
| } |
| leaf ber-calc-period { |
| type uint32 { |
| range "1..864000"; |
| } |
| units "0.1s"; |
| default "10"; |
| description |
| "Measurement period used to determine if an SDi alarm |
| has occurred for an ONU."; |
| reference |
| "ITU-T G.984.3 section 11.1.3"; |
| } |
| leaf location { |
| type identityref { |
| base bbf-xpon-types:location-base; |
| } |
| description |
| "Indicates whether the CT is physically inside the OLT i.e. |
| can be related to a port in the OLT hardware model or |
| physically part of another OLT."; |
| } |
| } |
| |
| grouping channel-termination-oper-data { |
| description |
| "All oper data for a channel termination"; |
| leaf pon-id-display { |
| type bbf-xpon-types:pon-id-display-type; |
| description |
| "The PON-ID of the channel termination. |
| Per ITU-T G.989.3, ITU-T G.9807.1, ITU-T G.987.3 and |
| ITU-T G.984.3, depending of the xPON type some part |
| of this object is configured by the operator and the |
| other part is genuine operational data determined by |
| the system."; |
| } |
| leaf type-b-state { |
| type identityref { |
| base bbf-xpon-types:type-b-state-base; |
| } |
| description |
| "The type B protection state of the CT; it will typically |
| be active/standby. When the channel termination is not yet |
| referring to a channel pair, it is not part of any type B |
| protection scheme (and not usable either, btw); in that |
| case its type-b-state has the value 'not-part-of-type-b."; |
| reference |
| "ITU-T G.989.3 Amendment 1 clause 18.2"; |
| } |
| leaf location { |
| type identityref { |
| base bbf-xpon-types:location-base; |
| } |
| description |
| "Indicates whether the CT is physically inside the OLT i.e. |
| can be related to a port in the OLT hardware model or |
| physically part of another OLT."; |
| } |
| } |
| |
| augment '/if:interfaces/if:interface/bbf-xpon:channel-termination' { |
| description |
| "Configuration of an xPON channel termination."; |
| uses channel-termination-config-data; |
| } |
| |
| augment '/if:interfaces-state/if:interface/bbf-xpon:channel-' |
| + 'termination' { |
| description |
| "State data of an xPON channel termination."; |
| uses channel-termination-oper-data; |
| } |
| } |