From 0a32b60cf0ac8362360f0cf0a50ec27103c79f28 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Tue, 28 Nov 2017 18:55:09 -0500 Subject: Configure vat-plugin-path and vat-plugin-name-filter To facilitate in-tree plugin API testing, via the "binary-api..." debug CLI command. Change-Id: If7ee88a6a0dbc8e8f4555cb41e259db24e378a64 Signed-off-by: Dave Barach --- src/vpp/api/plugin.c | 13 +++++++++++++ src/vpp/api/plugin.h | 16 ++++++++++------ 2 files changed, 23 insertions(+), 6 deletions(-) (limited to 'src/vpp') diff --git a/src/vpp/api/plugin.c b/src/vpp/api/plugin.c index c1cc928c217..e8b134173d8 100644 --- a/src/vpp/api/plugin.c +++ b/src/vpp/api/plugin.c @@ -180,9 +180,22 @@ int vat_plugin_init (vat_main_t * vam) { plugin_main_t *pm = &vat_plugin_main; + u8 *vlib_get_vat_plugin_path (void); + u8 *vlib_get_vat_plugin_name_filter (void); + u8 *plugin_path; + u8 *plugin_name_filter; + plugin_path = vlib_get_vat_plugin_path (); + plugin_name_filter = vlib_get_vat_plugin_name_filter (); + + if (plugin_path) + vat_plugin_path = (char *) plugin_path; + + if (plugin_name_filter) + vat_plugin_name_filter = (char *) plugin_name_filter; pm->plugin_path = format (0, "%s%c", vat_plugin_path, 0); + if (vat_plugin_name_filter) pm->plugin_name_filter = format (0, "%s%c", vat_plugin_name_filter, 0); diff --git a/src/vpp/api/plugin.h b/src/vpp/api/plugin.h index c69186287aa..e4f0c646d3b 100644 --- a/src/vpp/api/plugin.h +++ b/src/vpp/api/plugin.h @@ -1,4 +1,6 @@ /* + * plugin.h: plugin handling + * * Copyright (c) 2015 Cisco and/or its affiliates. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -12,9 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* - * plugin.h: plugin handling - */ #ifndef __included_plugin_h__ #define __included_plugin_h__ @@ -36,13 +35,18 @@ typedef struct plugin_info_t *plugin_info; uword *plugin_by_name_hash; - /* path and name filter */ + /* paths and name filters */ u8 *plugin_path; u8 *plugin_name_filter; + u8 *vat_plugin_path; + u8 *vat_plugin_name_filter; - /* convenience */ - vat_main_t *vat_main; + /* plugin configs and hash by name */ + plugin_config_t *configs; + uword *config_index_by_name; + /* usual */ + vlib_main_t *vlib_main; } plugin_main_t; extern plugin_main_t vat_plugin_main; -- cgit 1.2.3-korg