You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note
This document contains info about proposal for the GoVPP CLI application.
Warning
The document is a work in progress and some of the information might be changed or removed.
Intro
The GoVPP CLI is an application to be used for any interaction with VPP API. It can consume VPP API files statically to parse then, build schema from it and then do additional processing of the data. And also, it can call the VPP API services in a running VPP instance for various purposes, such as sending VPP API requests from bash scripts, testing API handlers, measuring performance, running a proxy.. etc.
Features
Here's brief summary of features the GoVPP CLI would provide:
list VPP API file(s) and its contents (simple, table.. or formatted: json, yaml..)
query (filter) VPP API contents (e.g. list all events, list all messages containing field with name...)
run linter for the VPP API schema(s) using a set of linting rules (possibly loading them from config file)
compare VPP API schemas to produce list of changes
check for breaking changes between VPP API schemas
generate code bindings (potentially replacing the binapi-generator)
run a proxy for allowing remote access to VPP API (or possibly some kind of broker for managing several VPP instances)
start a HTTP server with auto-generated handlers for entire VPP API of any VPP version (without any generated code bindings)
..and definitely much much more will be possible!
Demonstration
Below are few usage examples demonstrating the some of the GoVPP CLI commands.
List VPP API
List all VPP API files in a schema as a table including brief summary about their contents:
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Intro
The GoVPP CLI is an application to be used for any interaction with VPP API. It can consume VPP API files statically to parse then, build schema from it and then do additional processing of the data. And also, it can call the VPP API services in a running VPP instance for various purposes, such as sending VPP API requests from bash scripts, testing API handlers, measuring performance, running a proxy.. etc.
Features
Here's brief summary of features the GoVPP CLI would provide:
Demonstration
Below are few usage examples demonstrating the some of the GoVPP CLI commands.
List VPP API
List all VPP API files in a schema as a table including brief summary about their contents:
govpp vppapi
Print VPP API file(s) in JSON
Print the definition VPP API file(s) using JSON format:
govpp vppapi -json
Send CLI command via VPP API
Send CLI command to VPP via VPP API (using
vlib.CliInband
):govpp cli "show version"
# show version vpp v22.10-rc1~1-g569763f94~b3 built by root on ac322d2c016f at 2022-09-27T14:23:54
Beta Was this translation helpful? Give feedback.
All reactions