22 Commits

Author SHA1 Message Date
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
b7e2f3d312 Update sample plugin and plugin skeletons: use driver feature arc
Change-Id: Ic0a1479e4a0408a4b93f47e50752d07c2bdccdde
Signed-off-by: Dave Barach <dave@barachs.net>
2016-11-09 11:36:02 +00:00
c1be59d3eb VPP-237: Bracket VL_API_PACKED(...) macros, which indent mangles
Change-Id: I208be749350ddb093ecfae149d420f580846c52a
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-08-12 18:22:47 +00:00
75f6904e25 Bracket CLIB_PACKED(...) macros, which indent mangles
Change-Id: I39722d7b778e6e0dc5a2d12d005c102845159116
Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-12 16:02:31 +00:00
2bc547cc17 Don't re-add *INDENT-OFF* ... *INDENT-ON* tags
Change-Id: Ifd2249c0152805e7b23c4629acce31634dca6f04
Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-11 16:44:48 +00:00
ba868bb789 VPP-311 Coding standards cleanup for vnet/vnet/*.[ch]
Change-Id: I08ed983f594072bc8c72202e77205a7789eea599
Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-08 15:25:14 +00:00
5f3ca64a62 VPP-243 - Coding style changes - updated emacs LISP styleify
Change-Id: I46ae6badcccd14c0e34f1a19187749980baba3ac
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-07 16:13:27 +00:00
a8d77eda73 VPP-237 Coding standards cleanup
Change-Id: I239143f920285050ad85244ece6893236195534f
Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-05 18:10:06 -04:00
114e8a91a0 Update coding style for hash_foreach_mem
Change-Id: I2f336331463cedb2703150b003761e5c6e4431e8
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-04 17:06:01 +00:00
987fdfa125 Improve "indent foo.c" prep script
Change-Id: Ibb569b745954a11fb9c7751ad2d4140b922478fe
Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-18 07:47:13 +00:00
8a7fb0cf68 fd-io-styleify for svm
Change-Id: I816de8b1f255dc3bc6d2904566ea0b0f68fac5d8
Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-08 14:44:38 -04:00
9b8ffd99fb fd-io-styleify pass
Change-Id: If2d57a213fc2fec996db26df332910c3d2105f97
Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-08 14:18:22 +00:00
952f4f7422 Update emacs plugin skeleton
Change-Id: I52b370abd8b6fec34b8219a274f2de404e072a97
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-08 13:37:58 +00:00
f1213b8277 Add clib_memcpy macro based on DPDK rte_memcpy implementation
Change-Id: I22cb443c4bd0bf298abb6f06e8e4ca65a44a2854
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-22 17:29:47 +02:00
e5389bb053 event logger skeletons, improve debug CLI
Change-Id: Ieb2e4043fc7bc3b4a5436a7a6aa35f573d8d4506
Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-28 17:12:36 -04:00
ca46d8c501 Adminis-trivia - rename skel files
- rename skels so M-x skel-<tab> gives catalog

Change-Id: Ice25a4ce4d02d09e076f0de51e8443cfab20688d
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-03-19 12:41:20 +00:00
334806ccc2 Add VLIB_INIT_FUNCTION() to dual-loop-skel
Change-Id: I4aafad8a3e4c0c57eef1940fac8debfb80bbb137
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2016-03-16 20:07:48 +00:00
526b5e8546 Fix skel files to use <vppinfra/*.h> instead of <clib/*.h> when
including vppinfra header files.

Change-Id: I961c602e0ccd2048fac633b5aeebb8c3cd0899fb
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2016-03-14 09:12:23 +00:00
f5dae765d6 Shell script to run the emacs-skeleton plugin boilerplate generator
Change-Id: I9b4d0faad20e8cad1ab347d3f3f7d2c063e3d495
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-19 15:13:38 -05:00
66cc181e51 Add --with-plugin-toolkit to README, clean up unwanted files
Change-Id: Ib4d1ee94706711939e03704c655ba355a8f82439
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-04 18:22:03 -05:00
b852bfa18b Emacs-lisp scripts to generate complete vpp plugins
Change-Id: Id71147a8d5e30aadfb90dc10ea9468cf36ef23a8
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-04 15:28:11 -05:00
cb9cadad57 Initial commit of vpp code.
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2015-12-08 15:47:27 -07:00