X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=extras%2Femacs%2Fplugin-main-skel.el;h=3ea3c123370da45c2b85ef1abd46b9cf42f9680f;hb=refs%2Fchanges%2F98%2F15098%2F5;hp=db1147e75e5035ba724f6c71836ce40475580824;hpb=59b2565cd91a67ced650739f36129650830211ac;p=vpp.git diff --git a/extras/emacs/plugin-main-skel.el b/extras/emacs/plugin-main-skel.el index db1147e75e5..3ea3c123370 100644 --- a/extras/emacs/plugin-main-skel.el +++ b/extras/emacs/plugin-main-skel.el @@ -71,29 +71,10 @@ nil #include <" plugin-name "/" plugin-name "_all_api_h.h> #undef vl_api_version -/* - * A handy macro to set up a message reply. - * Assumes that the following variables are available: - * mp - pointer to request message - * rmp - pointer to reply message type - * rv - return value - */ - -#define REPLY_MACRO(t) \\ -do { \\ - unix_shared_memory_queue_t * q = \\ - vl_api_client_index_to_input_queue (mp->client_index); \\ - if (!q) \\ - return; \\ - \\ - rmp = vl_msg_api_alloc (sizeof (*rmp)); \\ - rmp->_vl_msg_id = ntohs((t)+sm->msg_id_base); \\ - rmp->context = mp->context; \\ - rmp->retval = ntohl(rv); \\ - \\ - vl_msg_api_send_shmem (q, (u8 *)&rmp); \\ -} while(0); +#define REPLY_MSG_ID_BASE sm->msg_id_base +#include +" plugin-name "_main_t " plugin-name "_main; /* List of message types that this plugin understands */ @@ -121,6 +102,11 @@ int " plugin-name "_enable_disable (" plugin-name "_main_t * sm, u32 sw_if_index 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 (sm->vlib_main, " plugin-name"_periodic_node.index, + " PLUGIN-NAME"_EVENT_PERIODIC_ENABLE_DISABLE, + (uword)enable_disable); + return rv; } @@ -234,6 +220,9 @@ static clib_error_t * " plugin-name "_init (vlib_main_t * vm) clib_error_t * error = 0; u8 * name; + sm->vlib_main = vm; + sm->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 */ @@ -265,6 +254,7 @@ VNET_FEATURE_INIT (" plugin-name ", static) = VLIB_PLUGIN_REGISTER () = { .version = VPP_BUILD_VER, + .description = \"" plugin-name " plugin description goes here\", }; /* *INDENT-ON* */