GRPC_C DEVICE SIMULATOR

This is a executable(bal_server), which will receive asfvolt16 adapter grpc-c messages and call respective device stub. It will send received responses/asynchronous indications from Device stub to Adapter.

GETTING STARTED

prerequisites to install grpc

  • sudo apt-get install build-essential libxml2-dev libgeos++-dev libpq-dev libbz2-dev libtool automake openssl libssl-dev golang-goprotobuf-dev

INSTALLATION

steps to install grpc

steps to install grpc-c

  • cd grpc-c/thirdparty/protobuf-c
    • ./autogen.sh
    • ./configure
    • export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/protobuf
    • export LD_LIBRARY_PATH=/usr/local/lib
    • make
    • sudo make install

Apply grpc-c patch

  • cd grpc-c/ Patch 1: Apply patch in following link for grpc-c/lib - "https://github.com/Juniper/grpc-c/commit/353b40cd920cd749ed6cf71f8df17f1d5cf2c89d" Note: (This patch is having very few changes in two files(grpc-c/lib/client.c, grpc-c/lib/service.c. Download these two files from above link and replace at grpc-c/lib or merge these changes manually.)
    Patch 2: Apply patch in service.c.patch and client.c.patch
    • cp Makefile.am grpc-c/examples/
    • cp bal_server.c grpc-c/examples/
    • cp bal_stub.c grpc-c/examples/
    • cp bal_stub.h grpc-c/examples/
      • Note: Update voltha adaptor IP in bal_stub.c
    • autoreconf --install
    • mkdir build && cd build
    • ../configure
    • make
    • sudo make install

To obtain proto files - Have a repo sync of opencord code base: - cp opencord/incubator/voltha/voltha/adapters/asfvolt16_olt/protos/* examples/

To autogenerate code from proto files: - make autogen

Build bal_server: - Note: Remove "-O2" from Makefile - make clean_all;make

The ultimate executable bal_server can be found under ~/grpc-c/build/examples/.libs/

USAGE: ./bal_server "serverIP:port"

CONTRIBUTING

VERSIONING

AUTHORS Radisys Adapter Team

Licence

Acknowledgments