aboutsummaryrefslogtreecommitdiffstats
path: root/src/vpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vpp')
-rw-r--r--src/vpp/api/api_main.c10
-rw-r--r--src/vpp/vnet/main.c6
2 files changed, 16 insertions, 0 deletions
diff --git a/src/vpp/api/api_main.c b/src/vpp/api/api_main.c
index 6ae510b1..7913bc01 100644
--- a/src/vpp/api/api_main.c
+++ b/src/vpp/api/api_main.c
@@ -56,6 +56,16 @@ api_main_init (vlib_main_t * vm)
VLIB_INIT_FUNCTION (api_main_init);
+void
+vat_plugin_hash_create (void)
+{
+ vat_main_t *vam = &vat_main;
+
+ vam->sw_if_index_by_interface_name = hash_create_string (0, sizeof (uword));
+ vam->function_by_name = hash_create_string (0, sizeof (uword));
+ vam->help_by_name = hash_create_string (0, sizeof (uword));
+}
+
static clib_error_t *
api_command_fn (vlib_main_t * vm,
unformat_input_t * input, vlib_cli_command_t * cmd)
diff --git a/src/vpp/vnet/main.c b/src/vpp/vnet/main.c
index 4a96ca94..a566d956 100644
--- a/src/vpp/vnet/main.c
+++ b/src/vpp/vnet/main.c
@@ -25,6 +25,8 @@
static void
vpe_main_init (vlib_main_t * vm)
{
+ void vat_plugin_hash_create (void);
+
if (CLIB_DEBUG > 0)
vlib_unix_cli_set_prompt ("DBGvpp# ");
else
@@ -33,6 +35,10 @@ vpe_main_init (vlib_main_t * vm)
/* Turn off network stack components which we don't want */
vlib_mark_init_function_complete (vm, srp_init);
+ /*
+ * Create the binary api plugin hashes before loading plugins
+ */
+ vat_plugin_hash_create ();
}
/*