[VOL-2489]Migration to BAL3.4

Change-Id: I577156db3d6bcc7ad56e01070d57181dbcb92d82
diff --git a/README.md b/README.md
index ebf692a..a6b3082 100644
--- a/README.md
+++ b/README.md
@@ -46,7 +46,7 @@
 requirements](https://guide.opencord.org/prereqs/hardware.html#recommended-hardware)
 guide, in the *R-CORD access equipment and optics* section.
 
-## Pre-built debian packages of OpenOLT agent for Accton/Edgecore ASFVOLT16
+## Pre-built debian packages of OpenOLT agent for Accton/Edgecore ASFVOLT16/ASGvOLT64
 
 Accton/Edgecore makes available pre-built debian packages of OpenOLT agent to
 their customers.  Get access credentials for
@@ -55,12 +55,12 @@
 `/ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution/` and pick the right version of
 `.deb` package required for your testing.
 
-`voltha-2.3/openolt-2.3.0.deb` is the latest version of package with support
-for BAL3.2.3.2 .
+`voltha-2.3/openolt_<OPENOLTDEVICE>-2.3.0-<Last Commit ID>.deb` is the latest version of package with support
+for BAL v3.4.3.3 .
 
 The pre-built debian packages have been tested on [Open Networking Linux
 (ONL)](http://opennetlinux.org/) version 4.14. The ONL Installer required for
-voltha-2.3/openolt-2.3.0.deb is also available at in the same path, i.e.,
+`voltha-2.3/openolt_<OPENOLTDEVICE>-2.3.0-<Last Commit ID>.deb` is also available at in the same path, i.e.,
 voltha-2.3/.
 
 ## Install OpenOLT
@@ -74,10 +74,10 @@
 Install the *openolt.deb* package using *dpkg*:
 
 ```shell
-dpkg -i openolt.deb
+dpkg -i openolt_<OPENOLTDEVICE>-2.3.0-<Last Commit ID>.deb
 ```
 
-The ONL version required for BAL3.2.3.2 is ONL `4.14.109-OpenNetworkLinux`. This
+The ONL version required for BAL v3.4.3.3 is ONL `4.14.151-OpenNetworkLinux`. This
 will be built as part of build procedure described `Build OpenOLT` section.
 
 ## Run OpenOLT as a Linux service
@@ -165,7 +165,7 @@
 
 ### Supported BAL API versions
 
-Currently, OpenOLT supports Broadcom's BAL API, version *3.2.3.2*.
+Currently, OpenOLT supports Broadcom's BAL API, version *3.4.3.3*.
 
 ### Proprietary software requirements
 
@@ -177,9 +177,9 @@
 
 The versions currently supported by the OpenOLT agent are:
 
-* `SW-BCM686OLT_3_2_3_2.tgz`
+* `SW-BCM686OLT_3_4_3_3.tgz`
 * `sdk-all-6.5.13.tar.gz`
-* `ACCTON_BAL_3.2.3.2-V201912230101.patch`
+* `ACCTON_BAL_3.4.3.3-V202002100101.patch`
 
 > NOTE: the repository does not contain the above three source packages.  These
 > are needed to build the OpenOLT agent executable. Contact [Dave Baron at
@@ -222,7 +222,7 @@
 
 ```shell
 cd <dir containing Broadcom source and patch files>
-cp ACCTON_BAL_3.2.3.2-V201912230101.patch SW-BCM686OLT_3_2_3_2.tgz sdk-all-6.5.13.tar.gz <cloned openolt repo path>/agent/download
+cp ACCTON_BAL_3.4.3.3-V202002100101.patch SW-BCM686OLT_3_4_3_3.tgz sdk-all-6.5.13.tar.gz <cloned openolt repo path>/agent/download
 ```
 
 Run the configure script to generate the appropriate Makefile scaffolding for
@@ -250,7 +250,7 @@
 
 Note that the required ONL version `4.14` is built as part of the above build
 procedure and is available at path
-`build/onl/OpenNetworkLinux/RELEASE/jessie/amd64/ONL-onl-4.14_ONL-OS8_2019-09-24.0446b4af32e_AMD64_INSTALLED_INSTALLER`.
+`build/onl/OpenNetworkLinux/RELEASE/jessie/amd64/ONL-onl-4.14_ONL-OS8_2020-01-30.0413-72b95a7_AMD64_INSTALLED_INSTALLER`.
 This ONL Installer should be used to flash the OS on the OLT.
 
 If you need to use a specific version of voltha-protos, then specify the git
diff --git a/VERSION b/VERSION
index 8e8299d..35cee72 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.4.2
+2.4.3
diff --git a/agent/Makefile.in b/agent/Makefile.in
index a5407ea..6068c4e 100644
--- a/agent/Makefile.in
+++ b/agent/Makefile.in
@@ -27,13 +27,13 @@
 # sdk-all-<SDK_VER>.tar.gz - Broadcom Qumran SDK.
 # ACCTON_BAL_<BAL_VER>-<DEV_VER>.patch - Accton/Edgecore's patch.
 BAL_MAJOR_VER = 3
-BAL_MINOR_VER = 2
+BAL_MINOR_VER = 4
 BAL_REV_A_VER = 3
-BAL_REV_B_VER = 2
+BAL_REV_B_VER = 3
 BAL_API_VER = $(BAL_MAJOR_VER).$(BAL_MINOR_VER).$(BAL_REV_A_VER).$(BAL_REV_B_VER)
 BAL_VER = $(BAL_MAJOR_VER).$(BAL_MINOR_VER).$(BAL_REV_A_VER).$(BAL_REV_B_VER)
 SDK_VER = 6.5.13
-DEV_VER ?= 201912230101
+DEV_VER ?= 202002100101
 #
 # Version of Open Network Linux (ONL).
 ONL_KERN_VER_MAJOR = 4.14
@@ -183,6 +183,7 @@
           -I$(BAL_DIR)/host_driver/topology \
           -I$(BAL_DIR)/host_driver/utils \
           -I$(BAL_DIR)/host_driver/api \
+          -I$(BAL_DIR)/host_driver/metadata \
           -I$(BAL_DIR)/host_customized/os_abstraction \
           -I$(BAL_DIR)/host_customized/os_abstraction/posix \
           -I$(BAL_DIR)/host_customized/config \
diff --git a/agent/device/asfvolt16/mkdebian/debian/asfvolt16.postinst b/agent/device/asfvolt16/mkdebian/debian/asfvolt16.postinst
index 92a13d9..8f0e380 100644
--- a/agent/device/asfvolt16/mkdebian/debian/asfvolt16.postinst
+++ b/agent/device/asfvolt16/mkdebian/debian/asfvolt16.postinst
@@ -17,7 +17,7 @@
 
 rm -rf /opt/bcm68620
 rm -rf /broadcom
-tar zxf /tmp/release_asfvolt16_V3.2.3.2.201912230101.tar.gz -C / 2>&1 > /dev/null
+tar zxf /tmp/release_asfvolt16_V3.4.3.3.202002100101.tar.gz -C / 2>&1 > /dev/null
 grep -q '\/opt\/bcm68620\/svk_init.sh' /etc/rc.local || sed -i -e '$i \/opt\/bcm68620\/svk_init.sh' /etc/rc.local
 rm -f /run/bcm68620
 cp /tmp/init.d/dev_mgmt_daemon /etc/init.d
diff --git a/agent/device/asfvolt16/mkdebian/debian/changelog b/agent/device/asfvolt16/mkdebian/debian/changelog
index 79d03cc..3409fb4 100644
--- a/agent/device/asfvolt16/mkdebian/debian/changelog
+++ b/agent/device/asfvolt16/mkdebian/debian/changelog
@@ -1,6 +1,6 @@
-asfvolt16 (3.2.3.2+edgecore-V201912230101) stable; urgency=high
+asfvolt16 (3.4.3.3+edgecore-V202002100101) stable; urgency=high
 
-    * Based on code from SW-BCM686OLT_3_2_3_2.tgz.
-    * Merged the Accton's fixed to ACCTON_BAL_3.2.3.2-V201912230101.patch.
+    * Based on code from SW-BCM686OLT_3_4_3_3.tgz.
+    * Merged the Accton's fixed to ACCTON_BAL_3.4.3.3-V202002100101.patch.
 
- -- Jason Huang <jasonsc_huang@edge-core.com>  Mon, 23 DEC 2019 01:02:03 +0800
+ -- Jason Huang <jasonsc_huang@edge-core.com>  Mon, 10 FEB 2020 01:01:03 +0800
diff --git a/agent/device/asfvolt16/mkdebian/debian/control b/agent/device/asfvolt16/mkdebian/debian/control
index 8ae52cf..ca4f431 100644
--- a/agent/device/asfvolt16/mkdebian/debian/control
+++ b/agent/device/asfvolt16/mkdebian/debian/control
@@ -9,5 +9,5 @@
 Architecture: amd64
 Depends: ${shlibs:Depends}
 Description: Broadcom OLT drivers,CLI
-  ported from Broadcom SDK-3.2.3.2 package
+  ported from Broadcom SDK-3.4.3.3 package
 
diff --git a/agent/device/asfvolt16/mkdebian/debian/files b/agent/device/asfvolt16/mkdebian/debian/files
index c8b246b..a5d466e 100644
--- a/agent/device/asfvolt16/mkdebian/debian/files
+++ b/agent/device/asfvolt16/mkdebian/debian/files
@@ -1 +1 @@
-asfvolt16_3.2.3.2+edgecore-V201912230101_amd64.deb misc optional
+asfvolt16_3.4.3.3+edgecore-V202002100101_amd64.deb misc optional
diff --git a/agent/device/asfvolt16/mkdebian/debian/rules b/agent/device/asfvolt16/mkdebian/debian/rules
index d2004b6..bf86af6 100755
--- a/agent/device/asfvolt16/mkdebian/debian/rules
+++ b/agent/device/asfvolt16/mkdebian/debian/rules
@@ -26,7 +26,7 @@
 
 override_dh_auto_install: 
 	mkdir -p $(DEB_DH_INSTALL_SOURCEDIR)/tmp
-	cp -a $(CURDIR)/debian/release_asfvolt16_V3.2.3.2.201912230101.tar.gz $(DEB_DH_INSTALL_SOURCEDIR)/tmp
+	cp -a $(CURDIR)/debian/release_asfvolt16_V3.4.3.3.202002100101.tar.gz $(DEB_DH_INSTALL_SOURCEDIR)/tmp
 	cp -a $(CURDIR)/debian/libgrpc++.so.1 $(DEB_DH_INSTALL_SOURCEDIR)/tmp
 	cp -a $(CURDIR)/debian/libgrpc.so.6 $(DEB_DH_INSTALL_SOURCEDIR)/tmp
 	cp -a $(CURDIR)/debian/libstdc++.so.6 $(DEB_DH_INSTALL_SOURCEDIR)/tmp
diff --git a/agent/device/asgvolt64/mkdebian/debian/asgvolt64.postinst b/agent/device/asgvolt64/mkdebian/debian/asgvolt64.postinst
index cac9b7e..7e74326 100644
--- a/agent/device/asgvolt64/mkdebian/debian/asgvolt64.postinst
+++ b/agent/device/asgvolt64/mkdebian/debian/asgvolt64.postinst
@@ -17,7 +17,7 @@
 
 rm -rf /opt/bcm68620
 rm -rf /broadcom
-tar zxf /tmp/release_asgvolt64_V3.2.3.2.201912230101.tar.gz -C / 2>&1 > /dev/null
+tar zxf /tmp/release_asgvolt64_V3.4.3.3.202002100101.tar.gz -C / 2>&1 > /dev/null
 grep -q '\/opt\/bcm68620\/svk_init.sh' /etc/rc.local || sed -i -e '$i \/opt\/bcm68620\/svk_init.sh' /etc/rc.local
 rm -f /run/bcm68620
 cp /tmp/init.d/dev_mgmt_daemon /etc/init.d
diff --git a/agent/device/asgvolt64/mkdebian/debian/changelog b/agent/device/asgvolt64/mkdebian/debian/changelog
index be785bd..119bf15 100644
--- a/agent/device/asgvolt64/mkdebian/debian/changelog
+++ b/agent/device/asgvolt64/mkdebian/debian/changelog
@@ -1,6 +1,6 @@
-asgvolt64 (3.2.3.2+edgecore-V201912230101) stable; urgency=high
+asgvolt64 (3.4.3.3+edgecore-V202002100101) stable; urgency=high
 
-    * Based on code from SW-BCM686OLT_3_2_3_2.tgz.
-    * Merged the Accton's fixed to ACCTON_BAL_3.2.3.2-V201912230101.patch.
+    * Based on code from SW-BCM686OLT_3_4_3_3.tgz.
+    * Merged the Accton's fixed to ACCTON_BAL_3.4.3.3-V202002100101.patch.
 
- -- Jason Huang <jasonsc_huang@edge-core.com>  Mon, 23 DEC 2019 01:02:03 +0800
+ -- Jason Huang <jasonsc_huang@edge-core.com>  Mon, 10 FEB 2020 01:01:03 +0800
diff --git a/agent/device/asgvolt64/mkdebian/debian/control b/agent/device/asgvolt64/mkdebian/debian/control
index a80db93..872305f 100644
--- a/agent/device/asgvolt64/mkdebian/debian/control
+++ b/agent/device/asgvolt64/mkdebian/debian/control
@@ -9,5 +9,5 @@
 Architecture: amd64
 Depends: ${shlibs:Depends}
 Description: Broadcom OLT drivers,CLI
-  ported from Broadcom SDK-3.2.3.2 package
+  ported from Broadcom SDK-3.4.3.3 package
 
diff --git a/agent/device/asgvolt64/mkdebian/debian/files b/agent/device/asgvolt64/mkdebian/debian/files
index 430d8d3..6724103 100644
--- a/agent/device/asgvolt64/mkdebian/debian/files
+++ b/agent/device/asgvolt64/mkdebian/debian/files
@@ -1 +1 @@
-asgvolt64_3.2.3.2+edgecore-V201912230101_amd64.deb misc optional
+asgvolt64_3.4.3.3+edgecore-V202002100101_amd64.deb misc optional
diff --git a/agent/device/asgvolt64/mkdebian/debian/rules b/agent/device/asgvolt64/mkdebian/debian/rules
index 4ad7b83..7298161 100755
--- a/agent/device/asgvolt64/mkdebian/debian/rules
+++ b/agent/device/asgvolt64/mkdebian/debian/rules
@@ -26,7 +26,7 @@
 
 override_dh_auto_install: 
 	mkdir -p $(DEB_DH_INSTALL_SOURCEDIR)/tmp
-	cp -a $(CURDIR)/debian/release_asgvolt64_V3.2.3.2.201912230101.tar.gz $(DEB_DH_INSTALL_SOURCEDIR)/tmp
+	cp -a $(CURDIR)/debian/release_asgvolt64_V3.4.3.3.202002100101.tar.gz $(DEB_DH_INSTALL_SOURCEDIR)/tmp
 	cp -a $(CURDIR)/debian/libgrpc++.so.1 $(DEB_DH_INSTALL_SOURCEDIR)/tmp
 	cp -a $(CURDIR)/debian/libgrpc.so.6 $(DEB_DH_INSTALL_SOURCEDIR)/tmp
 	cp -a $(CURDIR)/debian/libstdc++.so.6 $(DEB_DH_INSTALL_SOURCEDIR)/tmp
diff --git a/agent/download/Makefile.onl b/agent/download/Makefile.onl
index 986d9dd..b99f354 100644
--- a/agent/download/Makefile.onl
+++ b/agent/download/Makefile.onl
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-COMMIT_ID = b4af32e
+COMMIT_ID = 72b95a7
 
 onl-4.14:
 	cd OpenNetworkLinux && git checkout -b $@ $(COMMIT_ID) && docker/tools/onlbuilder --non-interactive -8 -c ./build-onl.sh
diff --git a/agent/test/Makefile b/agent/test/Makefile
index 91b7a70..a27f399 100644
--- a/agent/test/Makefile
+++ b/agent/test/Makefile
@@ -64,7 +64,7 @@
 
 export CXX CXXFLAGS OPENOLT_PROTO_VER
 
-BAL_API_VER ?= bal-api-3.2.3.2
+BAL_API_VER ?= bal-api-3.4.3.3
 BAL_API_DIR=$(BAL_API_VER)
 BALLIBNAME=bcm_host_api_stubs
 BALLIBDIR=$(BAL_API_DIR)/stubs