This file lists changes for the GoVPP releases.
NOT RELEASED YET
- generator code has been split into multiple packages:
- previously required manual patches for generated code should no longer be needed
- many generated aliases were removed and referenced to
*_types
files for simpler reading - any types imported from other VPP API (
*_types.api
) files are now automatically resolved for generated Go code - marshal/unmarshal methods for memory client messages are now generated
- generated new helper methods for more convenient IP and MAC address conversion
- added option to generate HTTP handlers for RPC services
- RPC service code is now generated into a separated file (
*_rpc.ba.go
) in the same directory and uses low level stream API - generated code now contains comment with information about versions of VPP and binapi-generator
- in addition to the file name, the binapi generator now accepts full path (including extension, e.g.
/usr/share/vpp/api/core/vpe.api.json
) - dependency on
github.com/lunixbochs/struc
was removed - generated helper methods for
vpe_types.Timestamp
- socketclient received a new method to add client name
- added list of compatible messages to
CompatibilityError
- removed global binary API adapter - this change allows GoVPP to manage multiple VPP connections with different sockets simultaneously
- added support for the stats v2. The statsclient adapter recognized the version automatically so the
StatsAPI
remained unchanged. In relation to this change, the legacy support (i.e. stat segment v0) for VPP <=19.04 was dropped. - GoVPP now recognizes VPP state
NotResponding
which can be used to prevent disconnecting in case the VPP hangs or is overloaded - added method
SetLogger()
for setting the global logger StatsAPI
has a new methodGetMemory()
retrieving values related to the statseg memory heap
MsgCodec
will recover panic occurring during a message decoding- calling
Unsubscibe
will close the notification channel - GoVPP omits sending
sockclnt_delete
while cleaning up socket clients in order to remove VPP duplicate close complaints - VPP handles it itself - fixed major bug causing GoVPP to not receive stats updates after VPP restart
- fixed name conflict in generated union field constructors
- size of unions composed of another unions is now calculated correctly
- fixed race condition in the VPP adapter mock
- fixed crash caused by return value of uint kind
- improved log messages to provide more relevant info
- updated extras/libmemif to be compatible again
- default health check parameter was increased to 250 milliseconds (up from 100 milliseconds), and the default threshold was increased to 2 (up from 1)
- added more code samples of working with unions in binapi-types
- added profiling mode to perf bench example
- improved simple client example to work properly even with multiple runs
- added multi-vpp example displaying management of two VPP instances from single application
- added stream-client example showing usage of the new stream API
- updated
github.com/sirupsen/logrus
dep tov1.6.0
- updated
github.com/lunixbochs/struc
dep tov0.0.0-20200521075829-a4cb8d33dbbe
18 May 2020
- statsclient: Fix stats data errors and panic for VPP 20.05
17 April 2020
- binapi-generator: Format generated Go source code in-process
9 April 2020
- proxy: Unexport methods that do not satisfy rpc to remove warning
20 March 2020
- statsclient: Fix panic occurring with VPP 20.05-rc0 (master)
18 March 2020
- Fix import path in examples/binapi
18 March 2020
- binapi-generator: Fix parsing default meta parameter
- api: Improve compatibility checking with new error types:
adapter.UnknownMsgError
andapi.CompatibilityError
- api: Added exported function
api.GetRegisteredMessageTypes()
for getting list of all registered message types - binapi-generator: Support imports of common types from other packages
- binapi-generator: Generate
Reset()
method for messages - binapi-generator: Compact generated methods
- deps: Update
github.com/bennyscetbun/jsongo
tov1.1.0
- regenerate examples/binapi for latest VPP from stable/2001
04 November 2019
- fixed socketclient for 19.08
- fixed binapi compatibility with master (20.01-rc0)
- fixed panic during stat data conversion
- introduce proxy for remote access to stats and binapi
- optimizations for statclient
- migrate to Go modules
- print info for users when sockets are missing
03 July 2019
The first release that introduces versioning for GoVPP.