diff options
Diffstat (limited to 'extras/emacs')
-rw-r--r-- | extras/emacs/dual-loop-skel.el | 9 | ||||
-rw-r--r-- | extras/emacs/plugin-main-skel.el | 39 | ||||
-rw-r--r-- | extras/emacs/plugin-test-skel.el | 13 |
3 files changed, 32 insertions, 29 deletions
diff --git a/extras/emacs/dual-loop-skel.el b/extras/emacs/dual-loop-skel.el index 97d63e01b38..583a2da52d8 100644 --- a/extras/emacs/dual-loop-skel.el +++ b/extras/emacs/dual-loop-skel.el @@ -20,6 +20,7 @@ nil '(setq node-name (skeleton-read "Node Name: ")) '(setq uc-node-name (upcase node-name)) +'(setq main-p (concat (substring plugin-name 0 1) "mp")) " #include <vlib/vlib.h> #include <vnet/vnet.h> @@ -300,12 +301,12 @@ VLIB_REGISTER_NODE (" node-name "_node) = { clib_error_t *" node-name "_init (vlib_main_t *vm) { - " node-name "_main_t *msm = &" node-name "_main; + " node-name "_main_t *" main-p " = &" node-name "_main; /* $$$$$ Initialize " node-name "_main_t structure here. $$$$$ */ - msm->vlib_main = vm; - msm->vnet_main = vnet_get_main(); - msm->ethernet_main = ethernet_get_main(vm); + " main-p "->vlib_main = vm; + " main-p "->vnet_main = vnet_get_main(); + " main-p "->ethernet_main = ethernet_get_main(vm); return 0; } diff --git a/extras/emacs/plugin-main-skel.el b/extras/emacs/plugin-main-skel.el index 3ea3c123370..14606c639c5 100644 --- a/extras/emacs/plugin-main-skel.el +++ b/extras/emacs/plugin-main-skel.el @@ -22,6 +22,7 @@ nil (setq plugin-name (read-string "Plugin name: "))) '(setq PLUGIN-NAME (upcase plugin-name)) '(setq capital-oh-en "ON") +'(setq main-p (concat (substring plugin-name 0 1) "mp")) "/* * " plugin-name ".c - skeleton vpp engine plug-in * @@ -71,7 +72,7 @@ nil #include <" plugin-name "/" plugin-name "_all_api_h.h> #undef vl_api_version -#define REPLY_MSG_ID_BASE sm->msg_id_base +#define REPLY_MSG_ID_BASE " main-p "->msg_id_base #include <vlibapi/api_helper_macros.h> " plugin-name "_main_t " plugin-name "_main; @@ -83,19 +84,19 @@ _(" PLUGIN-NAME "_ENABLE_DISABLE, " plugin-name "_enable_disable) /* Action function shared between message handler and debug CLI */ -int " plugin-name "_enable_disable (" plugin-name "_main_t * sm, u32 sw_if_index, +int " plugin-name "_enable_disable (" plugin-name "_main_t * " main-p ", u32 sw_if_index, int enable_disable) { vnet_sw_interface_t * sw; int rv = 0; /* Utterly wrong? */ - if (pool_is_free_index (sm->vnet_main->interface_main.sw_interfaces, + if (pool_is_free_index (" main-p "->vnet_main->interface_main.sw_interfaces, sw_if_index)) return VNET_API_ERROR_INVALID_SW_IF_INDEX; /* Not a physical port? */ - sw = vnet_get_sw_interface (sm->vnet_main, sw_if_index); + sw = vnet_get_sw_interface (" main-p "->vnet_main, sw_if_index); if (sw->type != VNET_SW_INTERFACE_TYPE_HARDWARE) return VNET_API_ERROR_INVALID_SW_IF_INDEX; @@ -103,7 +104,7 @@ int " plugin-name "_enable_disable (" plugin-name "_main_t * sm, u32 sw_if_index sw_if_index, enable_disable, 0, 0); /* Send an event to enable/disable the periodic scanner process */ - vlib_process_signal_event (sm->vlib_main, " plugin-name"_periodic_node.index, + vlib_process_signal_event (" main-p "->vlib_main, " plugin-name"_periodic_node.index, " PLUGIN-NAME"_EVENT_PERIODIC_ENABLE_DISABLE, (uword)enable_disable); @@ -115,7 +116,7 @@ static clib_error_t * unformat_input_t * input, vlib_cli_command_t * cmd) { - " plugin-name "_main_t * sm = &" plugin-name "_main; + " plugin-name "_main_t * " main-p " = &" plugin-name "_main; u32 sw_if_index = ~0; int enable_disable = 1; @@ -126,7 +127,7 @@ static clib_error_t * if (unformat (input, \"disable\")) enable_disable = 0; else if (unformat (input, \"%U\", unformat_vnet_sw_interface, - sm->vnet_main, &sw_if_index)) + " main-p "->vnet_main, &sw_if_index)) ; else break; @@ -135,7 +136,7 @@ static clib_error_t * if (sw_if_index == ~0) return clib_error_return (0, \"Please specify an interface...\"); - rv = " plugin-name "_enable_disable (sm, sw_if_index, enable_disable); + rv = " plugin-name "_enable_disable (" main-p ", sw_if_index, enable_disable); switch(rv) { @@ -173,10 +174,10 @@ static void vl_api_" plugin-name "_enable_disable_t_handler (vl_api_" plugin-name "_enable_disable_t * mp) { vl_api_" plugin-name "_enable_disable_reply_t * rmp; - " plugin-name "_main_t * sm = &" plugin-name "_main; + " plugin-name "_main_t * " main-p " = &" plugin-name "_main; int rv; - rv = " plugin-name "_enable_disable (sm, ntohl(mp->sw_if_index), + rv = " plugin-name "_enable_disable (" main-p ", ntohl(mp->sw_if_index), (int) (mp->enable_disable)); REPLY_MACRO(VL_API_" PLUGIN-NAME "_ENABLE_DISABLE_REPLY); @@ -186,9 +187,9 @@ static void vl_api_" plugin-name "_enable_disable_t_handler static clib_error_t * " plugin-name "_plugin_api_hookup (vlib_main_t *vm) { - " plugin-name "_main_t * sm = &" plugin-name "_main; + " plugin-name "_main_t * " main-p " = &" plugin-name "_main; #define _(N,n) \\ - vl_msg_api_set_handlers((VL_API_##N + sm->msg_id_base), \\ + vl_msg_api_set_handlers((VL_API_##N + " main-p "->msg_id_base), \\ #n, \\ vl_api_##n##_t_handler, \\ vl_noop_handler, \\ @@ -206,33 +207,33 @@ static clib_error_t * #undef vl_msg_name_crc_list static void -setup_message_id_table (" plugin-name "_main_t * sm, api_main_t * am) +setup_message_id_table (" plugin-name "_main_t * " main-p ", api_main_t * am) { #define _(id,n,crc) \ - vl_msg_api_add_msg_name_crc (am, #n "_" #crc, id + sm->msg_id_base); + vl_msg_api_add_msg_name_crc (am, #n "_" #crc, id + " main-p "->msg_id_base); foreach_vl_msg_name_crc_" plugin-name" ; #undef _ } static clib_error_t * " plugin-name "_init (vlib_main_t * vm) { - " plugin-name "_main_t * sm = &" plugin-name "_main; + " plugin-name "_main_t * " main-p " = &" plugin-name "_main; clib_error_t * error = 0; u8 * name; - sm->vlib_main = vm; - sm->vnet_main = vnet_get_main(); + " main-p "->vlib_main = vm; + " main-p "->vnet_main = vnet_get_main(); name = format (0, \"" plugin-name "_%08x%c\", api_version, 0); /* Ask for a correctly-sized block of API message decode slots */ - sm->msg_id_base = vl_msg_api_get_msg_ids + " main-p "->msg_id_base = vl_msg_api_get_msg_ids ((char *) name, VL_MSG_FIRST_AVAILABLE); error = " plugin-name "_plugin_api_hookup (vm); /* Add our API messages to the global name_crc hash table */ - setup_message_id_table (sm, &api_main); + setup_message_id_table (" main-p ", &api_main); vec_free(name); diff --git a/extras/emacs/plugin-test-skel.el b/extras/emacs/plugin-test-skel.el index 5928c974c9f..1de1b9861af 100644 --- a/extras/emacs/plugin-test-skel.el +++ b/extras/emacs/plugin-test-skel.el @@ -22,6 +22,7 @@ nil (setq plugin-name (read-string "Plugin name: "))) '(setq PLUGIN-NAME (upcase plugin-name)) '(setq capital-oh-en "ON") +'(setq main-p (concat (substring plugin-name 0 1) "tmp")) "/* * " plugin-name ".c - skeleton vpp-api-test plug-in * @@ -159,10 +160,10 @@ _(" plugin-name "_enable_disable, \"<intfc> [disable]\") static void " plugin-name "_api_hookup (vat_main_t *vam) { - " plugin-name "_test_main_t * sm = &" plugin-name "_test_main; + " plugin-name "_test_main_t * " main-p " = &" plugin-name "_test_main; /* Hook up handlers for replies from the data plane plug-in */ #define _(N,n) \\ - vl_msg_api_set_handlers((VL_API_##N + sm->msg_id_base), \\ + vl_msg_api_set_handlers((VL_API_##N + " main-p "->msg_id_base), \\ #n, \\ vl_api_##n##_t_handler, \\ vl_noop_handler, \\ @@ -185,16 +186,16 @@ static void " plugin-name "_api_hookup (vat_main_t *vam) clib_error_t * vat_plugin_register (vat_main_t *vam) { - " plugin-name "_test_main_t * sm = &" plugin-name "_test_main; + " plugin-name "_test_main_t * " main-p " = &" plugin-name "_test_main; u8 * name; - sm->vat_main = vam; + " main-p "->vat_main = vam; /* Ask the vpp engine for the first assigned message-id */ name = format (0, \"" plugin-name "_%08x%c\", api_version, 0); - sm->msg_id_base = vl_client_get_first_plugin_msg_id ((char *) name); + " main-p "->msg_id_base = vl_client_get_first_plugin_msg_id ((char *) name); - if (sm->msg_id_base != (u16) ~0) + if (" main-p "->msg_id_base != (u16) ~0) " plugin-name "_api_hookup (vam); vec_free(name); |