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>
diff --git a/extras/emacs/plugin-h-skel.el b/extras/emacs/plugin-h-skel.el
index b3fa646..2165510 100644
--- a/extras/emacs/plugin-h-skel.el
+++ b/extras/emacs/plugin-h-skel.el
@@ -24,7 +24,7 @@
'(setq capital-oh-en "ON")
"
/*
- * " plugin-name ".h - skeleton vpp engine plug-in header file
+ * " plugin-name ".h - skeleton vpp engine plug-in header file
*
* Copyright (c) <current-year> <your-organization>
* Licensed under the Apache License, Version 2.0 (the \"License\");
@@ -55,6 +55,8 @@
/* on/off switch for the periodic function */
u8 periodic_timer_enabled;
+ /* Node index, non-zero if the periodic process has been created */
+ u32 periodic_node_index;
/* convenience */
vlib_main_t * vlib_main;
@@ -72,6 +74,8 @@
#define " PLUGIN-NAME "_EVENT2 2
#define " PLUGIN-NAME "_EVENT_PERIODIC_ENABLE_DISABLE 3
+void " plugin-name "_create_periodic_process (" plugin-name "_main_t *);
+
#endif /* __included_" plugin-name "_h__ */
/*