aboutsummaryrefslogtreecommitdiffstats
path: root/vpp-api
AgeCommit message (Collapse)AuthorFilesLines
2017-01-24Fix PAPI async responseWojciech Dec1-1/+1
Previous changes forgot to return the decoded result Change-Id: I4eb27802eb2672532d856d9b9671ef806374bcd0 Signed-off-by: Wojciech Dec <wdec@cisco.com>
2017-01-20vpp-python-api deb packaging - use easy_install to install the python apiGabriel Ganne1-0/+1
(cherry picked from commit 5a68debd8173a487dbd67b3e574d962308c91bcc) Change-Id: Iabad73d6092b4561ba9d4d22a057bb5871d850a6 Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
2017-01-20Python API: Missing locking of results data structure.Ole Troan1-84/+219
The wrong assumption that the GIL combined with CPython's "mostly" thread safe assurance does not hold. The combination of a slow event handler for notification and calling the API at the same time let to contention on the results data structure. Added suitable locking. Also added an atexit() to attempt a VPP disconnect on shutdown. Also: lots more comments, docstrings, duplicated code removed. Some of the problem here was a disagreement between caller and author as to how the API should be used; the comments should help. Change-Id: I0cb7d0026db660ec141425c5ad474f14bacea36e Signed-off-by: Ole Troan <ot@cisco.com> Co-Authored-By: Ian Wells <iawells@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-21Fix coverity issuesMarek Gradzki2-6/+8
Change-Id: I7707a42321df2c73e5414926d4000f8672ecfaf3 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-21Add missing variable definitions to java VPP APIMarek Gradzki1-0/+4
Change-Id: I121b26f4d566417e7cb5ee1a021896dd7dc5599e Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-21Python API: Incorrect error for empty VLA list.Ole Troan2-4/+11
Change-Id: Ie3e9a54ca23af6b9ee43615f59a48cb05e3906d4 Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-20Add missing variable definitions to python VPP APIJuraj Sloboda1-0/+3
Change-Id: I03eee75fb8575ced6f126fa32c778850a570f0ea Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-12-20Declare variables as externalDamjan Marion1-0/+4
non-external declarations in header files are generating multiple empty definitions of the same symbol. Change-Id: I7f3933404f79d08579468d0052c106731b57507c Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-19Python API: Add back support for old-style VLA, e.g. mask[0]Ole Troan2-50/+143
Change-Id: I5be6bfe522e5ea93934f0ddf75d4e4707376dc0c Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-15Fix NPE in JNI while handling int arrays, VPP-559Marek Gradzki1-6/+6
Change-Id: Idc3760b65e62cfa5d37dd7379e35331b7f95f913 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-13vpp_papi: Add help() support for python interactive modeChristophe Fontaine1-4/+13
The python api 1.3 removed the ability to call 'help' in interactive mode. example: > help(vpp.sw_interface_span_enable_disable) Help on function sw_interface_span_enable_disable in module vpp_papi.vpp_papi: sw_interface_span_enable_disable(**kwargs) u16 _vl_msg_id, u32 client_index, u32 context, u32 sw_if_index_from, u32 sw_if_index_to, u8 state Change-Id: Iea1944fdc862482490174ff966592cf3c8208a98 Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-12-12Fix for PAPI async call registrationWojciech Dec1-5/+8
Introduce async API call registration Change-Id: Iccc89eca1b6e7dcce96a8e7bc5da80d9abc363fc Signed-off-by: Wojciech Dec <wdec@cisco.com>
2016-12-08Adapt LuaJIT VPP library and a few examples to API with per-message CRC and JSONAndrew Yourtchenko5-16/+267
Change-Id: Ibb886e418d338588e61c7bb6cb57f2093c7c5062 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-12-07Make jvpp connection fail if control ping failsMarek Gradzki1-3/+1
Change-Id: Ib57cf97514fb6831f41930d9492e92ad11a3730d Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-07Refactor tap binary APIs, VPP-550Dave Barach1-1/+6
Change-Id: I1599b3659411b5f4451c364cc5ada63cfa8e0a6b Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-07Enable Span Jvpp api generationJan Srnicek1-0/+1
Change-Id: Ia8c0e8255f9ac5bb7ef1a174ffd933d46b017767 Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-12-06SPAN API: Fix various errors making SPAN break make tests.Ole Troan1-3/+1
- s/l2/span in span_api.c in foreach macro - Not installing .json from Makefile.am Change-Id: I2469fe01138d62e044b8262cdb5a6e3b009bb43e Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-06API: Adapt make test to Python API changes.Ole Troan3-8/+52
Change the test wrapper script for the updated Python API. All tests but the L2BD multi instance runs fine. That is currently skipped. I see intermittent failures when an MLD message is received before the ND NA in MPLS and IPV6 FIB tests. Change-Id: If809877c9abdf596dbb0a419ce5429552f63d212 Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-06Refactor binary APIs for IP, VPP-549Dave Barach1-1/+2
Change-Id: Ieff6b22e2432600a231f74e75716e000d488a78f Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-06MAP: Split MAP API out of vpe.api.Ole Troan1-0/+1
Change-Id: I91a612a00ea85a9ddd4233d9aa19a6a4332d9701 Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-06api: set jvpp version to 17.01Marek Gradzki2-2/+2
Change-Id: Ib22a3a24f9b290465dc80fc683d903d58ba3804c Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-05Fix l2.api patch in jvpp MakefileMarek Gradzki1-1/+1
Change-Id: Ic9a494725afde2e3507dda5b42c69680c20f090a Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-05api: enable Java API generation for l2.api (VPP-438)Marek Gradzki1-0/+1
Change-Id: I867c2f90d812007b874502d2aa60f09e40650941 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-02Python API: Support for per message CRC and API split.Ole Troan4-245/+767
These changes are incompatible with Python VPP API 1.2 There is now a new VPP Class and it can be used like: from vpp_papi import VPP jsonfiles = [] for root, dirnames, filenames in os.walk('../../../build-root/'): if root.find('install-') == -1: continue for filename in fnmatch.filter(filenames, '*.api.json'): jsonfiles.append(os.path.join(root, filename)) vpp = VPP(jsonfiles) rv = vpp.show_version() print('RV', rv.program.decode().rstrip('\0x00')) vpp.disconnect() Change-Id: Ic92d226de2cf3626e750404012247e7fc24fb7fc Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-02API: Packaging of JSON files.Ole Troan3-34/+4
Change-Id: If041b6faf1a091d4758b514f0a8cd800ee0e6a89 Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Ole Troan <otroan@ot-vpp.cisco.com> Signed-off-by: Ole Troan <ot@cisco.com>
2016-11-30VPP-530: adapt jvpp generation for VPP API splittingMarek Gradzki3-38/+57
Now jvpp uses *.json instead of *.py api representation. Multiple *.json files are supported. Change-Id: I89fa556c7d2a35d42833f2faaa28398ebd2ed012 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-11-30Start spliting vpe.api into logically related piecesDave Barach1-2/+1
To reduce rebase / manual merge pain, among other things Change-Id: I3186df0479066916a2ca69c48759178b45ef035c Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Ole Troan <ot@cisco.com>
2016-11-28Clean up the Lua API, make it luajit-only, no CAndrew Yourtchenko5-240/+28
This removes the libcough which was a temporary layer atop the libpneum to make it synchronous. Now Lua API only requres luajit, and has no dependencies on compiling any C. Also comment out a couple of debug print functions. Change-Id: I35fd1c8088c6fd1b10b9e4d903ad241ab32fd91a Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-11-23Fix coverity warnings, VPP-486Dave Barach1-0/+3
Change-Id: Id88805f77642187f304f8baef1f6b447728e4b5b Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-21Add client-side msg_name_and_crc -> msg_index tableDave Barach8-394/+114
vppapigen now generates per-message crcs. Verified that whitespace and real changes in message A don't change the crc for message B, etc. Fixed the sample and flowperpkt plugins to participate. Others need the same treatment. They don't build due to python/java language binding build issues. To use the scheme: Client connects as usual. Then call: u32 vl_api_get_msg_index(char * name_and_crc) name_and_crc is a string like: "flowperpkt_tx_interface_add_del_753301f3", aka the message name with _%08x <expected crc> appended. Try these vpp-api-test commands to play with it: vat# dump_msg_api_table <snip> [366]: punt_reply_cca27fbe [367]: ipsec_spd_dump_5e9ae88e [368]: ipsec_spd_details_6f7821b0 [369]: sample_macswap_enable_disable_0f2813e2 [370]: sample_macswap_enable_disable_reply_476738e5 [371]: flowperpkt_tx_interface_add_del_753301f3 [372]: flowperpkt_tx_interface_add_del_reply_d47e6e0b vat# get_msg_id sample_macswap_enable_disable_reply_476738e5 'sample_macswap_enable_disable_reply_476738e5' has message index 370 vat# get_msg_id sample_macswap_enable_disable_reply_476738e3 'sample_macswap_enable_disable_reply_476738e3' not found CRCs may vary, etc. vppapigen is used to build a set of JSON representations of each API file from vpp-api/Makefile.am and that is in turn used by each language binding (Java, Python, Lua). Change-Id: I3d64582e779dac5f20cddec79c562c288d8fd9c6 Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Ole Troan <ot@cisco.com>
2016-11-18Add the Makefile to Lua API which got gitignored and adjust local .gitignoreAndrew Yourtchenko2-0/+8
Change-Id: I87358dc5dddc6964c128283f096d382492af5886 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-11-17VPP-533 Fix ping race condition in JVppMaros Marsalek1-17/+28
Improper synchronization between ping_send and ping_reply_handle Change-Id: I844c96bc3f5cd750a1c43188d3133c92f8f14e38 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-11-17VPP-534 Remove references to DTOs created in JVppMaros Marsalek3-0/+7
JVM objects allocated from a native thread need to be freed, they are not subject to GC. Change-Id: If1e140d2ceaec93631735ae7665f45db5aacf7cf Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-11-15Dump routes (VPP-500)Steven1-0/+2
Change-Id: I86e7382395a8b6471a0deaf57163718d41b71b83 Signed-off-by: Steven <sluong@cisco.com>
2016-11-11Luajit API and some examplesAndrew Yourtchenko16-0/+4164
Change-Id: Ia140c4750f06870c40b7058c4afb2e20ca633a49 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-11-07Fix longArray type in JVPP generatorMaros Marsalek1-2/+2
Change-Id: I0319b45d2e070ee2e20dcf900477fdaadd072aef Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-11-03Fail to register Java API for plugin that was not loaded (VPP-522)Marek Gradzki1-12/+15
Change-Id: Idb95888ae6fc7a9df197a919e3d3283f915f4a4c Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-11-03Remove unused jvpp dependency on plugins' control_pingMarek Gradzki2-8/+3
Change-Id: I6ebb69443e79e60c7ce6afded6a2d3af85048e6e Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-10-31VPP-120: add custom types support to jvppMarek Gradzki10-342/+779
Generates java classes based on typeonly definitions (hashcode, equals and toString methods are also included). Adds JNI handling for request and reply messages (also arrays of custom types). Change-Id: I16f1cea17899704426aa083fad1cb800a8d115df Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-10-25Improve equals generation for jvpp DTOsMarek Gradzki1-6/+7
Variable 'other' is no longer defined in equals method of DTOs without defined fileds. Fixes dead local store coverity issues. Change-Id: I69eddf2b4b3f433149ff4d49e49c46515572d61a Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-10-25Improve JNI code generation (array truncation)Marek Gradzki1-9/+14
Fixes DEADCODE coverity issue: size_t max_size = 0; if (max_size != 0 && ...) Change-Id: I0e3ea4e4ddddb476519490c6f00208379089397c Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-10-24Fix jvpp coverity issues #2Marek Gradzki11-263/+237
- synchronize AbstractFutureJvppInvoker.getRequests - handle registry & jvpp close in API usage examples Change-Id: I918bf864b8212fde04f0d9194037f1c6a810fc3f Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-10-21Candidate fix for race condition in building jvpp_common and jvpp_registryEd Warnicke1-0/+1
Change-Id: I244c4e02befc8c4d30915b219abe36ab03c4291d Signed-off-by: Ed Warnicke <hagbard@gmail.com>
2016-10-19improve java build processKlement Sekera1-34/+24
Change-Id: Ia4c7503ee31fca74fa45da4ff883f3b80b42e85e Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-10-19Fix coverity issues in jvpp (newlines + CompletableDumpFuture.ctxId)Marek Gradzki10-28/+28
Change-Id: I2931982ac1ae64313a6ab781212793620af24585 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-10-12VPP-362 Implement dumping of LISP adjacenciesFilip Tehlar2-1/+4
Change-Id: Ieea56f3bf9e749878d9f2b35d39d9f7a9cdabde4 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-10-05Python API: Add support for shared memory prefixOle Troan5-9/+16
Recheck. This is to support multiple VPP instances on same host. Change-Id: Ibe511b1f790fc8771900085577423f7e71dc45df Signed-off-by: Ole Troan <ot@cisco.com>
2016-09-30VPP-120: include custom types to Python representation of vpe.apiMarek Gradzki2-2/+2
Change-Id: Ide97a8bf55d3baf41a1e86af2c67c6b7b26b657a Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-09-29VPP-378: rename jvpp package to the same as groupId of deployed jarsMarek Gradzki44-224/+224
Related changes: - NSH: https://gerrit.fd.io/r/#/c/3181/ - Honeycomb: https://gerrit.fd.io/r/#/c/3182 Change-Id: Ifdd6b8b575916fdf99794618dbe604c2e17e8e82 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-09-27Fix import line for setup.pyPeter Ginchev1-2/+2
Build fails in case python-setuptools is not installed. Change-Id: I1611f3560db82a4a48c51a9f614a813a9a540698 Signed-off-by: Peter Ginchev <pginchev@cisco.com>