| commit | df392e105f467fff6b96d3d3fffeae05691767cd | [log] [tgz] |
|---|---|---|
| author | Esin Karaman <esin.karaman@netsia.com> | Wed Dec 16 13:33:09 2020 +0000 |
| committer | Esin Karaman <esin.karaman@netsia.com> | Thu Dec 17 13:57:41 2020 +0300 |
| tree | 6df508f9f1338ec8637e36275b14b722d9736ec3 | |
| parent | 6991e6ea5ee9c291a14198731878ceab094698e4 [diff] |
VOL-3718 Packets coming from Open OLT Adapter to the VOLTHA Core always have zero in their UNI port field. OLT Adapter should set the true UNI port info to the control packets before passing them to the VOLTHA Core in the scope of packet-in workflow. As a solution, pon-and-gem-port-to-uni-port relations are learned during subscriber provisioning operation and kept in the kv store and a cache (a map named gemToUniMap) in a lazy manner. In the packet-in workflow, UNI port info is resolved by looking up the gemToUniMap and put into the packet before passing it to the upper layer. Change-Id: I6b60f7c1964452b6789f6a9905ab04000fe2d33c
The OpenOLT adapter connects the VOLTHA core to an OLT device running the OpenOLT agent.
make targetsThe Makefile contains many commands that are useful in development:
build : Alias for 'docker build' clean : Removes any local filesystem artifacts generated by a build distclean : Removes any local filesystem artifacts generated by a build or test run docker-build-profile : Build openolt adapter docker image with profiling enabled docker-build : Build openolt adapter docker image docker-kind-load : Load docker images into a KinD cluster docker-push : Push the docker images to an external repository help : Print help for each Makefile target lint-dockerfile : Perform static analysis on Dockerfile lint-mod : Verify the Go dependencies lint : Run all lint targets local-lib-go : Copies a local version of the voltha-lib-go dependency into the vendor directory local-protos : Copies a local version of the voltha-protos dependency into the vendor directory mod-update : Update go mod files sca : Runs static code analysis with the golangci-lint tool test : Run unit tests
Some highlights:
It's recommended that you run the lint, sca, and test targets before submitting code changes.
The docker-* targets for building and pushing Docker images depend on the variables DOCKER_REGISTRY, DOCKER_REPOSITORY, and DOCKER_TAG as described in the CORD documentation
If you make changes the dependencies in the go.mod file, you will need to run make mod-update to update the go.sum and vendor directory.
voltha-protos or voltha-lib-goIf you want to build/test using a local copy of the voltha-protos or voltha-lib-go libraries this can be accomplished by using the environment variables LOCAL_PROTOS and LOCAL_LIB_GO. These environment variables should be set to the filesystem path where the local source is located, e.g.:
export LOCAL_PROTOS=/path/to/voltha-protos export LOCAL_LIB_GO=/path/to/voltha-lib-go
Then run make local-protos and/or make local-lib-go as is appropriate to copy them into the vendor directory.
NOTE: That the files in the
vendordirectory are no longer what is in the most recent commit, and it will take manualgitintervention to put the original files back.