tree: b4e468350891b240163429c4858459a7abdf7c28 [path history] [tgz]
  1. Makefile
  2. README.md
  3. asfvolt16_driver.c
  4. asfvolt16_driver.h
  5. bal_access_terminal_hdlr.c
  6. bal_access_terminal_hdlr.h
  7. bal_flow_hdlr.c
  8. bal_flow_hdlr.h
  9. bal_group_hdlr.c
  10. bal_group_hdlr.h
  11. bal_indications_hdlr.c
  12. bal_indications_hdlr.h
  13. bal_interface_hdlr.c
  14. bal_interface_hdlr.h
  15. bal_packet_hdlr.c
  16. bal_packet_hdlr.h
  17. bal_stats_hdlr.c
  18. bal_stats_hdlr.h
  19. bal_subscriber_terminal_hdlr.c
  20. bal_subscriber_terminal_hdlr.h
  21. bal_tmqueue_hdlr.c
  22. bal_tmqueue_hdlr.h
  23. bal_tmsched_hdlr.c
  24. bal_tmsched_hdlr.h
src/README.md

GRPC_C DEVICE SIMULATOR

This is a executable(voltha_bal_driver), which will recevie asfvolt16 adapter grpc-c messages and call respective device stub. It will send recevied 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 voltha_bal_driver.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 voltha_bal_driver: - Note: Remove "-O2" from Makefile - make clean_all;make

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

USAGE: ./voltha_bal_driver "serverIP:port1" -C "serverIP:port2" -A "serverIP:port3" ./bal_core_dist -C "serverIP:port2" -A "serverIP:port3"

NOTE: bal_core_dist is a broadcom executable

CONTRIBUTING

VERSIONING

AUTHORS Radisys Adapter Team

Licence

Acknowledgments