summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2020-11-08 18:04:33 -0800
committerFlorin Coras <florin.coras@gmail.com>2020-11-09 21:19:29 +0000
commit165f3ae9670c98259677155bd04e92fe5830daa7 (patch)
tree90a18c0aa2ddaed3bdaa411b65bd0df424d69663
parent6c10ab22e9ae1b5b2e086d74a5267f0bc33a0c57 (diff)
vcl: remove support for shm api connections
Session layer only supports bapi with socket transport or app socket api attachements. Going forward this will be further restricted to the latter. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ib368cf2ce92bbca192cca977664800879cd4058e
-rw-r--r--src/vcl/vcl_bapi.c53
-rw-r--r--src/vcl/vcl_cfg.c22
-rw-r--r--src/vcl/vcl_private.h3
-rw-r--r--src/vcl/vppcom.h2
4 files changed, 26 insertions, 54 deletions
diff --git a/src/vcl/vcl_bapi.c b/src/vcl/vcl_bapi.c
index 2e17dab6887..06947c620b8 100644
--- a/src/vcl/vcl_bapi.c
+++ b/src/vcl/vcl_bapi.c
@@ -473,47 +473,30 @@ vcl_bapi_connect_to_vpp (void)
vcl_bapi_cleanup ();
vlibapi_set_main (&wrk->bapi_api_ctx);
- vlibapi_set_memory_client_main (&wrk->bapi_shm_ctx);
vcl_bapi_hookup ();
- if (vcl_cfg->vpp_bapi_socket_name)
+ if (!vcl_cfg->vpp_bapi_socket_name)
{
- if (vl_socket_client_connect2 (&wrk->bapi_sock_ctx,
- (char *) vcl_cfg->vpp_bapi_socket_name,
- (char *) wrk_name,
- 0 /* default rx/tx buffer */ ))
- {
- VERR ("app (%s) socket connect failed!", wrk_name);
- rv = VPPCOM_ECONNREFUSED;
- goto error;
- }
-
- if (vl_socket_client_init_shm2 (&wrk->bapi_sock_ctx, 0,
- 1 /* want_pthread */ ))
- {
- VERR ("app (%s) init shm failed!", wrk_name);
- rv = VPPCOM_ECONNREFUSED;
- goto error;
- }
+ rv = VPPCOM_EINVAL;
+ goto error;
}
- else
- {
- if (!vcl_cfg->vpp_bapi_filename)
- vcl_cfg->vpp_bapi_filename = format (0, "/vpe-api%c", 0);
-
- vl_set_memory_root_path ((char *) vcl_cfg->vpp_bapi_chroot);
- VDBG (0, "app (%s) connecting to VPP api (%s)...",
- wrk_name, vcl_cfg->vpp_bapi_filename);
+ if (vl_socket_client_connect2 (&wrk->bapi_sock_ctx,
+ (char *) vcl_cfg->vpp_bapi_socket_name,
+ (char *) wrk_name,
+ 0 /* default rx/tx buffer */ ))
+ {
+ VERR ("app (%s) socket connect failed!", wrk_name);
+ rv = VPPCOM_ECONNREFUSED;
+ goto error;
+ }
- if (vl_client_connect_to_vlib ((char *) vcl_cfg->vpp_bapi_filename,
- (char *) wrk_name,
- vcm->cfg.vpp_api_q_length) < 0)
- {
- VERR ("app (%s) connect failed!", wrk_name);
- rv = VPPCOM_ECONNREFUSED;
- goto error;
- }
+ if (vl_socket_client_init_shm2 (&wrk->bapi_sock_ctx, 0,
+ 1 /* want_pthread */ ))
+ {
+ VERR ("app (%s) init shm failed!", wrk_name);
+ rv = VPPCOM_ECONNREFUSED;
+ goto error;
}
am = vlibapi_get_main ();
diff --git a/src/vcl/vcl_cfg.c b/src/vcl/vcl_cfg.c
index 3fdda9cd604..5fea1db0a86 100644
--- a/src/vcl/vcl_cfg.c
+++ b/src/vcl/vcl_cfg.c
@@ -282,13 +282,6 @@ vppcom_cfg_read_file (char *conf_fname)
VCFG_DBG (0, "VCL<%d>: configured max-workers %u", getpid (),
vcl_cfg->max_workers);
}
- else if (unformat (line_input, "api-prefix %s",
- &vcl_cfg->vpp_bapi_chroot))
- {
- vec_terminate_c_string (vcl_cfg->vpp_bapi_chroot);
- VCFG_DBG (0, "VCL<%d>: configured api-prefix (%s) ", getpid (),
- vcl_cfg->vpp_bapi_chroot);
- }
else if (unformat (line_input, "api-socket-name %s",
&vcl_cfg->vpp_bapi_socket_name))
{
@@ -571,14 +564,6 @@ vppcom_cfg (vppcom_cfg_t * vcl_cfg)
/* Regrab cfg after heap initialization */
vcl_cfg = &vcm->cfg;
- env_var_str = getenv (VPPCOM_ENV_API_PREFIX);
- if (env_var_str)
- {
- vcl_cfg->vpp_bapi_chroot = format (0, "%s", env_var_str);
- vec_terminate_c_string (vcl_cfg->vpp_bapi_chroot);
- VCFG_DBG (0, "VCL<%d>: configured api prefix (%s) from "
- VPPCOM_ENV_API_PREFIX "!", getpid (), env_var_str);
- }
env_var_str = getenv (VPPCOM_ENV_APP_NAMESPACE_ID);
if (env_var_str)
{
@@ -645,6 +630,13 @@ vppcom_cfg (vppcom_cfg_t * vcl_cfg)
VCFG_DBG (0, "VCL<%d>: configured api-socket-name (%s)", getpid (),
vcl_cfg->vpp_bapi_socket_name);
}
+ env_var_str = getenv (VPPCOM_ENV_VPP_SAPI_SOCKET);
+ if (env_var_str)
+ {
+ vcm->cfg.vpp_app_socket_api = format (0, "%s%c", env_var_str, 0);
+ VCFG_DBG (0, "VCL<%d>: configured app-socket-api (%s)", getpid (),
+ vcl_cfg->vpp_app_socket_api);
+ }
}
/*
diff --git a/src/vcl/vcl_private.h b/src/vcl/vcl_private.h
index 647532da401..202c3e75490 100644
--- a/src/vcl/vcl_private.h
+++ b/src/vcl/vcl_private.h
@@ -197,9 +197,7 @@ typedef struct vppcom_cfg_t_
u32 event_ring_size;
char *event_log_path;
u8 *vpp_app_socket_api; /**< app socket api socket file name */
- u8 *vpp_bapi_filename; /**< bapi shm transport file name */
u8 *vpp_bapi_socket_name; /**< bapi socket transport socket name */
- u8 *vpp_bapi_chroot;
u32 tls_engine;
u8 mt_wrk_supported;
} vppcom_cfg_t;
@@ -290,7 +288,6 @@ typedef struct vcl_worker_
clib_socket_t app_api_sock;
socket_client_main_t bapi_sock_ctx;
- memory_client_main_t bapi_shm_ctx;
api_main_t bapi_api_ctx;
/** vcl needs next epoll_create to go to libc_epoll */
diff --git a/src/vcl/vppcom.h b/src/vcl/vppcom.h
index f4386682a1b..09303008870 100644
--- a/src/vcl/vppcom.h
+++ b/src/vcl/vppcom.h
@@ -36,7 +36,6 @@ extern "C"
#define VPPCOM_CONF_DEFAULT "/etc/vpp/vcl.conf"
#define VPPCOM_ENV_CONF "VCL_CONFIG"
#define VPPCOM_ENV_DEBUG "VCL_DEBUG"
-#define VPPCOM_ENV_API_PREFIX "VCL_API_PREFIX"
#define VPPCOM_ENV_APP_PROXY_TRANSPORT_TCP "VCL_APP_PROXY_TRANSPORT_TCP"
#define VPPCOM_ENV_APP_PROXY_TRANSPORT_UDP "VCL_APP_PROXY_TRANSPORT_UDP"
#define VPPCOM_ENV_APP_NAMESPACE_ID "VCL_APP_NAMESPACE_ID"
@@ -44,6 +43,7 @@ extern "C"
#define VPPCOM_ENV_APP_SCOPE_LOCAL "VCL_APP_SCOPE_LOCAL"
#define VPPCOM_ENV_APP_SCOPE_GLOBAL "VCL_APP_SCOPE_GLOBAL"
#define VPPCOM_ENV_VPP_API_SOCKET "VCL_VPP_API_SOCKET"
+#define VPPCOM_ENV_VPP_SAPI_SOCKET "VCL_VPP_SAPI_SOCKET"
typedef enum
{