aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--extras/emacs/dual-loop-skel.el9
-rw-r--r--extras/emacs/plugin-main-skel.el39
-rw-r--r--extras/emacs/plugin-test-skel.el13
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);