voltha-grpc-client

command
v0.0.0-...-8f485f0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2021 License: Apache-2.0 Imports: 16 Imported by: 0

README

Voltha Golang GRPC Client

Introduction

This GoLang library is meant to be used as a layer between C libraries that need to interact with Voltha.

The Voltha GRPC Go api was generated by first copying all the voltha .proto files located under:

../../voltha/protos

Followed by the execution of the command:

protoc --go_out=plugins=grpc:. *.proto

TODO(s)

  • At the moment, the resulting API files had to be manually fixed to obtain a working solution. There were conflicting imports throughout the file. It still needs to be investigated

  • The user-facing API, i.e. the exported methods with the main voltha.go file, need to be manually added. Only a few commands have been completed as it requires a lot of effort to translate between the GRPC data model to C model that can be used by C libraries.

  • As a first attempt to auto-generate some of the code, a utility executable (generate-c-header .go) was implemented to create the C header that defines all the necessary C data structures based on the available Voltha GRPC data structures. This utility still needs some polishing.

Documentation

Overview

  • Copyright 2017-present Open Networking Foundation

  • Licensed under the Apache License, Version 2.0 (the "License");

  • you may not use this file except in compliance with the License.

  • You may obtain a copy of the License at

  • http://www.apache.org/licenses/LICENSE-2.0

  • Unless required by applicable law or agreed to in writing, software

  • distributed under the License is distributed on an "AS IS" BASIS,

  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  • See the License for the specific language governing permissions and

  • limitations under the License.

  • Copyright 2017-present Open Networking Foundation

  • Licensed under the Apache License, Version 2.0 (the "License");

  • you may not use this file except in compliance with the License.

  • You may obtain a copy of the License at

  • http://www.apache.org/licenses/LICENSE-2.0

  • Unless required by applicable law or agreed to in writing, software

  • distributed under the License is distributed on an "AS IS" BASIS,

  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  • See the License for the specific language governing permissions and

  • limitations under the License.

package voltha

Directories

Path Synopsis
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
adapter
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
common
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
device
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
events
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
health
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
logical_device
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
meta
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
openflow_13
Package openflow_13 is a generated protocol buffer package.
Package openflow_13 is a generated protocol buffer package.
ponsim
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
schema
Package schema is a generated protocol buffer package.
Package schema is a generated protocol buffer package.
yang_options
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL