VPP (Vector Packet Processing) agent that exposes APIs using gRPC.
- git
- Erlang 24 or greater
- Elixir 13 or greater
- Openssl devel: for ubuntu 20.04 its libssl-dev
$ git clone https://<username>:<token>@github.com/equinix-gnae/vpp_agent_ex.git
$ mix deps.get
# iex -S mix grpc.server
If available in Hex, the package can be installed
by adding vpp_agent_ex to your list of dependencies in mix.exs:
def deps do
[
{:vpp_agent_ex, "~> 0.1.0"}
]
end
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/vpp_agent_ex.
$ sudo apt install libwxgtk-webview3.0-gtk3-dev libwxgtk-webview3.0-gtk3-0v5
From https://github.com/elixir-protobuf/protobuf#usage
and https://github.com/elixir-grpc/grpc
$ brew install protobuf
# export PATH=~/.mix/escripts:$PATH
$ mix escript.install hex protobuf
$ cd priv/protos
$ protoc --elixir_out=plugins=grpc:../../lib/vpp_agent_ex/grpc/vpp vpp.proto
For python client follow https://grpc.io/docs/languages/python/quickstart/
$ python3.10 -m pip install grpcio
$ python3.10 -m pip install grpcio-tools
$ cd priv/protos
$ python3.10 -m grpc_tools.protoc -I . \
--python_out=../../examples/python_grpc_client\
--grpc_python_out=../../examples/python_grpc_client\
vpp.proto