[VOL-1635] This OpenOLT agent supports the BAL V3.0.3.3 SDK.
The APIs call,variables and structures has been changed to BAL v3.0.
OLT activation from voltha-1.7 is successful.
Change-Id: I2096251262ef515a3dbf579eca806fc551bdecf1
diff --git a/agent/Makefile.in b/agent/Makefile.in
index 67ad514..f30f94f 100644
--- a/agent/Makefile.in
+++ b/agent/Makefile.in
@@ -27,14 +27,17 @@
# SW-BCM68620_<VER>.zip - Broadcom BAL source and Maple SDK.
# sdk-all-<SDK_VER>.tar.gz - Broadcom Qumran SDK.
# ACCTON_BAL_<BAL_VER>-<DEV_VER>.patch - Accton/Edgecore's patch.
-BAL_MAJOR_VER = 03.00
-BAL_VER = 3.0.3.3
+BAL_MAJOR_VER = 3
+BAL_MINOR_VER = 0
+BAL_REV_A_VER = 3
+BAL_REV_B_VER = 3
+BAL_API_VER = $(BAL_MAJOR_VER).$(BAL_MINOR_VER)
+BAL_VER = $(BAL_MAJOR_VER).$(BAL_MINOR_VER).$(BAL_REV_A_VER).$(BAL_REV_B_VER)
SDK_VER = 6.5.13
DEV_VER ?= 201904171432
#
# Version of Open Network Linux (ONL).
ONL_KERN_VER_MAJOR = 4.14
-ONL_KERN_VER_MINOR = 49
#
# Build directory
BUILD_DIR = build
@@ -98,7 +101,6 @@
## ONL
##
##
-ONL_KERN_VER = $(ONL_KERN_VER_MAJOR).$(ONL_KERN_VER_MINOR)
ONL_REPO = $(OPENOLTDEVICE)-onl
ONL_DIR = $(BUILD_DIR)/$(ONL_REPO)
onl:
@@ -106,7 +108,7 @@
mkdir -p $(ONL_DIR); \
git clone https://github.com/opencomputeproject/OpenNetworkLinux.git $(ONL_DIR)/OpenNetworkLinux; \
cp download/Makefile.onl $(ONL_DIR)/Makefile; \
- install -m 755 download/build-asfvolt16.sh $(ONL_DIR)/OpenNetworkLinux; \
+ install -m 755 download/build-$(OPENOLTDEVICE).sh $(ONL_DIR)/OpenNetworkLinux; \
make -C $(ONL_DIR) $(OPENOLTDEVICE)-$(ONL_KERN_VER_MAJOR); \
fi;
onl-force:
@@ -117,51 +119,61 @@
########################################################################
##
##
+## Broadcom LIBRARY APIs
+##
+##
+BAL_API_DIR = $(BUILD_DIR)/bal-api-$(BAL_API_VER)
+
+bal-api-$(BAL_API_VER):
+ if [ ! -d "$(BAL_API_DIR)" ]; then \
+ mkdir -p $(BAL_API_DIR); \
+ git clone https://github.com/balapi/bal-api-3.0.git $(BAL_API_DIR); \
+ fi;
+bal-api-clean:
+ rm $(BAL_API_DIR)
+
+########################################################################
+##
+##
## BAL
##
##
BAL_ZIP = SW-BCM68620_$(subst .,_,$(BAL_VER)).tgz
SDK_ZIP = sdk-all-$(SDK_VER).tar.gz
ACCTON_PATCH = ACCTON_BAL_$(BAL_VER)-V$(DEV_VER).patch
-OPENOLT_BAL_PATCH = OPENOLT_BAL_$(BAL_VER).patch
BAL_DIR = $(BUILD_DIR)/$(OPENOLTDEVICE)-bal
-BCM_SDK = $(BAL_DIR)/switch_sdk/6.5.13
-BALLIBDIR = $(BAL_DIR)/build/asfvolt16-bal/build/lib/libbal_core.so
-BALLIBNAME = bal_core.so
-BAL_INC = -I$(BAL_DIR)/bal_release/src/common/os_abstraction \
- -I$(BAL_DIR)/bal_release/src/common/os_abstraction/posix \
- -I$(BAL_DIR)/bal_release/src/common/config \
- -I$(BAL_DIR)/bal_release/src/core/platform \
- -I$(BAL_DIR)/bal_release/src/core/main \
- -I$(BAL_DIR)/bal_release/src/common/include \
- -I$(BAL_DIR)/bal_release/src/lib/libbalapi \
- -I$(BAL_DIR)/bal_release/src/balapiend \
- -I$(BAL_DIR)/bal_release/src/common/dev_log \
- -I$(BAL_DIR)/bal_release/src/common/bal_dist_utils \
- -I$(BAL_DIR)/bal_release/src/lib/libtopology \
- -I$(BAL_DIR)/bal_release/src/lib/libcmdline \
- -I$(BAL_DIR)/bal_release/src/lib/libutils \
- -I$(BAL_DIR)/bal_release/3rdparty/maple/sdk/host_driver/utils \
- -I$(BAL_DIR)/bal_release/3rdparty/maple/sdk/host_driver/model \
- -I$(BAL_DIR)/bal_release/3rdparty/maple/sdk/host_driver/api \
- -I$(BAL_DIR)/bal_release/3rdparty/maple/sdk/host_reference/cli
+BCM_SDK = $(BAL_DIR)/switch_sdk/$(SDK_VER)
+BALLIBDIR = $(BAL_DIR)/build/host_reference/host_api
+BALLIBNAME = bal_host_api
+BAL_INC = -I$(BAL_DIR)/host_driver/bal/bal_include \
+ -I$(BAL_DIR)/host_driver/topology \
+ -I$(BAL_DIR)/host_driver/utils \
+ -I$(BAL_DIR)/host_driver/api \
+ -I$(BAL_DIR)/host_customized/os_abstraction \
+ -I$(BAL_DIR)/host_customized/os_abstraction/posix \
+ -I$(BAL_DIR)/host_customized/config \
+ -I$(BAL_DIR)/host_driver/api_conn_mgr \
+ -I$(BAL_DIR)/host_driver/conn_mgr \
+ -I$(BAL_DIR)/host_driver/api/host/topology \
+ -I$(BAL_DIR)/host_reference/cli \
+ -I$(BAL_DIR)/host_reference/api_cli \
+ -I$(BAL_API_DIR)/include \
+ -I$(BAL_API_DIR)/include/object_model
CXXFLAGS += $(BAL_INC) -I $(BAL_DIR)/lib/cmdline
-CXXFLAGS += -DBCMOS_MSG_QUEUE_DOMAIN_SOCKET -DBCMOS_MSG_QUEUE_UDP_SOCKET -DBCMOS_MEM_CHECK -DBCMOS_SYS_UNITTEST -DENABLE_LOG
+CXXFLAGS += -DBCMOS_MSG_QUEUE_DOMAIN_SOCKET -DBCMOS_MSG_QUEUE_UDP_SOCKET -DBCMOS_MEM_CHECK -DBCMOS_SYS_UNITTEST -DENABLE_LOG -DENABLE_CLI
-sdk: onl
+sdk: onl bal-api-$(BAL_API_VER)
ifeq ("$(wildcard $(BAL_DIR))","")
mkdir $(BAL_DIR)
tar zxvf download/$(BAL_ZIP) --strip 1 -C $(BAL_DIR)
cp download/$(SDK_ZIP) $(BCM_SDK)
chmod -R 744 $(BAL_DIR)
cat download/$(ACCTON_PATCH) | patch -p1 -d $(BAL_DIR)
- make -C $(BAL_DIR) BOARD=$(OPENOLTDEVICE) ONL_DIR=$(TOP_DIR)/$(ONL_DIR)/OpenNetworkLinux SW_UTIL_SHELL=y
- echo 'auto_create_interface_tm=y' >> $(BAL_DIR)/build/fs/$(OPENOLTDEVICE)/board_files/broadcom/bal_config.ini
+ make -C $(BAL_DIR) BOARD=$(OPENOLTDEVICE) ONL_DIR=$(TOP_DIR)/$(ONL_DIR)/OpenNetworkLinux SW_UTIL_SHELL=y OPEN_SOURCE=y
make -C $(BAL_DIR) BOARD=$(OPENOLTDEVICE) release_board
endif
bal-release: sdk
- echo 'auto_create_interface_tm=y' >> $(BAL_DIR)/build/fs/$(OPENOLTDEVICE)/board_files/broadcom/bal_config.ini
make -C $(BAL_DIR) BOARD=$(OPENOLTDEVICE) release_board
bal-clean:
@@ -229,17 +241,15 @@
OBJS = $(SRCS:.cc=.o)
DEPS = $(SRCS:.cc=.d)
.DEFAULT_GOAL := all
-#all: $(BUILD_DIR)/openolt
-all: notes onl sdk
-notes:
- echo "\033[1;31m!!! The OpenOLT source codes is not yet support the BAL V3.0, so ignoring to build !!!\033[0m"
+all: $(BUILD_DIR)/openolt
$(BUILD_DIR)/openolt: sdk protos $(OBJS)
$(CXX) $(LDFLAGS) -L$(BALLIBDIR) $(OBJS) $(OPENOLT_API_LIB) $(LIBPROTOBUF_PATH)/libprotobuf.a -o $@ -l$(BALLIBNAME) $(shell pkg-config --libs protobuf grpc++ grpc)
- ln -sf $(PWD)/$(BAL_DIR)/bcm68620_release/$(OPENOLTDEVICE)/release/release_$(OPENOLTDEVICE)_V$(BAL_MAJOR_VER).$(DEV_VER).tar.gz $(BUILD_DIR)/.
- ln -sf $(PWD)/$(BAL_DIR)/bcm68620_release/$(OPENOLTDEVICE)/release/broadcom/libbal_api_dist.so $(BUILD_DIR)/.
- ln -sf $(PWD)/$(BAL_DIR)/bal_release/build/core/src/apps/bal_core_dist/bal_core_dist $(BUILD_DIR)/.
+ ln -sf $(TOP_DIR)/$(BAL_DIR)/build/fs/$(OPENOLTDEVICE)/release/release_$(OPENOLTDEVICE)_V$(BAL_MAJOR_VER).$(BAL_MINOR_VER).$(BAL_REV_A_VER).$(DEV_VER).tar.gz $(BUILD_DIR)/.
+ ln -sf $(TOP_DIR)/$(BAL_DIR)/build/host_reference/host_api/strip/libbal_host_api.so $(BUILD_DIR)/.
+ ln -sf $(TOP_DIR)/$(BAL_DIR)/build/host_driver/dev_mgmt_daemon/dev_mgmt_daemon $(BUILD_DIR)/.
ln -sf $(LIBGRPC_PATH)/libgrpc.so.6 $(BUILD_DIR)/libgrpc.so.6
ln -sf $(LIBGRPC_PATH)/libgrpc++.so.1 $(BUILD_DIR)/libgrpc++.so.1
+ ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 $(BUILD_DIR)/libstdc++.so.6
src/%.o: src/%.cc
$(CXX) $(CXXFLAGS) $(CXXFLAGSDEVICE) -I./common -c $< -o $@