Add NETCONF notification for ONU activation and Kafka client to receive events, update dependencies
Change-Id: I5f768fa8077ef7c64e00a534744ca47492344935
diff --git a/build/yang-files/notification/submodules/bbf-xpon-channel-pair-body.yang b/build/yang-files/notification/submodules/bbf-xpon-channel-pair-body.yang
new file mode 100644
index 0000000..0c5b6f6
--- /dev/null
+++ b/build/yang-files/notification/submodules/bbf-xpon-channel-pair-body.yang
@@ -0,0 +1,238 @@
+submodule bbf-xpon-channel-pair-body {
+ yang-version 1.1;
+ belongs-to bbf-xpon {
+ prefix bbf-xpon;
+ }
+
+ import bbf-xpon-types {
+ prefix bbf-xpon-types;
+ }
+ import ietf-interfaces {
+ prefix if;
+ }
+ import bbf-xpon-if-type {
+ prefix bbf-xponift;
+ }
+ include bbf-xpon-base;
+ include bbf-xpon-wavelength-profile-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: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 pairs.
+
+ 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-pair-config-data {
+ description
+ "All configuration data for a channel pair.";
+ leaf channel-group-ref {
+ type if:interface-ref;
+ must "derived-from-or-self(/if:interfaces"
+ + "/if:interface[if:name=current()]/if:type,"
+ + "'bbf-xponift:channel-group')" {
+ error-message
+ "Must reference a channel group.";
+ }
+ description
+ "Reference to channel group. Note that it is not allowed
+ to have several channel-pairs with identical downsream
+ channel-ID or upstream channel-ID or transmit wavelength
+ simultaneously active on the same chnanel-group.
+ In particular there may be only a maximum of one XGS-PON,
+ one XG-PON and one G-PON active on the same channel group.
+ The YANG model does not enforce these constraints which are
+ assumed to be enforced or verified by the OLT network
+ element software.";
+ }
+ leaf channel-partition-ref {
+ type if:interface-ref;
+ must "derived-from-or-self(/if:interfaces"
+ + "/if:interface[if:name=current()]/if:type,"
+ + "'bbf-xponift:channel-partition') and "
+ + "/if:interfaces/if:interface[if:name=current()]"
+ + "/channel-partition/channel-group-ref="
+ + "../channel-group-ref" {
+ error-message
+ "Must reference a channel partition associated with the same
+ channel group this pair is associated with.";
+ }
+ description
+ "Reference to channel partition.";
+ }
+ leaf wavelength-prof-ref {
+ when "derived-from-or-self(../channel-pair-type,"
+ + "'bbf-xpon-types:ngpon2-twdm') or derived-from-or-self"
+ + "(../channel-pair-type, 'bbf-xpon-types:ngpon2-ptp') or "
+ + "derived-from-or-self(../channel-pair-type,"
+ + "'bbf-xpon-types:xgs')";
+ type wavelength-prof-ref;
+ description
+ "An NG-PON2 channel pair needs to point to an existing
+ wavelength profile. Similar for XGS-PON (ref: ITU-T G.9807.1
+ A.8.2: Basic Wavelength and Optional Wavelength sets). The
+ wavelength for XG-PON and G-PON is fixed per ITU-T standards
+ and needs not be configured via a wavelength profile.";
+ }
+ leaf channel-pair-type {
+ type identityref {
+ base bbf-xpon-types:channel-pair-type-base;
+ }
+ mandatory true;
+ description
+ "Represents the type of channel pair
+ (e.g. TWDM NG-PON2, PtP NG-PON2, XGS-PON, XG-PON,
+ G-PON).";
+ }
+ leaf channel-pair-line-rate {
+ when "derived-from-or-self(../channel-pair-type,"
+ + "'bbf-xpon-types:ngpon2-twdm') or derived-from-or-self"
+ + "(../channel-pair-type, 'bbf-xpon-types:ngpon2-ptp')";
+ type identityref {
+ base bbf-xpon-types:channel-pair-line-rate-profile-base;
+ }
+ default "bbf-xpon-types:unplanned-cp-line-rate";
+ description
+ "Represents the planned downstream/upstream channel pair
+ speed for NG-PON2. The line rates for
+ XGS-PON (downstream 10Gbps/upstream 10Gbps),
+ XG-PON(downstream 10Gbps/upstream 2.5Gbps) and
+ G-PON (downstream 2.5Gbps/upstream 1.2Gbps)
+ are fixed per ITU-T standards and need not be configured.";
+ }
+ leaf gpon-pon-id-interval {
+ when "derived-from-or-self"
+ + "(../channel-pair-type, 'bbf-xpon-types:gpon')";
+ type uint16 {
+ range "0..60";
+ }
+ units "seconds";
+ default "0";
+ description
+ "This attribute is used to specify the frequency of
+ transmission of the periodic downstream PON-ID PLOAM
+ message for this G-PON. See ITU-T G.984.3 C1. The default
+ value '0' allows not to generate this PLOAM message,
+ fulfilling ITU-T G.984.3 C2 requirement.
+ This is only applicable to G-PON.";
+ reference
+ "ITU-T G.984.3 C1
+ ITU-T G.984.3 C2";
+ }
+ }
+
+ grouping channel-pair-state-data {
+ description
+ "All state data for a channel pair.";
+ leaf actual-downstream-wavelength {
+ type uint32 {
+ range "0 | 148000..162000";
+ }
+ units "0.01nm";
+ default "0";
+ description
+ "Represents the Actual Downstream wavelength for the
+ channel pair for any of the NG-PON2, XGS-PON, XG-PON or
+ G-PON case. It is expressed in hundredths of nm to fit
+ ITU-T precision requirements.";
+ }
+ leaf primary-ct-assigned {
+ type boolean;
+ default "false";
+ description
+ "When true this means that a channel termination with
+ Primary type B role has been assigned to this channel pair.";
+ reference
+ "ITU-T G.989.3 clause 18.2";
+ }
+ leaf secondary-ct-assigned {
+ type boolean;
+ default "false";
+ description
+ "When true this means that a channel termination with
+ Secondary type B role has been assigned to this
+ channel pair.";
+ reference
+ "ITU-T G.989.3 clause 18.2";
+ }
+ }
+
+ augment '/if:interfaces/if:interface/bbf-xpon:channel-pair' {
+ description
+ "Configuration of an xPON channel pair.";
+ uses channel-pair-config-data;
+ }
+
+ augment '/if:interfaces-state/if:interface/bbf-xpon:channel-pair' {
+ description
+ "State data of an xPON channel pair.";
+ uses channel-pair-state-data;
+ }
+}