diff options
author | Dave Barach <dave@barachs.net> | 2019-05-28 16:31:05 -0400 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2019-05-29 07:51:19 +0000 |
commit | 11965c7b47670da7d02eb2c543be52008c66848e (patch) | |
tree | a744cc380bf8d91f8aa235b7bbe31f5e5110e600 /extras/emacs/plugin-main-skel.el | |
parent | 4d376f67a6e259e747dbbd4551578657663840f7 (diff) |
Break out the broom for some cleanup work
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>
Diffstat (limited to 'extras/emacs/plugin-main-skel.el')
-rw-r--r-- | extras/emacs/plugin-main-skel.el | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/extras/emacs/plugin-main-skel.el b/extras/emacs/plugin-main-skel.el index 31b258eb11f..873f72da39d 100644 --- a/extras/emacs/plugin-main-skel.el +++ b/extras/emacs/plugin-main-skel.el @@ -100,14 +100,16 @@ int " plugin-name "_enable_disable (" plugin-name "_main_t * " main-p ", u32 sw_ if (sw->type != VNET_SW_INTERFACE_TYPE_HARDWARE) return VNET_API_ERROR_INVALID_SW_IF_INDEX; + " plugin-name "_create_periodic_process (" main-p "); + vnet_feature_enable_disable (\"device-input\", \"" plugin-name "\", sw_if_index, enable_disable, 0, 0); /* Send an event to enable/disable the periodic scanner process */ - vlib_process_signal_event (" main-p "->vlib_main, " plugin-name"_periodic_node.index, - " PLUGIN-NAME"_EVENT_PERIODIC_ENABLE_DISABLE, + vlib_process_signal_event (" main-p "->vlib_main, + " main-p"->periodic_node_index, + " PLUGIN-NAME"_EVENT_PERIODIC_ENABLE_DISABLE, (uword)enable_disable); - return rv; } |