aboutsummaryrefslogtreecommitdiffstats
path: root/vpp-api
AgeCommit message (Collapse)AuthorFilesLines
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>
2016-09-26Fix jvpp-core dependenciesMarek Gradzki1-2/+2
Change-Id: I242d590c9d2fa733cc1411fa5d96bb3944d5b5fe Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-09-23Python API: Preparation for RPM/DEB packaging.Ole Troan11-65/+106
Recheck. Repackage the Python API binding to include all necessary modules in a single Python package. Change-Id: I5e35141d413bfb1aad650217e1ca07d85646c349 Signed-off-by: Ole Troan <ot@cisco.com>
2016-09-20VPP-348 Return empty DumpReply instead of nullMaros Marsalek5-44/+98
Change-Id: If44f8d37649e5a9d5033ec2c0ab7452397e22691 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-09-20VPP-413 DTOs generated by JVpp improvements:Maros Marsalek12-145/+275
- hashCode & equals - toString Change-Id: I5f8bc8868c216862a307dcc8f6b423f0ce29e7b5 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-09-13Python API: Re-adding rudimentary variable length array pack support.Ole Troan2-17/+21
Fixed bug in message-id mapping with non-consequtive APIs. Change-Id: Icd6073e4655f7ce5432816861ae58915e5b336af Signed-off-by: Ole Troan <ot@cisco.com>
2016-09-02Add in-message cli_request/cli_reply APIOle Troan2-0/+58
This new CLI API is meant to replace the cli_request/cli_reply that uses shared memory. PS: checkstyle -- *hate* Change-Id: I6318f8f6b9be2c2398b49dac9e2193c1998ea724 Signed-off-by: Ole Troan <ot@cisco.com>
2016-08-25VPP Python language binding - plugin supportOle Troan12-136/+427
- Moved Python generator tool to tools directory - Added build-vpp-api Makefile target - Generator now only creates a Python representation of the .api the rest of the framework is in the vpp_papi script - Each plugin has its own namespace. - Plugin Python files are installed in vpp_papi_plugins for easy use inside the build tree. Change-Id: I272c83bb7e5d5e416bdbd8a790a3cc35c5a04e38 Signed-off-by: Ole Troan <ot@cisco.com>
2016-08-17Bump of JVPP version for new MASTER.Keith Burns (alagalah)1-1/+1
Change-Id: If03efcea871641e33fa079d3c1c308dc8e23cdcc Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-17VPP-336: Fix build order for jvpp_{core,registry}.la dependency on ↵Ed Warnicke1-0/+2
jvpp_common.la Change-Id: I886d087532d20bf7e6555da44e4e75ee0ca38268 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-08-17VPP-205: documentation updateMarek Gradzki2-76/+113
Change-Id: I98e5bdbd0472c2973885defe2712b53d9da8a536 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-08-16VPP-205: jvpp plugin support.Marek Gradzki57-1313/+2153
Splits jvpp into two jars jvpp-registry.jar - base jvpp functionality jvpp-core.jar - Java wrapper for vpe.api Plugins can be generated the same way jvpp-core.jar is. Example (nsh): https://gerrit.fd.io/r/#/c/2118/ Change-Id: I2254f90b2c3e423563bb91bf70877979f1e90a7d Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-08-16Create python package for jvpp generation.Ed Warnicke10-36/+44
Change-Id: I2254f90b2c3e423563bb91bf70877979f1e86a6b Signed-off-by: Ed Warnicke <eaw@cisco.com> Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-08-03VPP-233: disallow array[0] in reply messagesMarek Gradzki1-0/+5
- updates jvpp generator to raise exception if array[0] is present in reply/detail/counter message - fixes vpe.api reply/detail/counter messages that use incorrect variable array syntax. Additional info: Variable arrays in reply/detail/counter messages needs to have lenght defined in other variable within the message. The other variable can have any name, so it is impossible to generate Java/Python code handling. New syntax introduced by https://gerrit.fd.io/r/#/c/1617/ fixes the problem: u32 some_var; XX array[some_var]; Change-Id: I0af50f1ef1d94d95b56d9326d4e944e72b4edcdd Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-08-02VPP-229: fix NPE in JNI array handlingMarek Gradzki1-4/+4
Change-Id: Ieb5182a7a3612e09bd2b28eb6a4abbdb4d29d34b Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-08-01Jvpp: add handling for mising unsigned array typesMarek Gradzki1-4/+34
Change-Id: I239082622ceabdd1d0a7b6b6489a2789096a01fc Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-07-30Addition of u16[] to JVPP generatorKeith Burns (alagalah)1-0/+15
Change-Id: I8d746cfae4d64ae200ff0053de23b80ee951c290 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-07-21VPP-123: remove japi (the old Java API)Marek Gradzki20-3921/+3
MANUAL_JAVA flag (used only by the japi) was also removed. Change-Id: Ied21521b2410af1c357afb04cbf9e849632ddc5f Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-07-11VPP-190: support variable length array syntax in request messagesMarek Gradzki1-2/+4
The information is aleardy stored in array.length field, but vpe.api syntax should be uniform. Change-Id: Id84cd95c088281609c70548346cf0e408a6f49ff Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-07-08Remove unnecessary and obsolete configure.ac directivesDamjan Marion2-4/+0
Also enable silent rules where missing Change-Id: Ia521886815c862b013f01df4cc18fd8a298aaaa1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-06VPP-184 - Bad type translation in jvppJan Srnicek1-2/+2
Change-Id: I6dda9eb8d58a2bc9a1e4d6636688dfa1f8bb88c6 Signed-off-by: Jan Srnicek <jan.srnicek@pantheon.tech>
2016-06-27Add support for classify table/session read to jvpp:Marek Gradzki1-23/+107
* provides length information for variable length arrays in classify table/sessione reply messages * provides jvpp example for reading classify tables/sessions Change-Id: I47f8fca5c849ec874d4e23f28177e310689db522 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-06-27More janitorial workDave Barach6-22/+22
Install vpp api header files in /usr/include/vpp-api, instead of /usr/include/api. Someone will eventually complain if we continue with the status quo. Generate /usr/bin/vpp_plugin_configure, to correctly configure standalone plugin compilation against header files installed from the dev package. If a plugin's CFLAGS don't precisely match the installed vpp engine binary, subtle misbehavior can and will occur. Example: the ip4/ip6 main_t structure size / member offsets depend on DPDK=[0|1]. Screw that one up, and your brand-new configurable ip feature will mysteriously fail to appear, even though the plugin loads perfectly. Change-Id: I20c97fe1042808a79935863209d995c31953b98c Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-24VPP-118: add support for variable length arrays to jvppMarek Gradzki3-5/+28
* extends VPP's message definition language with the following syntax: u32 count: u8 array[count]; which is traslated to: u32 count; u8 array[0]; but now, python API representation generated by vppapigen contains information about where the array length is stored. * modifies existing response messages to use the new syntax Change-Id: I68210bc7a3a755d03d067e9b79a567f40e2d31f3 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>