+--------------------------+------------+--------------------------+ | | NBI (REST) | | | +------------+ | | | | Voltha-Go-Controller +--------+ | | | VGCCTL | | | +------------------------------------------+ +--------+ | | | Applications | | | +------------------------------------------+ +---------+ | | | NB | | | +------------------------------------------+ | HANDLER | | | | Controller | +---------+ | | +------------------------------------------+ | | +---------+ | | +------------------------------------------+ | DB | | | | VPAgent | | HANDLER | | | +------------------------------------------+ | (Redis) | | | +---------+ | +------------------------------------------------------------------+ | | gRPC | +------------------------------------------+ | | | Voltha | | | +------------------------------------------+
curl --request POST -H Content-Type:application/json http://$VGC_POD_IP:8181/profiles/service1 -d @addbw.json addbw.json: { "id": "High-Speed-Internet", "gir": 50000, "cbs": 10000, "cir": 50000, "pbs": 1000, "pir": 300000 }
curl --request POST -H Content-Type:application/json http://$VGC_POD_IP:8181/subscribers/service1 -d @addsub.json addsub.json { "id": "service1", "nasPortId": "XXXX429d750e-1", "uniTagList": [ { "uniTagMatch": 4096, "ponCTag": 4096, "ponSTag": 140, "technologyProfileId": 64, "downstreamBandwidthProfile": "High-Speed-Internet", "upstreamBandwidthProfile": "High-Speed-Internet" } ] }
curl --request DELETE http://$VGC_POD_IP:8181/subscribers/service1
device : Lists Device Info group : Lists configured Groups vnet : Lists configured VNET profiles tasklist : Lists TaskList igmp : Displays current IGMP configuration mcast : Displays current MCAST configuration flows : Lists configured flows service : Lists configured services mvlan : Lists configured MVLANs dhcpsession : Lists DHCP Session Info port : Lists all the logical ports igmpgroup : Lists configured IGMP Groups meter : Lists all the meter profiles vpvs : Lists configured vpvs igmpchannel : Lists configured IGMP channels igmpport : Lists configured IGMP ports igmpdevice : Lists configured IGMP devices
Use the package manager pip to install foobar.
Compatible goLang version: go1.16.3 Compatible Redis version: github.com/go-redis/redis/v8 v8.3.4
build : Build voltha-go-controller image clean : Removes any local filesystem artifacts generated by a build help : Print help for each Makefile target lint-dockerfile : Perform static analysis on Dockerfile lint : Run all lint targets lint-mod : Verify the Go dependencies 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
Clone "voltha-go-controller" cd voltha-go-controller go mod vendor make clean; make build
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.