blob: 513cee83c7228f6cceee65910151b0d6ce1a71ba [file] [log] [blame]
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;
}
}