Age | Commit message (Collapse) | Author | Files | Lines |
|
This patch does some small updates to the Makefile.
* `make gen-binapi-from-code` is removed, and moves to
`gen-binapi-local`
* `make build` is patched to build cmd & examples
* `make binapi-generator` to build the api-generator
without other binaries, as they typically require its
output to build.
* `make gen-binapi-local` runs the locally built binapi-generator
to update the local bindings. It expects ${VPP_DIR} to be set and
to point to a local vpp repository checked out with the right version
* `make gen-binapi-internal` runs the locally built binapi-generator
to update the bindings in `internal/testbinapi/binapi2001`
Regarding VPP, notable changes when moving to v22.02 are :
- ControlPing moved from vpe to memclnt
- CliInband went from vpe to vlib
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Change-Id: Ie5cd2d5ded7ecaffd9abc3ca675df40be272b1fa
|
|
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
Change-Id: I7de363dfb3930db13a30e97f154c57d75c07f01c
|
|
* ListStats() returns stats identifiers containing the stat name and index
* New method PrepareDirOnIndex(indexes...). Instead of the name filter
it does not browse through all available indexes
* Stats example shows how to get the last epoch value (added "e" or "epoch" command)
Change-Id: Ibb15090fb0dfdb7f9b0ecf8ac07a5eb9a9ace8f8
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
|
|
Change-Id: Ib5674fee5862a2b16f4b0044b6f6af533a7b6b33
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
|
|
Instead of a single value, the ErrorCounter now contains
an array representing couter values per workers.
Change-Id: I2b869e5b228bcb3e155b1fef08a4cd00e7d2e16a
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
|
|
The stats socket now allows an option to connect asynchronously in
the same manner as the api socket connection. New method
AsyncConnectStats returns a channel where notificaitons
of type ConnectionEvent will be sent.
Fixed the stats reconnect procedure which sometimes failed to re-eneable
the connection.
Change-Id: I0bdb19f0d57e3a1ea259b8b1ba0a5e5fa49a09db
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
|
|
Change-Id: I08f5ba1fb5ec02717e5715447837ca3b75fa894d
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
|
|
Retrieved numbers relate to the statseg heap.
Change-Id: I72750183db3524481918c71c993b39e65c28ddb6
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
|
|
- fixes encoding/decoding of float64 - uses little endian (contrary to all other types)
- generates helper methods for vpe_types.Timestamp type
- adds usage code to simple-client and binapi-types examples
Change-Id: I2e83eee0629eb67964049406c50c7ee0a692ccaf
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
* Stream API uses the same default values as the Channel API
* request size, reply size and reply timeout settable using
functional options
* Added stream client example to show the stream API usage
Change-Id: Id599134a7f520fc19f7d770ed5e3de74a7936829
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
|
|
* In addition to configuring multiple VPPs it now also shows
how to connect and read stats from several VPPs at once
* Added a brief readme
* More readable example log output
* May run in a loop
Change-Id: Ifa5d54e954557e7b6569826a48c526185ec751a3
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
|
|
- fixed allocating byte slices before copying decoded data
- simplified encoding functions
- several minor improvements
Change-Id: I6669424b89eb86333805cb1b57e4551169980cc2
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- simplified Size/Marshal/Unmarshal methods
- replace struc in unions with custom marshal/unmarshal
- fix imports in generated files
- fix mock adapter
- generate rpc service using low-level stream API (dumps generate control ping or stream msg..)
- move examples/binapi to binapi and generate all API for latest release
- add binapigen.Plugin for developing custom generator plugins
- optionally generate HTTP handlers (REST API) for RPC services
- add govpp program for browsing VPP API
Change-Id: I092e9ed2b0c17972b3476463c3d4b14dd76ed42b
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
* use generated Marshall/Unmarshall for socket client connection
messages instead of the generic wrapper
Change-Id: Ie1049e080630dbc60085debc6875e17962e93a0e
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
|
|
* added example showing management of 2 VPP instances with different sockets
* updated changelog
Change-Id: I531eda8f055cc2a24ba2210217e70a8ad42a47c0
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
|
|
* Many aliases removed, aliased types reference original types via import instead
* Added various helper methods for simpler conversion between go and vpp types
Change-Id: I7999ac8d524cece4da03e6447b13421659765095
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
|
|
Change-Id: I2698e11b76ff55d9730b47d4fee990be93349516
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: Idd76c7f19d952939caf153928ac60175845078ff
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I5a6abb68b9d058866f94818169300e5c2fc43895
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
This commit includes:
Features
- optimized [socketclient](adapter/socketclient) adapter and add method to set client name
- added list of compatible messages to `CompatibilityError`
Fixes
- `MsgCodec` will recover panic occurring during a message decoding
- calling `Unsubscibe` will close the notification channel
Other
- improved log messages to provide more relevant info
Examples
- added more code samples of working with unions in [union example](examples/union-example)
- added profiling mode to [perf bench](examples/perf-bench) example
- improved [simple client](examples/simple-client) example to work properly even with multiple runs
Dependencies
- updated `github.com/sirupsen/logrus` dep to `v1.6.0`
- updated `github.com/lunixbochs/struc` dep to `v0.0.0-20200521075829-a4cb8d33dbbe`
Change-Id: I136a3968ccf9e93760d7ee2b9902fc7e6390a09d
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
This commit:
- removes dependency on gofmt tool
- cleans up package imports
- re-generates binapi for VPP 20.01
Change-Id: Ie4347720f92a87eb278be66c9f9ed9719c7bbbc3
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I6af1ae2778b73f37be09c64a2948417e576f02ab
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- regenerate examples/binapi for latest VPP from stable/2001
- add import-prefix flag to set custom prefix (fallbacks to using go list)
Change-Id: Ib09f134cf9662e348be2575448964de2b9e5c1ee
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- added CompatibilityError to api package to represent error with
list of incompatible messages
- added UnknownMsgError to adapter package to represent error for
unknown message
- added list of registered message types
Change-Id: I2623b45135521d52612ba91e4605fc064a7fc76e
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- update info in package ./version
- update to Go 1.13
- regenerate ./examples/binapi for latest VPP: 19.08.1-release
- clean code in proxy
- refactor Makefile
Change-Id: Ibf5c2682c2f4b3cbbea4aa1e35d3f02175d40a9b
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- this dramatically improves performance for stats data collection
- memory allocation is now done only when stat dirs change
- updating prepared stat dir does not need to allocate memory
- created integration test for testing stats client
- added NumWorkerThreads and VectorRatePerWorker to SystemStats
- added ReduceSimpleCounterStatIndex, ReduceCombinedCounterStatIndex for
aggregating specific index
Change-Id: I702731a69024ab5dd0832bb5cfe2773a987359e5
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- fixed generator for new string types
- update simple client example
- regenerate examples binapi for VPP 19.08
Change-Id: If4fe78c130d95641f35f75cd0262b35b032acaf8
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I1a6839e3bbb8d599fcbdbc2b1aff7c81f7d263c9
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- migrate to Go modules and remove vendor
- refactor Makefile
- add version package and store version
- split extras from the rest
- use travis for CI
Change-Id: I81b35220653b0f7c9a0fcdd4c527d691ec1e96c1
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: Ibdbfcb78b05cf80945a93ed424a7a2a03b6ea06d
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- RPC service client implementation for dumps requests
now streams responses
- RPC service generation is now enabled by default
- examples now allow setting binapi socket address
- input dir flag for binapi-generator will recursively look
into dirs to support core/plugins in /usr/share/vpp/api
- minor improvements in debug logs
- add support for VPP 19.04 for statsclient
Change-Id: I0939ee3aa6e9f850d073fc5c87aff4ccc56b0d70
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: Ia5bab652c6089378697459f477f9060dc7a53e90
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- method GetCrcString() was also removed from DataType interface
- fix generated comment for services
- fix permissions for created files and directories
Change-Id: If0b7a57e01f1128b5ba574fc5ee13b6a7c6aa6fd
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- generate service implementation for modules
- generate conversion maps and String() method for enums
- generate module name and version as constants
- rename Union_data field to XXX_UnionData for consistency
- generate constant GoVppAPIPackageIsVersionN for checking compatibility with API
- add example for using service clients
- add some documentation to socketclient adapter
- cleanup gen.go file used for generating binapi
- regenerate binapi with latest VPP release (19.04.1)
- change global variables Messages into a function AllMessages
Change-Id: Id1ef97764570759eaa3e5a4dc14ecda7a168ee39
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I15d1df825b4d4fc760da83d9c878a621936bb6fa
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I3a6bcb635701c0f00e47d04fce2113e1ac23b67b
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: Ie118b0c254e5d70e66d5cb4a5f6eb8fa852f0ed8
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
|
|
Change-Id: Ibf9edc0e5911d08229ac590b37c5afbc27f424a0
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- see stats-api example
Change-Id: I11d29d32b60d25238e75cb6b86ee34842348ab38
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- added CheckCompatibility for checking if given messages are compatible
- generating Messages global for easier usage of compatibility check
- added ReconnectInterval and MaxReconnectAttempts for reconnecting
- added Failed state that is sent after exceeding max reconnect attempts
Change-Id: I1062ba453f22657c1a2a31aa64cb103ef1223b0f
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- generator now supports include-comments flag (as opt-in)
- minor code cleanup in binapi-generator
- remove obsolete unit tests
- flatten examples from examples/cmd folder
- introduce constant for checking compatibility in future versions
Change-Id: I3545f2ba4b869a3b51d6d0de7e742f3f1e1be392
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- all objects are now sorted alphabetically for more consistent output
- unions now have constructor generated
- log level for warnings was changed to debug
- GetAllMessages renamed to GetRegisteredMessages
Change-Id: I976453004a2fd8b6cb95ca0acfcef56913bf8d38
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- strings are now generated as two fields for length and string itself
- aliases are now sorted by name to prevent generating different code
- dependencies are now managed by dep
- binapi files are regenerated using VPP 19.01-rc0~622-g7b01e9e8
- old stats binary api has been deprecated and removed from VPP
Change-Id: Ieb8515c73021339a45f407386f8e3d87dcf4469e
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- aliases are now generated as new types or arrays (if length > 0)
- bool is recognized as a boolean type and generated as Go bool
- comment with original JSON is now prepended for each object type
- interface Services is now generated at the top of the file to provide
overview of what RPC services does the current module consists of
- dump services now correctly return slice of the particular details type
Change-Id: I788babc1c0f2de33e0febd87e5b200d54065b244
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I3ec848c3c7ba00481f6642c01e446bba935abf5b
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: If25c7d05c42fbed6c43558f84fb86aca6c5af4d5
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- this implementation is basically Go wrapper around VPP's vppapiclient C library
Change-Id: I6f53dc3e228868834bf3a8a00c686ad05e22f3dd
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: Ie48cc0a641242625daf55caf00ab630e78aa86b7
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- there is no need for sending subscription requests through channels,
since all the messages are registered and no communication with VPP
is needed
Change-Id: Ibc29957be02a32e26309f66c369a071559b822a9
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I62a7a27adbb44b9d8070b448c17bb7781b0637fe
Signed-off-by: Ondrej Fabry <ondrej.fabry@pantheon.tech>
|