aboutsummaryrefslogtreecommitdiffstats
path: root/vpp-api
AgeCommit message (Collapse)AuthorFilesLines
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>
2016-06-09VPP-119: JVpp notificationsMaros Marsalek21-141/+761
- add notification DTOs to JVpp - add notification callbacks - add notification registry - provide/implement notification registry from future and callback facades Change-Id: I1060ef2ec8ba1eb2e8cff279c93b73aa7c9f9aee Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-06-09HONEYCOMB-67 Introduce exception handling into JVPPTibor Sirovatka23-127/+529
Send calls throws VppInvocationException on failure Failed requests (negative retval) reported over onError callback interface method Removed retval attributes from dto/xxxReply.java calls Change-Id: Ibd4e90c320d080e02d75b4bd056a7b11c8e37aa7 Signed-off-by: Tibor Sirovatka <tsirovat@cisco.com>
2016-06-08Increase jvpp connection timeoutMaros Marsalek1-2/+2
Change-Id: I4d52c113336deac80dfcbad91b21a7a70eea2213 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-06-07Add u32[] type handling in reply messages to jvppMarek Gradzki1-3/+16
Change-Id: I9fd0cd49e4636d5d8978567fa914487785035c8a Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-05-31Fix u16 type handling in jvppMarek Gradzki3-4/+133
Change-Id: I6e5ed2562c65dde6c9f6f085c8b9d40f80684894 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-05-24VPP-86: fix array copy in generated JNI codeMarek Gradzki4-22/+169
Change-Id: Ic67b3c0623d98c5ee3f1ffa1e1bd9cfb96b233bd Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-05-23Changed JVPP interface for construction and connectivityTibor Sirovatka10-36/+77
Simplified construction, autoconnected; possible connect/close See updated sample test cases with changed interface usage Change-Id: Ib53e855880bc414868aa2b9bb8f5df086917e375 Signed-off-by: Tibor Sirovatka <tsirovat@cisco.com>
2016-05-17Set java artifact versions to 16.09 for masterEd Warnicke1-1/+1
The nature of Java artifact versioning is different that rpm/apt versioning in that artifacts are traditionally numbered: ${NEXT_RELEASE_NUMBER)-SNAPSHOT This patch sets ${NEXT_RELEASE_NUMBER) correctly for master. Change-Id: Iab34c26c7440d5e04d6d05f46598832e9adf6920 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-12Generate jvpp sources in build-rootMaros Marsalek1-17/+17
+ Fail build when JVpp does not compile Change-Id: I4ad3ffb5d7ff6edaad89de66a9f0bd79a14fb690 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-05-12JVPP - null checks changed to Objects.requireNonNull usageTibor Sirovatka5-35/+20
Review changes incorporated Change-Id: Ia04b62144a0d3643095b518db538c7eb5137c048 Signed-off-by: Tibor Sirovatka <tsirovat@cisco.com>
2016-05-04HONEYCOMB-10: fix issues with FindClass in multithreaded environmentsMarek Gradzki2-25/+70
Added jclass reference caching and updated JNI version to 1.8 Change-Id: Ie8dbbd4b91b90bf9e4e9a6148313e46056b0d67e Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-05-02HONEYCOMB-10: JVpp documentationMaros Marsalek2-0/+214
Change-Id: Ibca8fc8c1962ca36d91898c1523afb2df6dfdc49 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-05-02HONEYCOMB-10: Add specific methods for each request to Future facadeMaros Marsalek4-21/+116
These specific methods remove the need for casting on client side code while using generic send method Change-Id: Ic0240359333831b676a7d205f63ac1c3f3f8af4c Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-05-02HONEYCOMB-10: jVpp - the new java API. C code and jar file generationMarek Gradzki13-33/+986
Added comments generation for C and Java files. Change-Id: Ifb670a5592eb871bfe68804f0a8d8f9b5b14f00a Signed-off-by: Marek Gradzki <mgradzki@cisco.com> Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-02HONEYCOMB-10: jVpp - the new java API. Java code generationMaros Marsalek19-0/+1752
The old japi has two main drawbacks: * it is not fully generated (requres manual coding for every new api call that returns data other thanstatus code) * it is not asynchronous from Java perspective (requires active wait loops - big overhead due to JNI boundary being crossed lots of times). The new api is lightweight (fully generated except for connect, disconenct and ping) and truly asynchronous (uses callbacks, utilities that offer java.util.concurrent.Future interface are also provided). Change-Id: I531080ef651e8a74f19210490c71d161221ab600 Signed-off-by: Marek Gradzki <mgradzki@cisco.com> Signed-off-by: Maros Marsalek <mmarsale@cisco.com> Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-04-28VXLAN over IPv6.Chris Luke3-11/+64
Refactors the VXLAN node to work with both IPv4 and IPv6 transports. There is a discussion thread for this change at https://lists.fd.io/pipermail/vpp-dev/2016-March/000279.html Note that this changes the binary configuration API to support both address families; each address uses the same memory for either address type and a flag to indicate which is in use. This also includes changes to the Java API to support both address families. The CLI and VAT syntax remains unchanged; the code detects whether an IPv4 or an IPv6 address was given. Configuration examples: IPv4 CLI: create vxlan tunnel src 192.168.1.1 dst 192.168.1.2 vni 10 encap-vrf-id 0 decap-next l2 IPv6 CLI: create vxlan tunnel src 2620:124:9000::1 dst 2620:124:9000::2 vni 16 encap-vrf-id 0 decap-next l2 IPv4 VAT: vxlan_add_del_tunnel src 192.168.1.1 dst 192.168.1.2 vni 10 encap-vrf-id 0 decap-next l2 IPv6 VAT: vxlan_add_del_tunnel src 2620:124:9000::1 dst 2620:124:9000::2 vni 16 encap-vrf-id 0 decap-next l2 TODO: The encap path is not as optimal as it could be. Change-Id: I87be8bf0501e0c9cd7e401be4542bb599f1b6e47 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-04-28Python API: Fix mistaken removal of '_' in field names.Ole Troan2-8/+23
Change-Id: I1e39970bc6ded9e6da64385b2289321ba43bebfd Signed-off-by: Ole Troan <ot@cisco.com>
2016-04-26Make automake silent rules defaultDamjan Marion2-2/+2
Change-Id: Ia504ccdac1deac20f20cf7fb76f78b2d8c505474 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-26Fix clang warnings in api codeDamjan Marion1-6/+6
Change-Id: I7a4bc4678fea723c35bbeac1b893c5c52235aa67 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-25Python-API: Python 2 support.Ole Troan2-11/+43
Change-Id: I6bc656caf22e284233e27f9e003f11502f306c11 Signed-off-by: Ole Troan <ot@cisco.com>
2016-04-25Python-API: Support for zero-length arrays from caller to VPP. (Previously ↵Ole Troan1-20/+26
only VPP to caller was supported.) Change-Id: Id660caeb780f3b26cc091467291463980f485178 Signed-off-by: Ole Troan <ot@cisco.com>
2016-04-22Add clib_memcpy macro based on DPDK rte_memcpy implementationDamjan Marion1-5/+5
Change-Id: I22cb443c4bd0bf298abb6f06e8e4ca65a44a2854 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-20Python-API: Inital commit of Python bindings for the VPP API.Ole Troan47-0/+6149
See: https://wiki.fd.io/view/VPP/Python_API Change-Id: If135fc32208c7031787e1935b399d930e0e1ea1f Signed-off-by: Ole Troan <ot@cisco.com>