aboutsummaryrefslogtreecommitdiffstats
path: root/extras/emacs
AgeCommit message (Collapse)AuthorFilesLines
2019-07-10emacs: update the vat plugin generatorDave Barach1-17/+1
Use the VAT_PLUGIN_REGISTER macro. Type: refactor Change-Id: I5ab9f311028c07a37a40cc1328d9724f852783ee Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-29emacs-skeleton: improve generated .api filesDave Barach3-29/+58
Type cleanups: s/u8/bool/ for "enable_disable" s/u32/vl_api_interface_index_t/ for "sw_if_index" Add an API version stamp. Add a doxygen tag for the binary API. Add Apache-2 licence text. Change-Id: I2fa168336efb0f1d9b9b6dec945589cbc5fd5595 Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-29Break out the broom for some cleanup workDave Barach3-17/+27
Maintain the MAINTAINERS file. Removed src/plugins/*.am listings. Added a couple of plugins. Add vlib_process_create (vlib_main_t *vm, char *name, vlib_node_function_t *f, u32 log2_n_stack_bytes); /** @brief Create a vlib process * @param vm &vlib_global_main * @param f the process node function * @param log2_n_stack_bytes size of the process stack, defaults to 16K * @return newly-create node index * @warning call only on the main thread. Barrier sync required. */ This function makes it easy to spin up periodic processes when features are enabled for the first time. That coding pattern is highly recommended. Update the emacs-lisp plugin generator to use vlib_process_create, instead of generating static periodic process nodes. Change-Id: Icda33e93b9034779d3a3e228cd1110af14b058a5 Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-18emacs-lisp: add missing '\' in templateDave Barach1-8/+7
Fixes the generated setup_message_id_table(...) implementation. Without a level of quoting in the emacs lisp skeleton, the underscore macro used to generate calls to vl_msg_api_add_msg_name_crc produces "fooCRC" instead of "foo_CRC". That confuses the Python language binding. Punctuation saves lives: "Let's eat Grandma" vs. "Let's eat, Grandma." Or some such. Change-Id: Ibecc20337092199d6757165ac96b70c830511bb3 Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-31EMACS-LISP-ONLY: fix names of xxx_main_t pointersDave Barach3-29/+32
main_t pointer: <first-letter-of-plugin-name> + "mp" test_main_t pointer: <first-letter-of-plugin-name> + "mp" AKA: (setq main-p (concat (substring plugin-name 0 1) "mp")) etc. Change-Id: Ie1b38fb62485183bbe00f649683492aa82a21376 Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-31EMACS-LISP-ONLY: fix boilerplate compile errorDave Barach1-3/+3
Change-Id: I81defe6465219e23a44608fcf0570a058ab3f59e Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-03LISP ONLY: maintain the make-plugin.sh scriptDave Barach1-3/+14
Make sure it's invoked in .../src/plugins Change-Id: I85a05dbd863f3254c017962f635d505482548979 Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-03LISP ONLY: maintain the emacs lisp plugin generatorDave Barach8-98/+70
Add a generator for CMakeLists.txt, remove autotools input generator. Add missing extern declarations for node registrations in <plugin-name>.h. Remove extern from the <plugin-name>_main_t declaration in <plugin-name>.c, so it won't come up undefined at runtime. Reposition forward node declaration relative to CLIB_MARCH_VARIANT conditional, to avoid multiple definition / "<plugin-name>_node changed size from X to Y" warnings. Change-Id: I8cc00bca5c40fa3ea00549411a3a9027f97a4826 Signed-off-by: Dave Barach <dave@barachs.net>
2018-08-11emacs skeletons: add quad/single, avx2/avx512 supportDave Barach6-6/+329
Change-Id: Ib8095ad69620308d6199ab030a754ee45f92e59b Signed-off-by: Dave Barach <dave@barachs.net>
2018-05-01Add plugin periodic function elisp skeletonDave Barach7-1/+158
Change-Id: Ide4e2d2a06dff20c94ae5436ba6361b246052867 Signed-off-by: Dave Barach <dave@barachs.net>
2018-04-03Fix bugs in emacs plugin templatesDave Barach2-22/+17
use api_helper_macros.h declare plugin_main_t external in the header file declare plugin_main_t instance in plugin.c setup main_t->vlib_main, main_t->vnet_main in the init routine Change-Id: Ib8c742a60c63adfe9724447e1a2acc8c7723e90c Signed-off-by: Dave Barach <dave@barachs.net>
2018-03-12License text cleanupDave Barach17-0/+222
Change-Id: I105375c653b1a1dce8f0f71005b281ff137c6f42 Signed-off-by: Dave Barach <dave@barachs.net>
2017-10-03Repair vlib API socket serverDave Barach2-2/+0
- Teach vpp_api_test to send/receive API messages over sockets - Add memfd-based shared memory - Add api messages to create memfd-based shared memory segments - vpp_api_test supports both socket and shared memory segment connections - vpp_api_test pivot from socket to shared memory API messaging - add socket client support to libvlibclient.so - dead client reaper sends ping messages, container-friendly - dead client reaper falls back to kill (<pid>, 0) live checking if e.g. a python app goes silent for tens of seconds - handle ping messages in python client support code - teach show api ring about pairwise shared-memory segments - fix ip probing of already resolved destinations (VPP-998) We'll need this work to implement proper host-stack client isolation Change-Id: Ic23b65f75c854d0393d9a2e9d6b122a9551be769 Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-04-24Move emacs stuff to extras/Damjan Marion26-0/+3250
Change-Id: Ibbb7d8500e9064215cf912bd00bdf72a748f8a27 Signed-off-by: Damjan Marion <damarion@cisco.com>