Commit Graph

107 Commits

Author SHA1 Message Date
Damjan Marion
207a322dea api: save some typing when adding new api files
Change-Id: Ia994b723eafe8ab41c1c3031a7f7cd1853554128
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-22 21:32:50 +00:00
Pavel Kotucek
abea966498 API refactoring : lisp-gpe
Change-Id: I47b38a9b5ae8ead2a161402974205982669851a7
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-22 16:33:14 +00:00
Pavel Kotucek
cfb7be8878 API refactoring : lisp
Change-Id: Ia1ebd03e5d55e5b20f244158366b9de15b1baae1
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-22 16:33:14 +00:00
Pavel Kotucek
56f32cc3a7 API refactoring : ipsec-gre
Change-Id: I984c6f2c5aaeeef98aadd5a66159cac046a86586
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-22 16:33:14 +00:00
Pavel Kotucek
9c7ef0309b API refactoring : ipsec
Change-Id: Ice5bc725c619412e3b6cd1f56e225c6bf33104df
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-22 16:33:14 +00:00
Pavel Kotucek
20d1232532 API refactoring : bfd
Change-Id: Ifbf9b491a1d3906fd4dd4256dcaba976511657be
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-22 07:50:00 +01:00
Pavel Kotucek
c4d1cf7607 API refactoring : l2tp
Change-Id: I30d2785ceaf304b245192f9bce60e37e9da69023
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-21 22:47:32 +00:00
Pavel Kotucek
1099b0db45 API refactoring : gre
Change-Id: Idea10d6ba4139fdcb4f16300a06c2b30ef339b3c
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-21 23:45:36 +01:00
Pavel Kotucek
296b20162a API refactoring : vxlan-gpe
Change-Id: Ia31de797e0ff79ceff010b496af30f5196de9fd6
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-21 22:37:35 +01:00
Pavel Kotucek
f07dc9e236 API refactoring : vhost_user
Change-Id: I8813d5500973079d582e0bb5f8c2052f8f31c5c7
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-21 22:23:37 +01:00
Pavel Kotucek
8b2b794ae9 API refactoring : netmap
Change-Id: I0e1ba784b09c00d2ae5ea51128dcba09d06f8766
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-21 22:20:14 +01:00
Pavel Kotucek
bbe3362948 API refactoring : af_packet
Change-Id: Id912ca655583a419b52d4904d6c54dac1f1b26ac
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-21 22:13:49 +01:00
Pavel Kotucek
adb13d69ad API refactoring : vxlan
Change-Id: Ied105d738ba3625086359b267db0390be842b7bc
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-12-21 18:53:31 +00:00
Damjan Marion
2e70d8b31d Bump to 17.04 release
Change-Id: I94078dbb35491b4fa36f3a1d60e0ab82b542ebd9
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-12-21 19:13:57 +01:00
Marek Gradzki
4348c85b3d Fix coverity issues
Change-Id: I7707a42321df2c73e5414926d4000f8672ecfaf3
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-21 17:50:03 +00:00
Marek Gradzki
1b5ea88e1f Add missing variable definitions to java VPP API
Change-Id: I121b26f4d566417e7cb5ee1a021896dd7dc5599e
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-21 17:37:40 +00:00
Ole Troan
85bdafacbd Python API: Incorrect error for empty VLA list.
Change-Id: Ie3e9a54ca23af6b9ee43615f59a48cb05e3906d4
Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-21 17:05:05 +00:00
Juraj Sloboda
fcfb3917f7 Add missing variable definitions to python VPP API
Change-Id: I03eee75fb8575ced6f126fa32c778850a570f0ea
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-12-20 13:23:13 +00:00
Damjan Marion
6a7acc2f9a Declare variables as external
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-20 10:23:44 +00:00
Ole Troan
f5984bde04 Python API: Add back support for old-style VLA, e.g. mask[0]
Change-Id: I5be6bfe522e5ea93934f0ddf75d4e4707376dc0c
Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-19 21:38:35 +00:00
Marek Gradzki
d4cfe15965 Fix NPE in JNI while handling int arrays, VPP-559
Change-Id: Idc3760b65e62cfa5d37dd7379e35331b7f95f913
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-15 07:38:08 +01:00
Christophe Fontaine
04f4b78ce2 vpp_papi: Add help() support for python interactive mode
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-13 16:24:21 +00:00
Wojciech Dec
64bc612d4c Fix for PAPI async call registration
Introduce async API call registration

