Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
Signed-off-by: Matus Mrekaj <matus.mrekaj@pantheon.tech>
Change-Id: I932d560548ee816e28683243a7318a2a7fbbb24a
|
|
Change-Id: I54cd9ca6fb6607a70031ba5e6318a9ea58db7e6c
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>
|
|
Change-Id: I1a6839e3bbb8d599fcbdbc2b1aff7c81f7d263c9
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I49e0ec8420cf2563b77ec2b5a9cf9674286d5e5d
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: If9da8381212273f8f2655d7b0a3077b5ba32921f
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- in VPP 19.08 the socket type has changed to STREAM and data has to
be writtento VPP with single flush, otherwise msg might get mixed
with next header and cause VPP to stop responding
- this also fixes WaitReady for socketclient and vppapiclient
Change-Id: I022724c0c09c9b92d4c695d1cf2be15994fff717
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I87251362668bbe9a31f52c1b5e9b3ab596f7b2f3
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>
|
|
- 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: I36b4cd2625c7f0c5846fe402be7b2aeece4707f8
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I3a6bcb635701c0f00e47d04fce2113e1ac23b67b
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
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>
|
|
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>
|
|
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>
|
|
- 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>
|
|
- 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>
|
|
Change-Id: I771c171ae30a957f4436e7f4ba834d8a38d02f80
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I642b0f586a57101633982bcee5bad187a0749090
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: I3b216748df1a372f25cc94e3df5d7b1b2b7a8a40
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
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>
|
|
Change-Id: I052d241ab09043b1195beebeee99df4d8536621f
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
|
|
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>
|
|
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>
|
|
Change-Id: If94059586d4be739d6c8ae7843cfaf3bc90a5323
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I699052d179c98ad3a29218fa33fafef0affb97a6
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I89d465ec9395eeb298a6ca209a8a0fff9107674e
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I693e8084b7e3f036dec5e557dc772857bb7d5f3d
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I3610fe1e0c04f4487f6b7139fc62ef4515fad640
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: Idd651a29d9fc3903f52d6fe8945add3052a28b52
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I738d501cbbb6673010a32847df3f1c87050b8d36
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
|
|
|
|
Change-Id: Iee5fa6282e845ed2aef76c9246a9068f3765139c
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I34889c8c79fa8ef7a196f8d067edca7f1cb5ad33
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
- this fixes issue with mocked adapter during AsyncConnect
Change-Id: I952025fec865422f9e83cec9383d96f79a639c90
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I84f2e45e5ff188a2a7a80cf69f607b44486c1754
Signed-off-by: Ondrej Fabry <ofabry@cisco.com>
|
|
Change-Id: I5e2b312e086d18eb7fa3f349750caea20005f530
Signed-off-by: Rastislav Szabo <raszabo@cisco.com>
|
|
Change-Id: Idfb6945e13522867ced96a1ed7db85e725f42d1e
Signed-off-by: Lukas Macko <lmacko@cisco.com>
|
|
Change-Id: I2f8870c52f64eb56deb44e4a807867b3ef0a0b76
Signed-off-by: Lukas Macko <lmacko@cisco.com>
|
|
Change-Id: I555587fc9ecc074ea1a42f0dc77c11716a1b06cb
Signed-off-by: Lukas Macko <lmacko@cisco.com>
|