commit | 47f99de6e97d5f8b849869a458fa2c9c7656e505 | [log] [tgz] |
---|---|---|
author | khenaidoo <knursimu@ciena.com> | Thu May 20 13:22:49 2021 -0400 |
committer | khenaidoo <knursimu@ciena.com> | Tue May 25 13:38:32 2021 -0400 |
tree | 1c42d6bf33531490bfdd7c44bfde42dce1d7db9e | |
parent | b02c6b9ed71d0c04eba0a8f754bb8f67b04ecfd3 [diff] |
[VOL-4123] Fix no flows being discarded by ofAgent This commit fixes an issue in ofAgent where it fails to send stats to ONOS if there are no flows/ no ports/ no port desc. This situation arises if the rw-core does not persist flows and is restarted. This fix was tested with a rw-core that does not persist flows, meters and groups. The rw-core was restarted after 512 ONUs were already activated and had their flows pushed. After the rw-core retart, with this fix, the flows were pushed from ONOS. Change-Id: I10ee627e4153134ec5a5d12d1dcd67f64213e83d
Ofagent-go provides an OpenFlow management interface for Voltha. It is a rewrite in Golang of the original ofagent that was written in python / twisted. The main driver behind the work was to introduce true concurrency to the agent for performance/scalability reasons.
Outside $GOPATH
git clone https://github.com/opencord/ofagent-go.git
git clone https://gerrit.opencord.org/ofagent-go
Compile go build -mod=vendor -o ./build/ofagent-go
./build/ofagent-go -ofaddress=localhost openflowPort=6653 -volthaAddress=localhost -volthaPort=50057
./build/ofagent-go -debug -ofaddress=localhost openflowPort=6653 -volthaAddress=localhost -volthaPort=50057
voltha-protos
or voltha-lib-go
If you want to build/test using a local copy or voltha-protos
or voltha-lib-go
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.
LOCAL\_PROTOS=$HOME/src/voltha-protos LOCAL\_LIB\_GO=$HOME/src/voltha-lib-go
When these environment variables are set the vendored versions of these packages will be removed from the vendor
directory and replaced by coping the files from the specified locations to the vendor
directory. NOTE: this means that the files in the vendor
directory are no longer what is in the git
repository and it will take manual git
intervention to put the original files back.