VOL-816: Install libbal_api_dist.so in /usr/local/lib (instead of /broadcom)

This simplifies startup of openolt driver since the "ldconfig" step is
not required

Change-Id: I12f9490306a9832dda8dfa6d7e4998d312ba477e
3 files changed
tree: 10a8fddeb426fdc8009b7bcf57905315aa890813
  1. .gitreview
  2. COPYING
  3. Jenkinsfile
  4. Makefile
  5. README.md
  6. download/
  7. mkdebian/
  8. protos/
  9. src/
README.md

openolt

openolt is an SDN Agent for white box Optical Line Terminals (OLTs). It exposes a well-documented, north-bound protobuf/gRPC API for SDN controllers. VOLTHA support for openolt is under development.

openolt currently supports Broadcom's Maple/Qumran chipsets.


+-------------------------------+ | SDN Controller | | (e.g. VOLTHA, ONOS, ODL) | +---------------+---------------+ |     openolt gRPC API | | +---------------------------------------------+ | | | | +---------------+---------------+ | | | openolt | | | +---------------+---------------+ | | | | | vendor-specific API | | | | | | +---------------+---------------+ | | | vendor asic/soc/fpga/... | | | +-------------------------------+ | | | | | | White box OLT | +---------------------------------------------+

Software versions

The following vendor proprietary source files are required to build openolt. These files can be obtained from Broadcom under NDA. Once an NDA is signed with Broadcom, these files are made available by Broadcom on their Customer Service Portal (CSP) via case CS3233745.

  • SW-BCM68620_<BAL_VER>.zip - Broadcom BAL source and Maple SDK.
  • sdk-all-<SDK_VER>.tar.gz - Broadcom Qumran SDK.
  • ACCTON_BAL_<BAL_VER>-<ACCTON_VER>.patch - Accton/Edgecore's patch.
  • OPENOLT_BAL_<BAL_VER>.patch - A patch to Broadcom software to allow compilation with C++ based openolt.

The versions that have been tested are:

  • SW-BCM68620_2_4_3_6.zip
  • sdk-all-6.5.7.tar.gz
  • ACCTON_BAL_2.4.3.6-V201710131639.patch
  • OPENOLT_BAL_2.4.3.6.patch

Build

Clone this repo, copy above four source code zip/patch files to the openolt/download directory, and run make:

git clone git@github.com:OpenOLT/openolt.git

mv SW-BCM68620_2_4_3_6.zip sdk-all-6.5.7.tar.gz ACCTON_BAL_2.4.3.6-V201710131639.patch OPENOLT_BAL_2.4.3.6.zip openolt/download

make prereq
make

The build directory contains all the build artifacts:

  • release_asfvolt16_V02.04.201710131639.tar.gz - Broadcom BAL (specifically, this tar ball includes the bal_core_dist)
  • openolt - the openolt agent/driver
  • libgrpc++_reflection.so.1 libgrpc++.so.1 libgrpc.so.5 - gRPC libraries

Copy files to target OLT

  1. Untar release_asfvolt16_V02.04.201710131639.tar.gz in the root (top level) directory
  2. Copy openolt to /broadcom
  3. Copy the gRPC libraries to /usr/local/lib

Update system library indexes

ldconfig

Run

  • Run bal_core_dist:
cd /broadcom
./bal_core_dist -C 10.6.0.201:40000 -A 10.6.0.201:50000
  • Run openolt:
cd /broadcom
export LD_LIBRARY_PATH=/broadcom
./openolt  -C 10.6.0.201:40000 -A 10.6.0.201:50000

(Note - Substitute 10.6.0.201 with a local IP of the OLT - e.g. mgmt interface IP).