diff options
-rw-r--r-- | docs/sources/grpc-client.md | 64 | ||||
-rw-r--r-- | tools/grpc/cpp/README.md | 60 |
2 files changed, 62 insertions, 62 deletions
diff --git a/docs/sources/grpc-client.md b/docs/sources/grpc-client.md index a7c979e3..a52afd80 100644 --- a/docs/sources/grpc-client.md +++ b/docs/sources/grpc-client.md @@ -2,13 +2,14 @@ This page explains how to managing GoBGP with your favorite Language. You can use any language supported by [gRPC](http://www.grpc.io/) (10 -languages are supported now). This page gives an example in Python. It -assumes that you use Ubuntu 14.04 (64bit). +languages are supported now). This page gives an example in Python, +Ruby, and C++. It assumes that you use Ubuntu 14.04 (64bit). ## Contents - [Python](#python) - [Ruby](#ruby) +- [C++](#cpp) ## <a name="python"> Python @@ -164,3 +165,62 @@ BGP neighbor is 192.168.10.3, remote AS 65001 Configured hold time is 90 D0827 18:43:24.628846574 3379 iomgr.c:119] Waiting for 1 iomgr objects to be destroyed and executing final callbacks ``` + +## <a name="cpp"> C++ + +For gRPC we need so much dependencies, please make coffee and be ready! + +### Install ProtoBuffers: +```bash +apt-get update +apt-get install -y gcc make autoconf automake git libtool g++ curl + +cd /usr/src +wget https://github.com/google/protobuf/archive/v3.0.0-alpha-4.tar.gz +tar -xf v3.0.0-alpha-4.tar.gz +cd protobuf-3.0.0-alpha-4/ +./autogen.sh +./configure --prefix=/opt/protobuf_3.0.0_alpha4 +make -j 4 +make install +``` + +### Install gRPC: +```bash +apt-get update +apt-get install -y gcc make autoconf automake git libtool g++ python-all-dev python-virtualenv + +cd /usr/src/ +git clone https://github.com/grpc/grpc.git +cd grpc +git submodule update --init +make -j 4 +make install prefix=/opt/grpc +``` + +Add libs to the system path: +```bash +echo "/opt/grpc/lib" > /etc/ld.so.conf.d/grpc.conf +echo "/opt/protobuf_3.0.0_alpha4/lib" > /etc/ld.so.conf.d/protobuf.conf +ldconfig +``` + +Clone this repository and build API example: +```bash +export PATH="$PATH:/opt//grpc/bin:/opt/protobuf_3.0.0_alpha4/bin/" + +cd /usr/src +git clone https://github.com/osrg/gobgp.git +cd gobgp/api/cpp +cp ../gobgp.proto gobgp_api_client.proto +make +``` + +### Let's run it: +```bash +./gobgp_api_client +We received: Peer AS: 65001 +Peer router id: 213.133.111.200 +Peer flops: 0 +BGP state: BGP_FSM_ESTABLISHED +``` diff --git a/tools/grpc/cpp/README.md b/tools/grpc/cpp/README.md deleted file mode 100644 index 924af8ed..00000000 --- a/tools/grpc/cpp/README.md +++ /dev/null @@ -1,60 +0,0 @@ -Here you could find nice examples for gobgpd API with C++ client. - -I'm using Ubuntu 14.04 LTS x86_64. - -For gRPC we need so much dependencies, please make coffee and be ready! - -Install ProtoBuffers: -```bash -apt-get update -apt-get install -y gcc make autoconf automake git libtool g++ curl - -cd /usr/src -wget https://github.com/google/protobuf/archive/v3.0.0-alpha-4.tar.gz -tar -xf v3.0.0-alpha-4.tar.gz -cd protobuf-3.0.0-alpha-4/ -./autogen.sh -./configure --prefix=/opt/protobuf_3.0.0_alpha4 -make -j 4 -make install -``` - -Install gRPC: -```bash -apt-get update -apt-get install -y gcc make autoconf automake git libtool g++ python-all-dev python-virtualenv - -cd /usr/src/ -git clone https://github.com/grpc/grpc.git -cd grpc -git submodule update --init -make -j 4 -make install prefix=/opt/grpc -``` - -Add libs to the system path: -```bash -echo "/opt/grpc/lib" > /etc/ld.so.conf.d/grpc.conf -echo "/opt/protobuf_3.0.0_alpha4/lib" > /etc/ld.so.conf.d/protobuf.conf -ldconfig -``` - -Clone this repository and build API example: -```bash -export PATH="$PATH:/opt//grpc/bin:/opt/protobuf_3.0.0_alpha4/bin/" - -cd /usr/src -git clone https://github.com/osrg/gobgp.git -cd gobgp/api/cpp -cp ../gobgp.proto gobgp_api_client.proto -make -``` - -Let's run it: -```bash -./gobgp_api_client -We received: Peer AS: 65001 -Peer router id: 213.133.111.200 -Peer flops: 0 -BGP state: BGP_FSM_ESTABLISHED -``` |