Change-Id: Iccc89eca1b6e7dcce96a8e7bc5da80d9abc363fc
Signed-off-by: Wojciech Dec <wdec@cisco.com>
2016-12-12 11:37:15 +01:00
Andrew Yourtchenko
b868e4ea38 Adapt LuaJIT VPP library and a few examples to API with per-message CRC and JSON
Change-Id: Ibb886e418d338588e61c7bb6cb57f2093c7c5062
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-12-08 17:15:18 +00:00
Marek Gradzki
38bcb56e99 Make jvpp connection fail if control ping fails
Change-Id: Ib57cf97514fb6831f41930d9492e92ad11a3730d
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-07 17:20:02 +00:00
Dave Barach
496e127c58 Refactor tap binary APIs, VPP-550
Change-Id: I1599b3659411b5f4451c364cc5ada63cfa8e0a6b
Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-07 16:20:49 +00:00
Jan Srnicek
32575801c9 Enable Span Jvpp api generation
Change-Id: Ia8c0e8255f9ac5bb7ef1a174ffd933d46b017767
Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
2016-12-07 07:36:40 +01:00
Ole Troan
399ca1ca52 SPAN API: Fix various errors making SPAN break make tests.
- 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-06 23:48:43 +01:00
Ole Troan
7e3a875c94 API: Adapt make test to Python API changes.
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-06 21:17:45 +00:00
Dave Barach
b5e8a771fb Refactor binary APIs for IP, VPP-549
Change-Id: Ieff6b22e2432600a231f74e75716e000d488a78f
Signed-off-by: Dave Barach <dave@barachs.net>
2016-12-06 20:00:57 +00:00
Ole Troan
f0c90e20f7 MAP: Split MAP API out of vpe.api.
Change-Id: I91a612a00ea85a9ddd4233d9aa19a6a4332d9701
Signed-off-by: Ole Troan <ot@cisco.com>
2016-12-06 13:59:10 +00:00
Marek Gradzki
c9097d2060 api: set jvpp version to 17.01
Change-Id: Ib22a3a24f9b290465dc80fc683d903d58ba3804c
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-06 12:09:27 +00:00
Marek Gradzki
6dcda02dd8 Fix l2.api patch in jvpp Makefile
Change-Id: Ic9a494725afde2e3507dda5b42c69680c20f090a
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-05 14:06:35 +00:00
Marek Gradzki
b46227a6df api: enable Java API generation for l2.api (VPP-438)
Change-Id: I867c2f90d812007b874502d2aa60f09e40650941
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-12-05 10:51:58 +00:00
Ole Troan
a03f4efa92 Python API: Support for per message CRC and API split.
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-02 13:35:46 +00:00
Ole Troan
f14e3bf7b2 API: Packaging of JSON files.
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-12-02 09:11:11 +00:00
Marek Gradzki
2fee4c8fad VPP-530: adapt jvpp generation for VPP API splitting
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-30 18:24:38 +00:00
Dave Barach
aff7077d20 Start spliting vpe.api into logically related pieces
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-30 15:06:08 +00:00
Andrew Yourtchenko
985f3d11fa Clean up the Lua API, make it luajit-only, no C
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-28 11:55:34 +00:00
Dave Barach
971158ee7b Fix coverity warnings, VPP-486
Change-Id: Id88805f77642187f304f8baef1f6b447728e4b5b
Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-23 15:19:11 +00:00
Dave Barach
557d128b68 Add client-side msg_name_and_crc -> msg_index table
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-21 18:11:41 +00:00
Andrew Yourtchenko
36806d18e8 Add the Makefile to Lua API which got gitignored and adjust local .gitignore
Change-Id: I87358dc5dddc6964c128283f096d382492af5886
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-11-18 11:56:01 +00:00
Maros Marsalek
94ea8b7ff3 VPP-533 Fix ping race condition in JVpp
Improper synchronization between ping_send and ping_reply_handle

Change-Id: I844c96bc3f5cd750a1c43188d3133c92f8f14e38
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-11-17 10:05:26 +00:00
Maros Marsalek
c0f6cf36a5 VPP-534 Remove references to DTOs created in JVpp
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-17 10:04:55 +00:00
Steven
01b071222d Dump routes (VPP-500)
Change-Id: I86e7382395a8b6471a0deaf57163718d41b71b83
Signed-off-by: Steven <sluong@cisco.com>
2016-11-15 08:13:26 +00:00
Andrew Yourtchenko
fa1456a38d Luajit API and some examples
Change-Id: Ia140c4750f06870c40b7058c4afb2e20ca633a49
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-11-11 18:05:53 +00:00
Maros Marsalek
275b146bc1 Fix longArray type in JVPP generator
Change-Id: I0319b45d2e070ee2e20dcf900477fdaadd072aef
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-11-07 11:37:58 +01:00
Marek Gradzki
bdb1f81937 Fail to register Java API for plugin that was not loaded (VPP-522)
Change-Id: Idb95888ae6fc7a9df197a919e3d3283f915f4a4c
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-11-03 16:42:41 +00:00
Marek Gradzki
74e2efad55 Remove unused jvpp dependency on plugins' control_ping
Change-Id: I6ebb69443e79e60c7ce6afded6a2d3af85048e6e
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-11-03 16:42:03 +00:00
Marek Gradzki
81c7dfc1bb VPP-120: add custom types support to jvpp
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-31 21:42:40 +00:00