Ondrej Fabry [Tue, 2 Jul 2019 09:56:56 +0000 (11:56 +0200)]
Fix duplicate types
- .api.json input files from VPP now sometimes contain duplicate objects
- parsing is skipped if type is already known
Change-Id: Ibf28f5baa68f6cfb40aeb75e1bde72241120ac23
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Mon, 1 Jul 2019 11:39:32 +0000 (13:39 +0200)]
Fix reading statsclient entries
- omit entries with empty/invalid names
- change log level to debug for invalid entries
- remove some excessive debug logs
- improve log message when falling back to old stat segment version
Change-Id: If9ceae9a42e586172bbec130452fba9dfbab2cd7
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Wed, 26 Jun 2019 14:28:20 +0000 (16:28 +0200)]
Improvements for binapi-generator and support VPP 19.04 in statsclient
- 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>
Ondrej Fabry [Thu, 20 Jun 2019 16:52:30 +0000 (18:52 +0200)]
Add statsclient - pure Go implementation for stats API
Change-Id: Ia5bab652c6089378697459f477f9060dc7a53e90
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Wed, 12 Jun 2019 16:37:20 +0000 (18:37 +0200)]
Fix parsing API with removed CRC for types and unions
- 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>
Ondrej Fabry [Thu, 6 Jun 2019 12:08:48 +0000 (14:08 +0200)]
Add various generator improvements
- 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>
Ondrej Fabry [Tue, 4 Jun 2019 12:47:19 +0000 (14:47 +0200)]
Fix union data size for types with enums
- this also fixed proper alphabetical order for struct tags
- env var DEBUG_BINAPI_GENERATOR=y can be used to enable debug mode
Change-Id: I5b08a696ad2ff2a297872f231f9229cd956ee443
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Fri, 31 May 2019 06:56:20 +0000 (08:56 +0200)]
Support for error vectors
- this fixes compilation error for VPP 19.08 and keeps
backwards compatibility with previous versions
Change-Id: Ib58557a090caa5e8342c0cb21de8af684cb18137
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Mon, 27 May 2019 07:13:32 +0000 (07:13 +0000)]
Merge "Add support for field meta data to binapi-generator"
Ondrej Fabry [Mon, 27 May 2019 07:03:12 +0000 (09:03 +0200)]
Add support for field meta data to binapi-generator
Change-Id: Id0164d36727d070e395a522000f2e09ee5444bd0
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Tue, 21 May 2019 09:30:20 +0000 (11:30 +0200)]
Change default adapter to socketclient and cleanup some logs
Change-Id: I16ae8dbb5214e022304f4e8ae60798b370567fc8
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Tue, 14 May 2019 22:01:28 +0000 (00:01 +0200)]
Try using different type of unix socket connection
Change-Id: I6abde10043c4ff4d42d15a39cca10f82327d83dc
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Mon, 6 May 2019 14:28:17 +0000 (16:28 +0200)]
Fix compilation for VPP 19.01
This commit introduces header files for wrapping vppapiclient library.
The stat_client_wrapper.h now uses macro to determine version of stats API.
Change-Id: Ife218e0e90742e9a22fd12ca77307fbd0cc7d714
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Tue, 23 Apr 2019 12:43:25 +0000 (14:43 +0200)]
Add comments to provide info about VPP requirements
Change-Id: I116b9c0ab064418940eec82fb1442d30816386d7
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Rastislav Szabo [Thu, 18 Apr 2019 06:31:25 +0000 (06:31 +0000)]
Merge "Add buffer pool stats"
Ondrej Fabry [Thu, 18 Apr 2019 00:25:34 +0000 (02:25 +0200)]
Add buffer pool stats
Change-Id: I15d1df825b4d4fc760da83d9c878a621936bb6fa
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Thu, 18 Apr 2019 00:23:48 +0000 (02:23 +0200)]
Check if dir ls/dump returns nil
Change-Id: I9a0a74f53825fc0255bc664c06e32eaef6c45d82
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Tue, 16 Apr 2019 13:13:18 +0000 (15:13 +0200)]
Fix crash in stats for removed interfaces/nodes
Change-Id: I36b4cd2625c7f0c5846fe402be7b2aeece4707f8
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Thu, 11 Apr 2019 08:59:49 +0000 (10:59 +0200)]
Add support for names vector and fill name in interface/node stats
Change-Id: I3a6bcb635701c0f00e47d04fce2113e1ac23b67b
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Fri, 5 Apr 2019 21:57:56 +0000 (23:57 +0200)]
Split outgoing packet data by 4096 bytes
Change-Id: I92e2b60c1460873e890b0e9b6736b5a221742349
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Fri, 5 Apr 2019 08:34:37 +0000 (08:34 +0000)]
Merge "Exposed input_queue_size argument to user"
Ondrej Fabry [Fri, 5 Apr 2019 08:31:02 +0000 (10:31 +0200)]
Exposed input_queue_size argument to user
Change-Id: If617c61bab4c5ee8ea41ec17932132050bf5cdba
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Fri, 5 Apr 2019 08:18:33 +0000 (10:18 +0200)]
Fix WaitReady for VPP client adapters
Change-Id: I57d29a819132d4894691e1131b7d79e19c90456e
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Vladimir Lavor [Thu, 4 Apr 2019 12:36:34 +0000 (14:36 +0200)]
fix govpp, add more checks to makefile
Change-Id: Ie118b0c254e5d70e66d5cb4a5f6eb8fa852f0ed8
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
Vladimir Lavor [Thu, 4 Apr 2019 11:37:53 +0000 (13:37 +0200)]
socketclient: wait for socket to be created
domain sockets are checked/watched for existence in same
manner as shm prefixes
also the connection attempts and timeout in between can
be configured for async-connect
Change-Id: I084a3efaefea10d106866968deab90d3fda77cfe
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
Nicolas PLANEL [Thu, 21 Mar 2019 22:05:05 +0000 (23:05 +0100)]
Fixup build with golang 1.12
_Ctype_ direct call are prohibited, use C namespace instead.
Change-Id: Ifd77469e15a10ce8381b8308282d549c62f1318c
Signed-off-by: Nicolas PLANEL <nplanel@redhat.com>
Nicolas PLANEL [Wed, 20 Mar 2019 13:14:10 +0000 (14:14 +0100)]
fixup race on ch.reqChan
git.fd.io/govpp.git/core/request_handler.go:37
git.fd.io/govpp.git/core/channel.go:188
Change-Id: I5be8be5e3ca105822ea4bb3b9690938634950d78
Signed-off-by: Nicolas PLANEL <nplanel@redhat.com>
Ondrej Fabry [Fri, 8 Mar 2019 10:18:22 +0000 (11:18 +0100)]
Add socketclient implementation
Change-Id: Ibf9edc0e5911d08229ac590b37c5afbc27f424a0
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Tue, 19 Feb 2019 12:57:12 +0000 (13:57 +0100)]
Introduce higer-level API for retrieving statistics
- see stats-api example
Change-Id: I11d29d32b60d25238e75cb6b86ee34842348ab38
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Fri, 8 Feb 2019 07:38:56 +0000 (08:38 +0100)]
Add support for using multiple generated versions
- 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>
Ondrej Fabry [Fri, 8 Feb 2019 00:16:32 +0000 (01:16 +0100)]
Generator improvements and cleanup
- 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>
brecode [Thu, 7 Feb 2019 21:07:11 +0000 (13:07 -0800)]
Mock VPP adapter nit
- change the api reference from api.GetAllMessages()
to GetRegisteredMessages()
Change-Id: I8ba43b7640f3482e8398dd1e35dd74d71de0fc4e
Signed-off-by: Nikos Bregiannis <nikos.bre@gmail.com>
Rastislav Szabo [Thu, 31 Jan 2019 07:28:52 +0000 (07:28 +0000)]
Merge "Generator improvements"
Ondrej Fabry [Thu, 31 Jan 2019 07:23:02 +0000 (08:23 +0100)]
Generator improvements
- 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>
Ondrej Fabry [Thu, 31 Jan 2019 07:06:19 +0000 (08:06 +0100)]
Update VPPApi error list
Change-Id: I6e2ff140b3742774dc37d58e332eea372b089234
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Vladimir Lavor [Tue, 15 Jan 2019 09:08:12 +0000 (10:08 +0100)]
added mock adapter for new VPP stats
Change-Id: I9d6cf28fcde79ba648321cbd92941ee7ef8e0812
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
Ondrej Fabry [Thu, 10 Jan 2019 09:57:50 +0000 (10:57 +0100)]
Add support for string types
- 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>
Vladimir Lavor [Wed, 2 Jan 2019 11:02:33 +0000 (12:02 +0100)]
added support for string type
Change-Id: I2de04fba137004d1d7148ae910e9ccbd47589611
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
Rastislav Szabo [Thu, 13 Dec 2018 12:03:49 +0000 (12:03 +0000)]
Merge "Add support for aliases and boolean type"
Ondrej Fabry [Thu, 13 Dec 2018 09:21:49 +0000 (10:21 +0100)]
Add support for aliases and boolean type
- 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>
Ondrej Fabry [Tue, 20 Nov 2018 21:46:14 +0000 (21:46 +0000)]
Merge "Rename skipzero flag to all"
Rastislav Szabo [Mon, 19 Nov 2018 09:05:18 +0000 (09:05 +0000)]
Merge "Update libmemif adapter with changes in vpp"
Ondrej Fabry [Sat, 17 Nov 2018 18:40:24 +0000 (19:40 +0100)]
Rename skipzero flag to all
Change-Id: I3ec848c3c7ba00481f6642c01e446bba935abf5b
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Sat, 17 Nov 2018 02:06:24 +0000 (03:06 +0100)]
Improve Stats API example and add README
Change-Id: If25c7d05c42fbed6c43558f84fb86aca6c5af4d5
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Tomas Slusny [Tue, 6 Nov 2018 11:13:37 +0000 (12:13 +0100)]
Update libmemif adapter with changes in vpp
- Add regions to memif_queue_details
- Insert ErrConnRefused to err.go and update indices
Change-Id: Iaca791c0044ab8b340bfb48d538d00dc0ae243ba
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Ondrej Fabry [Tue, 6 Nov 2018 15:49:33 +0000 (15:49 +0000)]
Merge "Fix compilation failure in libmemif adapter.go"
Serguei Bezverkhi [Tue, 16 Oct 2018 18:27:26 +0000 (14:27 -0400)]
Fix compilation failure in libmemif adapter.go
Change-Id: I39704999503bb4e61f6f0abe8aede5d1d569e5b7
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
Ondrej Fabry [Tue, 23 Oct 2018 13:40:44 +0000 (15:40 +0200)]
Remove the global variable for connection
- this also fixes issue where after connect failure all following connects
failed 'with only one connection per process is supported'
- this global was used to limit to single connection, but the actual
limitation is for the adapter and with different adapter implementation
multiple connections could actually be supported
- the global defined in the vppapiclient package will continue to limit
to single connection via VppClient implementation of the adapter
Change-Id: Id06dd6e80b51d1d43f6f75bbcc6e01c6f21c605a
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Tue, 23 Oct 2018 11:20:31 +0000 (13:20 +0200)]
Unexport adapter implementations to make it clear that API interfaces should be used
- this decision was made to follow more idiomatic Go, described in
https://golang.org/doc/effective_go.html#generality
Change-Id: I341556c792df77ca35a60a1e4afc541482f23734
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Mon, 22 Oct 2018 14:21:28 +0000 (14:21 +0000)]
Merge "Introduce StatsAPI and it's initial implementation"
Ondrej Fabry [Mon, 22 Oct 2018 12:45:21 +0000 (14:45 +0200)]
Introduce StatsAPI and it's initial implementation
- this implementation is basically Go wrapper around VPP's vppapiclient C library
Change-Id: I6f53dc3e228868834bf3a8a00c686ad05e22f3dd
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Rastislav Szabo [Wed, 10 Oct 2018 07:58:59 +0000 (07:58 +0000)]
Merge "Add .gitreview"
Ondrej Fabry [Wed, 3 Oct 2018 12:14:40 +0000 (05:14 -0700)]
Omit message factory and line numbers from generated output
Change-Id: Ie48cc0a641242625daf55caf00ab630e78aa86b7
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Wed, 12 Sep 2018 15:38:36 +0000 (17:38 +0200)]
Recover possible panic in EncodeMsg and improve debug logs
Change-Id: I771c171ae30a957f4436e7f4ba834d8a38d02f80
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Wed, 5 Sep 2018 11:55:54 +0000 (13:55 +0200)]
Copy data in msg callback
Change-Id: I642b0f586a57101633982bcee5bad187a0749090
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Vanessa Rene Valderrama [Fri, 24 Aug 2018 21:06:12 +0000 (16:06 -0500)]
Add .gitreview
Adding .gitreview file
Change-Id: Ia0c12ffcb142db370107ea8823a8355462b24372
Signed-off-by: Vanessa Rene Valderrama <vvalderrama@linuxfoundation.org>
Ondrej Fabry [Thu, 23 Aug 2018 20:51:56 +0000 (22:51 +0200)]
Simplify subscribing to events and fix events
- 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>
Ondrej Fabry [Wed, 22 Aug 2018 04:07:04 +0000 (06:07 +0200)]
Show VPPApiError value always and remove RegisterBinAPITypes for mock adapter
Change-Id: I3b216748df1a372f25cc94e3df5d7b1b2b7a8a40
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Tue, 21 Aug 2018 20:32:11 +0000 (22:32 +0200)]
Make the warnings for validating services more obvious
- there is currently simple validation for services,
which checks type of services and its name for request/reply
- there is one known warning in dhcp package for dhcp_client_config,
since it is single case for normal requests subscribing to event
Change-Id: I504a52b9a1823ced841b2ead712318ef5e5477b1
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Tue, 21 Aug 2018 13:47:30 +0000 (15:47 +0200)]
Fix perf-bench example
Change-Id: I62a7a27adbb44b9d8070b448c17bb7781b0637fe
Signed-off-by: Ondrej Fabry <ondrej.fabry@pantheon.tech>
Ondrej Fabry [Wed, 15 Aug 2018 10:59:25 +0000 (12:59 +0200)]
Refactor GoVPP
Squashed commit of the following:
commit
348930db31575e9f59b3834d9fec07411f011e05
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Wed Aug 15 11:30:13 2018 +0200
Use debug level for log about different context
commit
9fc963c559cea67a41b85c6cdadc322fb3b1fc7c
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Wed Aug 15 11:22:03 2018 +0200
Remove annoying logs and add env vars for debugging
commit
fdc9fd624d13feadb602e0d03d58f8a44b7a565f
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Wed Aug 15 11:18:47 2018 +0200
Fix printing unknown VPPApiError
commit
8f968be36a91de4d4a8ea17593ba314f82aa9583
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Tue Aug 14 17:25:10 2018 +0200
Refactor entire GoVPP
- fix some cases with inconsistent VPP messages, causing messages
to be incorrectly identified as event or request
- simplify API, remove direct access to internal Go channels
- add module name with message to registration of messages
- start watching filesystem only when vpe-api file does not exist
- simplify code in message codec and remove unneeded parts
- retrieve IDs of all registered messages after connect to VPP
- define fallback for control ping in core to avoid duplicate registration
- add SetLogLevel function to set logger level more easily
- remove lot of unused code
commit
34dd1b7e10ef0324aa8c4e4cc42375bd6021c6cb
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Mon Aug 13 11:29:54 2018 +0200
Rename VnetError to VPPApiError
commit
c6549d6f77847a1367a12ff47fb716e2955e973a
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Mon Aug 13 10:23:43 2018 +0200
Fix examples and regenerate binapi
commit
4612e36b416779771f5efab4fc654c2766d2cb1c
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Mon Aug 13 09:51:22 2018 +0200
Add parsing and generation for services
commit
ac9c5280c5aa27e325f327609e2364cc66f3723f
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Fri Aug 10 14:30:15 2018 +0200
Fix exit status on error and add continue-onerror flag
commit
9b3f4ef9fc7c8c62037fa107085eae18a8725314
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 15:20:56 2018 +0200
Return VnetError when Retval != 0
commit
8fd21a907b5e628ec4d2026215b83d15da96c297
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 14:59:05 2018 +0200
Add all missing errors from api_errno.h
commit
08450f288d3046ebaecf40203174ae342a07f1eb
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 14:29:27 2018 +0200
Update README
commit
d8dced0728dd62243539be741868fb7d9b8de4cc
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 13:59:59 2018 +0200
Regenerate vpe in core
commit
254da7592cdbf634cf7aa46ae36ce7bb6d4ee555
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 13:37:00 2018 +0200
Add VnetError type for Retvals
commit
4475c1087fb53ab4c788e530bc7fef7cfc89d2cd
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 13:36:07 2018 +0200
Add registration API
commit
892a3ea5a2c703e2f7c29331663f6a6fa706bff5
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 13:30:43 2018 +0200
Generate registration for messages and check all IDs on connect
commit
389ed03b6e7082260281866c3449d72d72347c99
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 11:32:41 2018 +0200
Show error for empty adapter (on Darwin/Windows)
commit
ef1ea040d656ade64242432dc5f06810ed8dcde6
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 11:31:37 2018 +0200
Improve logged info
commit
d4adae3b14ed54c8d693060dd857fa9ba5ec8e06
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 11:27:48 2018 +0200
Update examples
commit
63921e1346014701a22639a2611129563bb1eb78
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Thu Aug 9 11:02:56 2018 +0200
Generate unions and fix some issues
- add comments between sections
- define structs on single line if it has no fields
- generate unions with setters/getters for each field
- fix detection of message type
commit
6ab3e3fa590b245898306a6ffaf32c7721eab60c
Author: Ondrej Fabry <ofabry@cisco.com>
Date: Wed Aug 8 15:37:10 2018 +0200
Refactor binapi-generator
- split JSON parsing from code generation
- parse and generate enums
- parse unions (no generation yet)
- change output file suffix to '.ba.go'
- cleanup and simplify code
- split code into files
- add flag for debug mode
Change-Id: I58f685e0d4c7a38e9a7b6ea0a1f47792d95d7399
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Rastislav Szabo [Mon, 16 Jul 2018 14:35:45 +0000 (14:35 +0000)]
Merge "Add support for jumbo frames to libmemif"
Rastislav Szabo [Mon, 9 Jul 2018 07:56:15 +0000 (07:56 +0000)]
Merge "make api.Channel as interface"
Tomas Slusny [Tue, 26 Jun 2018 14:53:48 +0000 (16:53 +0200)]
Add support for jumbo frames to libmemif
Add support for frames larger than maximum buffer size to libmemif
adapter.
Change-Id: I8b2d9fe7e05328194cd0aafd6e3ab40392ebbfed
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Vladimir Lavor [Tue, 3 Jul 2018 08:39:21 +0000 (10:39 +0200)]
make api.Channel as interface
Change-Id: I052d241ab09043b1195beebeee99df4d8536621f
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
Tomas Slusny [Thu, 28 Jun 2018 10:23:28 +0000 (12:23 +0200)]
Add gopacket adapter for libmemif
Add simple PacketHandle adapter for gopacket PacketDataSource + add
writePacketData convenience method to it.
Change-Id: I2280db33076c497c9b63fd107b6d77ecf85dd23b
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Milan Lenco [Mon, 25 Jun 2018 08:49:39 +0000 (10:49 +0200)]
Add compatibility with libmemif 2
Change-Id: Iff143c7aeb973b3f8629a7412bb956c1b8f8f81d
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Milan Lenco [Wed, 27 Jun 2018 13:55:43 +0000 (15:55 +0200)]
mock adapter: Group all replies for one request under one call to MockReply
Sequence numbers are now used to match requests with replies.
Mock adapter thus has to be able to tell how many messages
from the head of the queue with mock replies belong to the currently
processed request. Then they can be given the right context and
the rest of the queued replies are postponed to be delivered later
(when context of their request is known).
All replies for one request are now therefore queued together.
This affects just multipart requests for which replies have to
be pushed all at once. The trailling control ping reply is still
queued separately, however, because that is actualy another request,
e.g.:
mockVpp.MockReply( // push multipart messages all at once
&interfaces.SwInterfaceDetails{SwIfIndex:1},
&interfaces.SwInterfaceDetails{SwIfIndex:2},
&interfaces.SwInterfaceDetails{SwIfIndex:3},
)
mockVpp.MockReply(&vpe.ControlPingReply{})
Even if the multipart request has no replies, MockReply has to be
called exactly twice:
mockVpp.MockReply() // zero multipart messages
mockVpp.MockReply(&vpe.ControlPingReply{})
Change-Id: I28c15d2f52d14dca0b7fb06033d7270a7da2bde6
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
Milan Lenco [Mon, 25 Jun 2018 18:31:11 +0000 (20:31 +0200)]
Pair requests with replies using sequence numbers
Requests are given sequence numbers (cycling over a finite set of 2^16
integers) that are stored into the lower 16bits of the context.
1bit is also allocated for isMultipart boolean flag and the remaining
15bits are used to store the channel ID. The sequence numbers allow
to reliably pair replies with requests, even in scenarious with timeouted
requests or ignored (unread) replies.
Sequencing is not used with asynchronous messaging as it is implemented
by methods of the Channel structure, i.e. above ReqChan and ReplyChan
channels.
Change-Id: I7ca0e8489c7ffcc388c3cfef6d05c02f9500931c
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
Ondrej Fabry [Tue, 12 Jun 2018 20:18:47 +0000 (22:18 +0200)]
Fix empty adapter
Change-Id: I4472aeb5f8ceb682c8520723ae094fc1cd306b3d
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Thu, 31 May 2018 14:06:41 +0000 (16:06 +0200)]
Improve handling of probes on timeouts
Change-Id: If94059586d4be739d6c8ae7843cfaf3bc90a5323
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Vladimir Lavor [Wed, 2 May 2018 07:47:44 +0000 (09:47 +0200)]
support for shm prefixes
Change-Id: I279653deb9911862d29143269aea5dffbd564478
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
Ondrej Fabry [Fri, 13 Apr 2018 03:33:03 +0000 (05:33 +0200)]
Fix missing lock in LookupByID
Change-Id: I699052d179c98ad3a29218fa33fafef0affb97a6
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Wed, 11 Apr 2018 23:32:44 +0000 (01:32 +0200)]
Add warning message when health check fails
Change-Id: I89d465ec9395eeb298a6ca209a8a0fff9107674e
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Thu, 5 Apr 2018 11:46:54 +0000 (13:46 +0200)]
Lookup message name by ID when receiving unexpected message
Change-Id: I693e8084b7e3f036dec5e557dc772857bb7d5f3d
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Wed, 4 Apr 2018 14:18:23 +0000 (16:18 +0200)]
Ignore invalid message ID if last request timed out
Change-Id: Iedca416a69ff20d0bac05062b87021de95eb40dc
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Fri, 23 Mar 2018 13:28:41 +0000 (14:28 +0100)]
Support mocking reply for more multi requests at once
Change-Id: I3610fe1e0c04f4487f6b7139fc62ef4515fad640
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Fri, 23 Mar 2018 09:31:00 +0000 (10:31 +0100)]
Make global vars part of mock adapter
Change-Id: I30f4c4212a6866ac567c4a00af7feab3d84ad7d6
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Tue, 13 Mar 2018 12:02:39 +0000 (13:02 +0100)]
Add API to set ControlPing msg and fail connect on unknown ID
Change-Id: Idd651a29d9fc3903f52d6fe8945add3052a28b52
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Fri, 26 Jan 2018 14:08:15 +0000 (15:08 +0100)]
Make including VlAPIVersion in generated file as opt-in
Change-Id: I6ce52a539afe8af90858718a788dd310e735dff5
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Milan Lenco [Thu, 25 Jan 2018 09:15:48 +0000 (10:15 +0100)]
Update examples, tests and testdata after binapi-generator update.
Change-Id: I738d501cbbb6673010a32847df3f1c87050b8d36
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
Milan Lenco [Wed, 24 Jan 2018 14:18:33 +0000 (15:18 +0100)]
Update binapi-generator for the new VPPAPIGEN.
Change-Id: Ifedb62b9bd04842257bbed89999add275ed2de23
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
Rastislav Szabo [Thu, 4 Jan 2018 08:44:00 +0000 (08:44 +0000)]
Merge "Fix imports for github.com/sirupsen/logrus"
Rastislav Szabo [Thu, 4 Jan 2018 08:43:47 +0000 (08:43 +0000)]
Merge "Mock Adapter: Switch back to handlers once the queue is empty."
Rastislav Szabo [Thu, 4 Jan 2018 08:31:09 +0000 (08:31 +0000)]
Merge "Remove map usage via pointers"
Ondrej Fabry [Wed, 13 Dec 2017 13:09:42 +0000 (14:09 +0100)]
Use core directly in tests to avoid need of vppapiclient library
Change-Id: I1fa534129ee7e04eb5058a215fa7eabfe1ecc2bf
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Wed, 13 Dec 2017 13:08:30 +0000 (14:08 +0100)]
Remove map usage via pointers
Change-Id: Idf2a119e633851ab8e3ddfe17dadca4e96c6a4ac
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Mon, 4 Dec 2017 08:54:13 +0000 (09:54 +0100)]
Fix events for mock adapter
Change-Id: Iee5fa6282e845ed2aef76c9246a9068f3765139c
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Thu, 30 Nov 2017 08:08:17 +0000 (09:08 +0100)]
Removes unnecessary returned func from WaitReady
Change-Id: I34889c8c79fa8ef7a196f8d067edca7f1cb5ad33
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Tue, 28 Nov 2017 18:53:14 +0000 (19:53 +0100)]
Add WaitReady to VppAdapter
- this fixes issue with mocked adapter during AsyncConnect
Change-Id: I952025fec865422f9e83cec9383d96f79a639c90
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Ondrej Fabry [Tue, 28 Nov 2017 15:28:48 +0000 (16:28 +0100)]
Fix imports for github.com/sirupsen/logrus
Change-Id: I84f2e45e5ff188a2a7a80cf69f607b44486c1754
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
Milan Lenco [Wed, 15 Nov 2017 10:52:18 +0000 (11:52 +0100)]
Mock Adapter: Switch back to handlers once the queue is empty.
Change-Id: Ifc85a80498521ef218a34072cce470bf32cead9c
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
Milan Lenco [Wed, 11 Oct 2017 14:40:58 +0000 (16:40 +0200)]
ODPM 266: Go-libmemif + 2 examples.
Change-Id: Icdb9b9eb2314eff6c96afe7996fcf2728291de4a
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
Rastislav Szabo [Mon, 25 Sep 2017 19:58:24 +0000 (21:58 +0200)]
generator fix - add new message type
Change-Id: I5e2b312e086d18eb7fa3f349750caea20005f530
Signed-off-by: Rastislav Szabo <raszabo@cisco.com>
Rastislav Szabo [Mon, 25 Sep 2017 19:24:21 +0000 (21:24 +0200)]
generator fix - better identification of message types
Change-Id: I00dbd57acba706b4a842e2b6c6df2d7b7ab7c37a
Signed-off-by: Rastislav Szabo <raszabo@cisco.com>
Lukas Macko [Tue, 12 Sep 2017 08:28:40 +0000 (10:28 +0200)]
Make healthCheck parameters configurable
Change-Id: Idfb6945e13522867ced96a1ed7db85e725f42d1e
Signed-off-by: Lukas Macko <lmacko@cisco.com>
Lukas Macko [Tue, 12 Sep 2017 07:54:58 +0000 (09:54 +0200)]
Use Sirupsen/logrus with uppercase
Change-Id: I2f8870c52f64eb56deb44e4a807867b3ef0a0b76
Signed-off-by: Lukas Macko <lmacko@cisco.com>
Lukas Macko [Thu, 7 Sep 2017 10:45:41 +0000 (12:45 +0200)]
import sirupsen with lowercase
Change-Id: I555587fc9ecc074ea1a42f0dc77c11716a1b06cb
Signed-off-by: Lukas Macko <lmacko@cisco.com>
Lukas Macko [Thu, 7 Sep 2017 08:00:26 +0000 (10:00 +0200)]
Wait until vpp is ready + Update vendor
Change-Id: I7c42d44d60f84fd21e55f9e4928d776f5466cc83
Signed-off-by: Lukas Macko <lmacko@cisco.com>
Rastislav Szabo [Fri, 28 Jul 2017 07:08:06 +0000 (07:08 +0000)]
Merge "Modify the generator to generate the code that is ignored by golint https://github.com/golang/go/issues/13560#issuecomment-
288457920"