UNI port is derived from tunnelID and some bug fixes
Flow-manager now uses tunnel id to derive uniport needed for futher flow processing
Able to verify EAPOL/HSIA flows end to end with physical hardware ( Edgecore BAL OLT  & TWSH ONT kit) with  below work-around :

EAPOL flow from logical device , results in installing device flows in ONU device (due to default leaf device flows in core - leafDeviceDefaultRules),
This flow over-rides previously installed default 4091 private rule installed from techprofile download event , Hence removed default leaf flows in rw_core to overcome this problem.

Change-Id: Icdb96674545e1c58ea3f020f989a3c9dd06214bc
3 files changed
tree: 8b9d1fb7628460339c2b784cb1b4b33451c0a7b6
  1. .gitignore
  2. Gopkg.lock
  3. Gopkg.toml
  4. Makefile
  5. README.md
  6. VERSION
  7. adaptercore/
  8. compose/
  9. config/
  10. docker/
  11. main.go
  12. python/
  13. vendor/
README.md

How to Build and Run a GOlang based OpenOLT Adapter

Assuming the VOLTHA2.0 environment is made using the quickstart.md in voltha-go.

Dependencies are committed to the repos as per current standard practice. If you need to update them you can do so with dep. This includes the voltha-protos and voltha-go dependencies.

Ensure your GOPATH variable is set according to the quickstart Create a symbolic link in the $GOPATH/src tree to the voltha-openolt-adapter repository:

mkdir -p $GOPATH/src/github.com/opencord
ln -s ~/repos/voltha-openolt-adapter $GOPATH/src/github.com/opencord/voltha-openolt-adapter

Install dep for fetching dependencies

mkdir -p $GOPATH/bin
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh

Pull and build dependencies for the project.  This may take a while.  This may likely update versions of 3rd party packages in the vendor folder.   This may introduce unexpected changes.   If everything still works feel free to check in the vendor updates as needed.

cd $GOPATH/src/github.com/opencord/voltha-go/
dep ensure

If you are using a custom local copy of protos or voltha-go

Just export LOCAL_PROTOS=true or LOCAL_VOLTHAGO=true to use that instead, assuming you have set them up on GOPATH. See the quickstart.

cd ~/source/voltha-openolt-adapter

Get the latest code changes

git pull

To build the docker image

make build

This will create the voltha-openolt-adapter-go docker image

$ docker images | grep openolt
voltha-openolt-adapter-go        latest              38688e697472        2 hours ago         37.3MB

In case the python voltha openolt adapter is started, stop the python voltha openolt docker container

To start the GOlang based OpenOLT adapter

DOCKER_HOST_IP= docker-compose -f compose/adapters-openolt-go.yml up -d

The functionality of OLT activation can be verified through BBSIM Follow the below steps to start BBSIM and provision it through VOLTHA-CLI https://github.com/opencord/voltha-bbsim/blob/master/README.md